Commit Graph

  • 2f55c3471c M4.4: page boxes and duplicate: organize set_page_box (crop/trim/bleed/art/media by margins or rect, defaults and inheritance handled, all-or-nothing validation) and duplicate_pages; engine SetPageBox/DuplicatePages; Set Page Boxes dialog (units, page range, preview), Crop tool (drag to crop, double-click for the dialog), Duplicate pages command; tools page_set_box/page_duplicate (40 tools); dialog controls are outlined (radios, combos and number fields were invisible); catalog Page labels points at Number pages Brandon ThomasandClaude Opus 5.5 2026-10-01 22:48:13 -04:00
  • 67ff9303c8 M6.1/M6.2: form filling: new fonts (L2) and forms (L3) crates; field tree with inheritance, widgets, options; set_value with validation and regenerated appearances (auto-size, comb, multiline, password, quadding, /MK, combo, list selection), check/radio states (own AP when missing), reset to /DV; engine SetFieldValue/ResetForm with fill-forms permission; UI in-place editor (Enter/click-away commit, Escape, Tab with select-all), check/radio toggle, choice popup, Clear form; tools form_fields/form_fill/form_reset. Perf: named destinations indexed once (190 MB manual opens in 1.8 s instead of 172 s); comment and form edits refresh view data from the object graph instead of a full re-inspection (6x faster per edit on large files; equivalence-tested). annot uses the shared fonts helpers. Docs, parity, roadmap. Brandon ThomasandClaude Opus 5.5 2026-10-01 22:37:35 -04:00
  • ff641c669e M8.1: Protect Using Password: engine Protect/RemoveProtection edits (Acrobat permission levels: printing, changes, copy, screen readers; AES-256/AES-128/RC4 compatibility; encrypt-except-metadata), per-state passwords on the undo stack, owner rights kept after saving, pending security in Document Properties; dialog matching Acrobat's (Viewing/Editing, strength meter, Advanced Options), protect.password/protect.remove commands; doc_protect/doc_unprotect tools (passwords never echoed). Fixes: saving a password-protected document failed to rebase on the encrypted file; DocInfo.encrypted was false for every decrypted file Brandon ThomasandClaude Opus 5.5 2026-10-01 21:55:00 -04:00
  • 54e288c5fe M5.3/M5.4: commenting UI: quick-bar Comment/Highlight/Draw flyout groups with pin, colour and thickness; sticky note and text box composer; highlight/underline/strikethrough from text selection; freehand, line, arrow, rectangle and oval gestures with live previews; Select tool selects (per-line frames for markup), moves, resizes with 8 handles, edits and deletes comments; canvas context menu (edit, reply, set status, colour, delete); Comments panel rewrite (add-a-comment box, search, selectable cards with reply box, ... menu, inline edit, status badges); comment edits re-render only their page and keep stale rasters on screen; control channel ui.drag, secondary click, pages_on_screen and comment state; view options quick/author/comment; 7 Lucide icons; parity entries; README Brandon ThomasandClaude Opus 5.5 2026-10-01 21:38:07 -04:00
  • 4058c156f7 M5.1/M5.2: comments engine: new annot crate (L3) with builders and appearance streams for sticky note, highlight, underline, strikeout, squiggly, rectangle, oval, line/arrow, ink, text box; reply, review status, move, resize, restyle, delete (with pop-ups and replies); undoable engine edits with /NM ids and dates, annotate-permission check; inspector reports index, state, quads; 6 automation tools (comment_list/add/reply/set_status/edit/delete, highlight by text search) Brandon ThomasandClaude Opus 5.5 2026-10-01 20:44:19 -04:00
  • f1111c0c59 M4.4: parity (page labels shipped), roadmap update for session 7 Brandon ThomasandClaude Opus 5.5 2026-10-01 14:15:25 -04:00
  • 2fc7cb4e64 Community links: Discord button in the title bar, ArtCraft community card on Home, About dialog with ArtCraft mark/wordmark and links, Help menu commands (help.discord/app_page/github/website), CLI --version and MCP websiteUrl, README Community section; 4 Lucide icons (attributed); regenerated screenshots with honest brand attribution Brandon ThomasandClaude Opus 5.5 2026-10-01 14:15:05 -04:00
  • bb31b5a1b5 Brand assets: ArtCraft logos attributed as Storyteller-owned (not open source, LicenseRef-Storyteller-Trademark) with a narrow asset-gate exception for docs/brand logos; AGENTS.md §1.2 Brandon ThomasandClaude Opus 5.5 2026-10-01 14:02:40 -04:00
  • 6616ccdead M4.4: page labels (Number pages): organize label ranges with Acrobat semantics (later pages keep labels, continuations merged), undoable NumberPages edit, page_number tool, Number pages dialog (Pages menu) Brandon ThomasandClaude Opus 5.5 2026-10-01 14:02:40 -04:00
  • 6089e58051 M4.6: parity: bookmark add/rename/delete/move/set-destination shipped Brandon ThomasandClaude Opus 5.5 2026-10-01 13:12:49 -04:00
  • 0ac2908195 M4.6: bookmark editing: organize outline API (add/rename/move/delete/set page, surgical relinking, /Count recompute), undoable engine edits, 6 automation tools, Bookmarks panel (⌘B new + inline rename, context menu: rename, set page, move, indent/outdent, delete), Lucide bookmark-plus icon (attributed) Brandon ThomasandClaude Opus 5.5 2026-10-01 13:10:49 -04:00
  • ebfe058a9c M3.9: control channel counts real egui passes (eframe runs logic without a pass while the window is hidden): clicks/keys/screenshots fail after 5 s with a clear message and dropped input instead of false success Brandon ThomasandClaude Opus 5.5 2026-10-01 13:10:49 -04:00
  • 669196a67e M3.4: view tests (layouts, actual size/fit width/fit page, link clicks, field list jump, field highlighting pixels, fonts tab); parity: 10 features to shipped (P0 35.2%) Brandon ThomasandClaude Opus 5.5 2026-10-01 12:29:05 -04:00
  • 4c4b17e5fa M3.3: render watchdog (a page rendering past 20 s is reported and skipped, later requests fail fast, a bounded replacement worker keeps rendering); ui.state reports page errors Brandon ThomasandClaude Opus 5.5 2026-10-01 12:23:15 -04:00
  • 825cae7a8d M1.10: roadmap update (fuzzing, parity checklist) Brandon ThomasandClaude Opus 5.5 2026-10-01 09:49:03 -04:00
  • ee254a91a2 M2.6: fuzz findings in the bootstrap renderer: paint-nesting cap now covers Type 3 glyphs (stack overflow), hayro skips images over 2^28 px (hang); regression tests Brandon ThomasandClaude Opus 5.5 2026-10-01 09:48:52 -04:00
  • 0bf28b79d4 M0.8: parity/acrobat-features.toml (826 features) + xtask parity (schema, registry/tool/test cross-checks, tier/area report) in ci; fuzzer skips known-hang seeds Brandon ThomasandClaude Opus 5.5 2026-10-01 09:34:02 -04:00
  • d4c4534821 M1.10: cargo xtask fuzz (stable mutation fuzzer: child processes, crash/hang triage, minimization), check-one --edit, nightly CI fuzz job Brandon ThomasandClaude Opus 5.5 2026-10-01 09:20:36 -04:00
  • 703d057578 M3.3: effective_scale floor overrode the size caps (a huge page box rendered 9M px wide); regression tests for the fuzz findings Brandon ThomasandClaude Opus 5.5 2026-10-01 09:20:36 -04:00
  • 675b258e77 M2.6: hayro-interpret patches from fuzzing: tiling-pattern nesting cap (stack overflow), CID width ranges clamped to 65535 (hang) Brandon ThomasandClaude Opus 5.5 2026-10-01 09:20:36 -04:00
  • 24418ae3c5 M1.3: number parser cut a multi-byte token mid-character and panicked (found by fuzzing) Brandon ThomasandClaude Opus 5.5 2026-10-01 09:20:36 -04:00
  • 6ea1402424 fuzzing Brandon Thomas 2026-10-01 08:55:16 -04:00
  • 8426503edb M1.9: roadmap update Brandon ThomasandClaude Opus 5.5 2026-10-01 08:43:54 -04:00
  • 1d1005f36c M1.9: full saves write object streams + xref stream (PNG Up predictor); encrypt-dict closure kept outside; reader authenticates before validating the catalog Brandon ThomasandClaude Opus 5.5 2026-10-01 08:43:41 -04:00
  • 2849ad8922 M2.6: vendor hayro-syntax 0.7.2 with a page-tree cycle guard (stack overflow on /Kids loops in object streams) Brandon ThomasandClaude Opus 5.5 2026-10-01 08:43:41 -04:00
  • c342387239 M4.5: roadmap update for session 6 Brandon ThomasandClaude Opus 5.5 2026-10-01 08:28:24 -04:00
  • 2ca1f5e1eb continued work Brandon Thomas 2026-10-01 08:26:58 -04:00
  • 5cebbb9b33 M3.9: transport test (token required, auth handshake, forwarding) Brandon ThomasandClaude Opus 5.5 2026-10-01 08:21:56 -04:00
  • 93fa9b79a8 M3.9: UI control channel (opt-in --control; ui.state/inspect/click/type/key/command/set/open/screenshot over token-authenticated loopback JSON-RPC; printcraft-cli ui) Brandon ThomasandClaude Opus 5.5 2026-10-01 08:20:59 -04:00
  • ce5f7ebd1c M0.9: roadmap update for session 5 Brandon ThomasandClaude Opus 5.5 2026-09-30 23:52:59 -04:00
  • abc4f56958 M13.1: parallel, cached page text for text_extract/text_find (520 pages: find 17.9s -> 3.7s cold, ~20ms warm) Brandon ThomasandClaude Opus 5.5 2026-09-30 23:51:45 -04:00
  • 19788d3336 M0.4/M0.5: deny.toml + xtask deny in ci, GitHub CI workflow; MCP module behind a Cargo feature Brandon ThomasandClaude Opus 5.5 2026-09-30 23:45:10 -04:00
  • b8fed39be5 M13.1: docs for agent control (README, AGENTS §3, crate README, CLAUDE.md) Brandon ThomasandClaude Opus 5.5 2026-09-30 23:33:21 -04:00
  • 88e4ca7e5b M13.1: printcraft-automation (headless tool set + opt-in MCP server over stdio); M4.8: CLI tools/run/mcp Brandon ThomasandClaude Opus 5.5 2026-09-30 23:32:23 -04:00
  • 49c0c6bffc M2.7: text layout follows the dominant text direction (rotated pages read along their lines) Brandon ThomasandClaude Opus 5.5 2026-09-30 23:32:23 -04:00
  • 5f5f83cc0c Session 4: M1.6 encryption (crypt crate R2-R6), M4 command registry, combine/extract/split, autosave + crash recovery, asset policy + xtask assets, README screenshots Brandon ThomasandClaude Opus 5.5 2026-09-30 23:12:34 -04:00
  • 5f61bde5eb more work Brandon Thomas 2026-09-30 11:34:29 -04:00
  • 3074fbb05e work in progress Brandon Thomas 2026-09-30 11:27:10 -04:00
  • 108fdc108c more progress, roadmap, wip Brandon Thomas 2026-09-30 11:00:02 -04:00
  • f0b5f8ff55 one-shot first ver Brandon Thomas 2026-09-30 05:17:08 -04:00