The template document names its keys by one convention; the editor follows it.
Saved templates use the new key names. A template the editor saves now names its keys by
the platform's naming convention: story (was story_data), is_locked, is_hidden,
has_shadow, overflow with previous_element_uuid / next_element_uuid, fill_tint (was
fill_tint_value), native_stroke_width (was native_border_size), a spread's name (was
page_name), the element type circle (was circel), and the rest of the rename map. A template
saved before still opens as it was: every old name is read. A host that reads the template JSON
itself reads the new names from now on.
Role limits are move.horizontal / move.vertical and resize.lock_aspect_ratio (were
move.dx / move.dy and resize.aspect_lock), in the document and in the role library kept in
this browser; a role kept before is read with its old names.
Editors that read the room differently never edit together. The editor declares its
collaboration protocol on the collaboration URL (?protocol=2), and collab-service refuses an
editor from before this release: a window still open on it reports denied, edits alone and saves
itself, until the page is reloaded. Deploy collab-service before releasing this editor.
Nothing changes in the API hosts use: events and their payloads (the typograph_page_* events
keep page_name), window.typograph, gEditorUI, the menu ids and the embed options stay as
they were, and so does the asset shape hosts hand the canvas (web_url).
docs/planning/naming-convention-rename.md in the dev-environment:
overflow chains, table alternating fills (alternating_row_*, alternating_column_*), text
frame settings (native_auto_leading, native_column_gap, native_min_characters_*,
native_text_stroke_width, pod_text_style), corner radii (native_radii), line end points
(native_start_point / native_end_point), saved_paths, layer_info.is_open, guides'
is_visible, spreads' is_locked / is_cover, fonts' is_active, gradient samples'
position, brand colours' hex, a swatch's tint, and the element counter index, which the
collaboration sync leaves out of the room as it did id. Decoration colours in run overrides are
underline_swatch_uuid / strikethrough_swatch_uuid.native_border_size → native_stroke_width) and the role library's limits.image_id (was key) from its asset id.COLLABORATION_PROTOCOL (2) in src/collaboration.ts, with collab-service's MIN_PROTOCOL: raise
both when the keys of the shared document, the awareness states or the change messages change
shape.