openpencil/tests/engine/render/canvas
Danila Poyarkov 6a06b31dd8
perf(text): measure each text once per shaping and layout width (#959)
* perf(text): measure each text once per shaping and layout width

Layout asked for the same text at the same width hundreds of times per build, and each request built and laid out a new paragraph. Sizes are now cached beside glyph coverage, keyed by the same shaping inputs, so layout resizing the box keeps them.

* refactor(text): reuse Size for measured text

* perf(text): keep measurements when a paragraph rebuilds for a new box

The paragraph cache dropped coverage and sizes whenever its own inputs changed, including a resize that reaches drawing without a graph update. Shaping compares its own inputs, so it is kept there.
2026-10-07 19:48:25 +00:00
..
chunks test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
effects test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
guides test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
labels fix(canvas): show every top-level frame's name and select frames by it (#930) 2026-10-06 11:37:46 +00:00
tiles test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
visual test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
arrow-heads-draw.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
blend.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
boolean.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
cache.test.ts refactor(canvas): draw screen-sized chrome through one outline helper (#947) 2026-10-07 18:37:05 +00:00
component-label-text.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
corner-smoothing.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
culling.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
derived-text.test.ts feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
diamond-gradient.test.ts fix(canvas): preserve paint geometry and color fidelity 2026-09-16 02:57:56 +03:00
effect-raster-cache.test.ts refactor(canvas): share bounded resource cache bookkeeping 2026-09-15 21:28:16 +03:00
effect-raster-integration.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
font-readiness.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
gradient.test.ts fix(canvas): orient linear gradients like Figma 2026-05-18 03:21:16 +03:00
helpers.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
image-fill.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
label-cache.test.ts test: align label cache contracts with component members 2026-09-16 16:14:12 +03:00
layout-grids.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
line.test.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
masks.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
measurement.test.ts feat(canvas): measure distances between layers (#515) 2026-08-14 18:18:55 +03:00
normalize-dash-pattern.test.ts fix(canvas): normalize imported dash patterns 2026-08-31 22:25:48 +03:00
painted-text.test.ts test(canvas): load painted-text font fixtures explicitly 2026-09-16 03:27:10 +03:00
picture-invalidation.test.ts perf(text): measure each text once per shaping and layout width (#959) 2026-10-07 19:48:25 +00:00
raster-export.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
renderer-lifecycle.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
retained-backing-pixels.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
retained-backing.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
schema-fill-fallback.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
surface-replacement.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
text-font-variations.test.ts fix(text): render variable font styles at their named instances (#773) 2026-09-26 11:25:01 +04:00
text-preparation-cache.test.ts perf(text): measure each text once per shaping and layout width (#959) 2026-10-07 19:48:25 +00:00
text.test.ts fix(fig): write text glyphs from the layout the renderer draws (#928) 2026-10-06 11:37:02 +00:00
variable-modes.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00