openpencil/src/theme
Danila Poyarkov 7a02ee2c62
feat(editor): model split canvas panes (#519)
* refactor(editor): separate canvas view state

- Classify shared and view-local editor state explicitly

- Let canvas surfaces render supplied view state and report their viewport

- Preserve the existing one-canvas behavior by default

* fix(canvas): preserve loading render state

* feat(editor): model split canvas panes

- Add pure recursive split-tree operations with validated sizes

- Add explicit pane registry and independent view-state cloning

- Cap visible panes and cover close and split behavior

* refactor(editor): group state ownership modules

- Move shared and view state into the editor state namespace

- Model the partition with explicit interfaces and default factories

- Derive runtime view keys from the default view object

* feat(editor): model split canvas panes

- Add pure recursive split-tree operations with validated sizes

- Add explicit pane registry and independent view-state cloning

- Cap visible panes and cover close and split behavior

* feat(editor): add split canvas views

- Render recursive pane layouts with Reka UI splitters and pane-local headers
- Route canvas input, selection, viewport state, and close actions to the active pane
- Repaint every canvas during shared document previews and cover split lifecycle in tests

* fix(editor): clean up inactive pane interactions

- Cancel drag, padding preview, and text editing state when pane focus changes
- Remove duplicate changelog entries introduced while updating master
2026-08-15 10:31:52 +03:00
..
panel feat(vue): add responsive property grids 2026-07-26 12:42:50 +03:00
app-grouped-select.ts feat(ui): add themed panel foundations 2026-07-10 18:16:21 +03:00
app-select.ts feat(ui): section header bands and dropdown polish 2026-07-18 09:41:32 +03:00
binding-field.ts refactor(ui): replace sizing design tokens with plain utilities 2026-07-18 08:35:32 +03:00
canvas-pane-header.ts feat(editor): model split canvas panes (#519) 2026-08-15 10:31:52 +03:00
checkerboard.ts feat(vue): promote color and fill primitives 2026-07-13 23:41:04 +03:00
collaboration.ts fix(ui): chrome polish — menubar contrast, menu/tab/tooltip type scale 2026-07-18 10:16:49 +03:00
color-slider.ts feat(vue): add responsive property grids 2026-07-26 12:42:50 +03:00
constraints.ts refactor(ui): replace sizing design tokens with plain utilities 2026-07-18 08:35:32 +03:00
control.ts refactor(ui): unify chat composer controls 2026-08-14 13:21:29 +03:00
dialog.ts feat(ui): add shared dialog shells 2026-07-26 14:07:15 +03:00
fill-picker.ts refactor(app): theme toolbar editing states 2026-07-18 00:07:49 +03:00
fill-swatch.ts feat(vue): promote color and fill primitives 2026-07-13 23:41:04 +03:00
icon-button.ts fix(ai): harden image attachment lifecycle 2026-08-14 14:31:59 +03:00
input-group.ts fix(ai): harden image attachment lifecycle 2026-08-14 14:31:59 +03:00
input.ts refactor(ui): unify chat composer controls 2026-08-14 13:21:29 +03:00
layer-tree.ts refactor(ui): replace sizing design tokens with plain utilities 2026-07-18 08:35:32 +03:00
layout-alignment.ts refactor(app): theme toolbar editing states 2026-07-18 00:07:49 +03:00
number-field.ts refactor(ui): replace sizing design tokens with plain utilities 2026-07-18 08:35:32 +03:00
page-list.ts refactor(ui): replace sizing design tokens with plain utilities 2026-07-18 08:35:32 +03:00
paint-field.ts feat(vue): add responsive property grids 2026-07-26 12:42:50 +03:00
placeholder.ts refactor(ui): unify full-area placeholders 2026-07-26 17:02:29 +03:00
segmented-control.ts fix(ui): segmented control track no longer reads as a filled bar 2026-07-18 09:56:47 +03:00
select.ts feat(ui): section header bands and dropdown polish 2026-07-18 09:41:32 +03:00
splitter.ts feat(editor): model split canvas panes (#519) 2026-08-15 10:31:52 +03:00
status.ts refactor(app): finish visual state theming 2026-07-18 00:23:38 +03:00
switch.ts feat(editor): add component property controls 2026-07-17 21:59:49 +03:00
tab-bar.ts fix(ui): chrome polish — menubar contrast, menu/tab/tooltip type scale 2026-07-18 10:16:49 +03:00
textarea.ts feat: add Figma-style variants and component libraries (#512) 2026-08-14 19:31:41 +03:00
toolbar.ts feat(editor): add Figma-style frame presets (#418) 2026-07-26 00:05:57 +03:00
variable-table.ts refactor(app): finish visual state theming 2026-07-18 00:23:38 +03:00