typograph-editor-documentation
    Preparing search index...

    Release Notes - Version 1.0.0-20261022

    • Corner knobs on image frames (TYP-955). A selected image frame has the same corner knobs as a rounded rectangle: drag one inward to round all four corners of the frame, and hold Option or Cmd to round only that corner. The picture is clipped to the rounded frame, the Corners panel follows, and a drag is one undo step. The knobs are not shown while you are editing the picture inside the frame (its own handles sit at those corners), and not on a frame shaped by a path, such as a converted InDesign frame that is not a plain rectangle — rounding has no effect there.
    • Kept-together pages show in brackets in the page bar (TYP-956). A spread whose pages are kept together (Page ▸ Keep pages together) now shows its pages as [ 2-3 ] instead of 2 - 3, so a block that moves and prints as one reads as one.
    • Resizing a rotated or sheared element keeps its opposite corner in place (TYP-904). Dragging a handle of a rotated or sheared frame moved the corner opposite it, and the handle did not stay under the pointer. Now the opposite handle stays where it is on the page and the dragged one follows the pointer, whatever the rotation, shear or flip — as in InDesign. Unrotated, unsheared frames resize exactly as before. Snapping is off for sheared frames too, when resizing and when moving, as it was for rotated ones: their edges are not the lines it compares.
    • A host's manifest now recolours the document (TYP-962). The colours in a manifest passed through host.manifest_data or host.manifest were ignored: the document opened with the swatches it was saved with, so a theme that redefined COLOR_4 — another colour, or a linear gradient made radial — changed nothing. They are now merged by uuid like the fonts, and everything filled with that swatch follows.
    • canvas: the corner knob arithmetic moved out of PageElementRoundedRect into shared functions (corner_knob_points, corner_knob_hit, corner_knob_drag, corner_radius_set, corner_knobs_draw). The rounded rectangle keeps its methods, which delegate; PageElementImage has the same five (corner_knobs, corner_knob_at, drag_corner_knob, set_corner_radius, draw_corner_knobs) plus corner_knobs_offered(), which is false while show_image_handles is on or native_paths is set. An image's linked native_radius now survives a copy (undo, redo, duplicate) and a reload; it was reset to 0. Browser suite run_corner_knobs_tests(): 30 (14 for the image).
    • editor-ui cornerknob.ts: corner_knob_under() offers the knobs on a selected roundedrect or image; the mouse manager's step 2.6 is unchanged.
    • canvas pagebar.ts: page_badge_text(flat0, n, record_index, kept_together) decides a row's number; a spread with allow_page_shuffle === false and more than one page shows its range in brackets. Tests: tests/page_badge_text.test.ts.
    • canvas try_resize() (TYP-904): for an element whose handles are transformed, the pointer offset is taken into the box's own axes (the inverse of handle_transform()'s linear part), resize_n() resizes the plain box, and the element is then moved (move_native()) so the handle opposite the dragged one is drawn where it was when the drag started. The previous mousemove's move is undone first, so a freely placed picture is not moved again on every mousemove. Size limits get the element-space offsets. Browser suite run_transformed_resize_tests(): 74. editor-ui resizesnap.ts and the move's snapping (moveelementhandler.ts) stand aside on handles_are_transformed() instead of a rotation alone.
    • editor-ui hostmanifest.ts (TYP-962): as_manifest_data() passes swatches to set_manifest_data() beside images and fonts; so does the Images panel's PHP fallback. A runtime set_manifest_data({swatches}) already worked. The PDF still prints the template's saved swatches, not the job manifest's: document-generator's half of TYP-962.
    • Canvas pin bad503a (from 41ac947): canvas #199 (TYP-955, image corner knobs), #200 (TYP-956, kept-together page numbers) and #202 (TYP-904, transformed resize).