From fbf3132ad05768d23131064dcbe31c0d61642bc3 Mon Sep 17 00:00:00 2001 From: harrisonoconnorhover <130776285+harrisonoconnorhover@users.noreply.github.com> Date: Thu, 15 Oct 2026 20:26:13 -0400 Subject: [PATCH] fix: add poster page presets (#1091) --- ROADMAP.md | 4 +++- crates/doc/src/build.rs | 3 +++ crates/ui-egui/src/panels/properties.rs | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index d60a6bf49..907192662 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -214,7 +214,7 @@ same references), and from the app's JSON control channel. See [docs/agents.md]( | # | Milestone | State | **Stage: pre-alpha** · next: alpha, ~0% and ~15–25 h away; beta ~28 points and ~420–750 h beyond that (the core-workflow gate, not the percentage: ready for real work is already ~47%) -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-12 · **Change:** minor (text threads by hand; the alpha gate waits on Primary Text Frame page fixes) · **Target:** Adobe InDesign 2026 +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-15 · **Change:** minor (A0, A1 and A2 poster presets) · **Target:** Adobe InDesign 2026 > **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-13 · **Change:** minor (parent canvas refresh) · **Target:** Adobe InDesign 2026 > **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-13 · **Change:** minor (bounded control click/drag input) · **Target:** Adobe InDesign 2026 > **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-12 · **Change:** minor (text stroke behind fill) · **Target:** Adobe InDesign 2026 @@ -343,6 +343,8 @@ list) · [roadmap.md](docs/roadmap.md) (milestones, plan) · [parity-checklist.m ## Progress log +- **2026-10-15** · A0, A1 and A2 poster presets are available in New Document, Document Setup, Properties, the Page tool and the Pages panel's size menu, as well as `file.new` and `layout.pageSize`. No readiness percentage change. + - **2026-10-13** · Switching between document and parent pages refreshes the canvas immediately, preventing black parent pages and stale document objects when the zoom stays the same. Ordinary edits retain partial repainting. No readiness percentage change. Newest first. diff --git a/crates/doc/src/build.rs b/crates/doc/src/build.rs index 9fb075553..1c84ea711 100644 --- a/crates/doc/src/build.rs +++ b/crates/doc/src/build.rs @@ -31,6 +31,9 @@ pub const PRESETS: &[Preset] = &[ Preset { name: "Legal", intent: Intent::Print, width: 612.0, height: 1008.0, units: Unit::Picas }, Preset { name: "Tabloid", intent: Intent::Print, width: 792.0, height: 1224.0, units: Unit::Picas }, Preset { name: "Letter - Half", intent: Intent::Print, width: 396.0, height: 612.0, units: Unit::Picas }, + Preset { name: "A0", intent: Intent::Print, width: 841.0 * MM, height: 1189.0 * MM, units: Unit::Millimeters }, + Preset { name: "A1", intent: Intent::Print, width: 594.0 * MM, height: 841.0 * MM, units: Unit::Millimeters }, + Preset { name: "A2", intent: Intent::Print, width: 420.0 * MM, height: 594.0 * MM, units: Unit::Millimeters }, Preset { name: "A3", intent: Intent::Print, width: 297.0 * MM, height: 420.0 * MM, units: Unit::Millimeters }, Preset { name: "A4", intent: Intent::Print, width: 210.0 * MM, height: 297.0 * MM, units: Unit::Millimeters }, Preset { name: "A5", intent: Intent::Print, width: 148.0 * MM, height: 210.0 * MM, units: Unit::Millimeters }, diff --git a/crates/ui-egui/src/panels/properties.rs b/crates/ui-egui/src/panels/properties.rs index 52ce7e688..e4a28dd7b 100644 --- a/crates/ui-egui/src/panels/properties.rs +++ b/crates/ui-egui/src/panels/properties.rs @@ -3,8 +3,8 @@ //! single-purpose panels (Stroke, Character, Paragraph, Text Wrap, Align, Links, Info). use designcraft_doc::{Align, Arrowhead, Cap, Join, StrokeAlign, StrokeType}; -use designcraft_geom::Unit; use designcraft_geom::corners::CornerShape; +use designcraft_geom::{Unit, units}; use egui::{Rect, Sense, Stroke, StrokeKind, Ui, pos2, vec2}; use serde_json::{Value, json}; @@ -177,6 +177,9 @@ pub(crate) const PAGE_PRESETS: &[(&str, f64, f64)] = &[ ("Tabloid", 792.0, 1224.0), ("Letter - Half", 396.0, 612.0), ("Legal - Half", 504.0, 612.0), + ("A0", 841.0 * units::PT_PER_MM, 1189.0 * units::PT_PER_MM), + ("A1", 594.0 * units::PT_PER_MM, 841.0 * units::PT_PER_MM), + ("A2", 420.0 * units::PT_PER_MM, 594.0 * units::PT_PER_MM), ("A3", 841.89, 1190.55), ("A4", 595.276, 841.89), ("A5", 419.528, 595.276),