openpencil/tests/engine/text
Danila Poyarkov e8b5d75339
perf: scope variable changes to what they can reach (#935)
* perf: resolve only the layers a variable change can reach

Every value edit, mode change, and binding change re-resolved every bound layer in the document. A value or mode change now reaches the layers bound to its variables or to variables aliasing them, and a binding or variable-mode change reaches the layer's own subtree, so layers elsewhere whose saved values differ from their bindings stay as saved and are not laid out again.

* perf: keep the canvas as drawn when a variable change shows nothing on it

Every variable change bumped sceneVersion, which also keys the canvas's recorded pictures, so renaming or reordering a variable re-recorded every visible layer. The canvas now redraws on its own canvasVersion, which requestRender bumps; requestRefresh bumps only sceneVersion, so views, saving, and recovery still follow. Adding, renaming, reordering, and duplicating variables and collections, renaming modes, and token fields, conditions, and the switch attribute use it.

* test: give the text undo editor double requestRefresh

The double builds EditorContext by hand and missed the new requestRefresh and canvasVersion, which failed check:test-types in the merge queue.
2026-10-07 11:32:18 +00:00
..
fonts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
opentype test(engine): organize clipboard and vector coverage 2026-05-16 13:18:38 +03:00
style-runs chore: format codebase 2026-05-24 12:15:29 +03:00
coverage.test.ts feat(text): deepen typography controls 2026-07-17 22:40:52 +03:00
edit-undo.test.ts perf: scope variable changes to what they can reach (#935) 2026-10-07 11:32:18 +00:00
editor.test.ts fix: show the caret in new, empty text (#932) 2026-10-06 12:33:49 +00:00
resolver.test.ts fix(fonts): explain PingFang substitution and draw its CJK text (#781) 2026-09-26 11:14:30 +04:00
rtl-auto-layout-input.test.ts feat(editor): add configurable snapping and guides 2026-08-18 19:11:48 +03:00
style-runs.test.ts