openpencil/crates
Kayshen-X 43cbf2131d refactor(electron): migrate export renderers off Document onto LayoutScene
Rewrite raster (PNG/JPEG/WEBP), SVG and PDF export to consume the
layout-resolved `LayoutScene` instead of shell-core's `Document`. The
export call site builds the scene from the live `EditorState` via
`op_pen_loader::editor_state_to_layout_scene`, so jian's flex pass and
`$ref` fill resolution run once and the exported pixels match the
on-screen canvas painter. Rotation now pivots around `aggregate_bounds`
to match `canvas_viewport_paint.rs`; drop shadows render behind Frame /
Rect / Ellipse fills.

Drops the native host's dead `document()` / `derive_paint_doc` path now
that nothing derives a paint `Document`. Splits the SVG serializer into
`export/export_svg.rs` to stay under the 800-line cap.
2026-05-16 22:28:27 +08:00
..
op-editor-core refactor(panels): migrate PropertyPanel onto op-editor-core EditorState 2026-05-16 21:20:42 +08:00
op-i18n fix(i18n): point convert-locales.py output at the op-i18n crate 2026-05-16 14:25:58 +08:00
op-pen-loader refactor(host): hit-test input against LayoutScene, drop per-frame paint_doc 2026-05-16 22:18:31 +08:00
openpencil-desktop refactor(electron): migrate export renderers off Document onto LayoutScene 2026-05-16 22:28:27 +08:00
openpencil-shell-core refactor(host): hit-test input against LayoutScene, drop per-frame paint_doc 2026-05-16 22:18:31 +08:00
openpencil-shell-native refactor(electron): migrate export renderers off Document onto LayoutScene 2026-05-16 22:28:27 +08:00
openpencil-shell-web refactor(host): hit-test input against LayoutScene, drop per-frame paint_doc 2026-05-16 22:18:31 +08:00
wasm-libc-shim style(shell): cargo fmt --all (rustfmt-clean) 2026-05-10 18:47:33 +08:00
CLAUDE.md docs: fix stale i18n + renderer paths flagged by Codex review 2026-05-16 15:45:54 +08:00