typograph-editor-documentation
    Preparing search index...

    Release Notes - Version 1.0.0-20261016.3

    A point release after 20261016.2: a page's own user_data stays on its page when a spread is saved as single pages, and POD settings can replace a font family with a theme's font.

    • Saving as single pages keeps each page's own user_data on the page. 20261016.2 kept a page's data through facing pages, but a save as single pages (single_pages, and save mode single_pages_keep_together) moved it to the page's new spread and left the page itself without it. A host that reads user_data from the pages got none on any page of a spread that was split, while single pages and spreads kept together had theirs. Each page now carries its own data on itself as well as on its spread. Data a page states as its own also stays its own when it is the same as its spread's.
    • Replace fonts in POD settings. A theme can have fewer font slots than a document has font families, and a font handle belongs to one family. The new Replace fonts column has one row per font family the text uses. Each row offers every font that is loaded, with a theme's font shown under its handle ("Helvetica Neue Std ยท FONT_4"). Choosing one sets that family's text in the chosen font, which also takes the font's handle. Several families can go to the same font, for example Georgia, Helvetica Neue and Lato all to a theme's FONT_4. A theme's fonts are in the list only after the document has been opened with that theme's manifest and the font files have loaded. The dialog is wider for its three columns, and each list scrolls.
    • TYP-922 (canvas fix/TYP-922-record-user-data): copy_user_data_to() gives the new single-page spread the page's own data at both levels, the spread's user_data and the page record's. absorb_page() keeps data a page stated as its own even when it equals the container's, as page_fills does. Browser suite run_page_user_data_tests(), now with the record-level case opened through the loader and saved with true and 'keep_together'.
    • TYP-923 (editor-ui feat/TYP-923-replace-fonts): the Replace fonts column of PodSettingsDialog. The rules are in fonthandles.ts: replacement_targets() lists the loaded fonts with a uuid, a theme handle first; replacement_source() picks the uuid to replace from, never the default sentinel; and plan_replacements() builds the substitute_font() calls. OK runs them before the handles are assigned. A row whose target family is itself being replaced in the same OK is refused, because the calls would chain through the uuid. A handle typed for a family that was replaced is reported, not dropped. Vitest fonthandles.test.ts.
    • No schema change: document-schema Page.userData and the services' bumps shipped with 20261016.2.
    • Canvas pin 661b89e: TYP-922 (PR #191), on top of 6150b41. canvas-service pins the same commit.