openpencil/tests/e2e/canvas
Danila Poyarkov 3289649da8
fix: repair the app e2e suite and the bugs it was hiding (#968)
* fix(code): evaluate behaviour parts such as Switch.Root in the Code tab

Behaviour parts are named through a namespace, and the sandbox passed every element name to new Function as a parameter. A dotted name is not one, so every Design JSX evaluation in the Code tab failed with "Arg string terminates parameters early". Dotted elements are now members of their namespace object, as JSX reads the tag.

* fix(properties): show a fill's whole hex value

The hex input used 12 px text in a field sized for 11 px, so six digits needed 45 px of the 38 px left beside the opacity and variable controls, and the last digit was cut off. The value now uses the field's 11 px text, and the opacity field gives up the space its suffix did not use.

* test: answer the desktop app's startup commands in the Tauri mock

The app now reads credential status and sets native menu checkmarks on startup, and the mock threw on both, failing every spec that simulates the desktop app.

* test: wait for the clipboard write and the previous menu in rich copy

Copy writes once the document is encoded, so reading right after the click found an empty clipboard or one that changed mid-read. Reopening Edit while the menu used for Copy still animated lost the click. openAppMenu waits for every menu to go before clicking a trigger.

* test: follow current settings, page, and picker behaviour in e2e specs

Specs had fallen behind the app: Media settings open a provider editor with its own Save, adding a page opens it, the variable picker's search is a textbox, a reverted reply is no longer dimmed by opacity, and the zoom spec addressed a fixed port instead of the configured server.

* fix(properties): show the whole opacity beside the variable button

A number field with a unit kept the unit's right padding and then the variable button added its own, so Appearance opacity showed "1… %" in the 83 px column. The unit now leaves the spacing to the trailing control.

* test: refresh panel and canvas baselines verified against their changes

Every baseline was compared with its previous image and each difference traced to a merged change: stored colors drawn exactly after color management (#716), stored page backgrounds kept (#949), themed section fills and node-owned section corners (#931, #940), frame names on every top-level frame (#930), Design Check markers (#804), .pen frames laid out horizontally by default (#652), no-rulers honored, stacked W and H fields, Clip content on new frames, and the whole hex and opacity values from this branch.

* docs: note the clipped paint and opacity values in the changelog

* test: open menus through the shared menu driver in menu specs
2026-10-08 17:15:18 +00:00
..
arrow-caps-visual.spec.ts-snapshots test(canvas): align visual oracles with ruler-free fixtures 2026-09-16 03:45:34 +03:00
boolean-visual.spec.ts-snapshots ci: shard unit tests by owner and cut the quick suite from 100 s to 13 s (#715) 2026-09-17 10:18:16 +03:00
color-space.webkit.spec.ts-snapshots feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
corner-smoothing-visual.spec.ts-snapshots fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
cursor-labels.spec.ts-snapshots fix: zoom in place, shape cursor names, and align context menu items (#818) 2026-10-01 21:34:36 +04:00
demo-workspace.spec.ts-snapshots feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
dense-text-preview.spec.ts-snapshots perf(text): preserve coverage across paragraph eviction 2026-09-15 16:32:07 +03:00
distance-measurement-edge-cases.spec.ts-snapshots fix(text): finalize font readiness and label shaping (#593) 2026-08-30 14:33:32 +03:00
distance-measurement.spec.ts-snapshots fix(text): finalize font readiness and label shaping (#593) 2026-08-30 14:33:32 +03:00
document-loading.spec.ts-snapshots feat: refresh branding with generated platform icons (#707) 2026-09-16 11:54:07 +03:00
drop-files.spec.ts-snapshots fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
fill-modes-visual.spec.ts-snapshots ci: shard unit tests by owner and cut the quick suite from 100 s to 13 s (#715) 2026-09-17 10:18:16 +03:00
frame-overlays.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
image-previews-visual.spec.ts-snapshots fix(canvas): keep image-heavy documents within CanvasKit memory (#963) 2026-10-07 20:30:25 +00:00
instance-scale-visual.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
instance-sizing.spec.ts-snapshots test: replace legacy demo snapshots with current coverage 2026-09-14 01:20:56 +03:00
label-anatomy.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +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
layout-outlines.spec.ts-snapshots feat(canvas): select auto layout frames by their gaps and dot their children, as in Figma (#943) 2026-10-07 11:29:52 +00:00
live-editing.spec.ts-snapshots feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
nested-transform-interaction.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
occurrence-text-visual.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
pattern-mask-visual.spec.ts-snapshots ci: shard unit tests by owner and cut the quick suite from 100 s to 13 s (#715) 2026-09-17 10:18:16 +03:00
pen-variables.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
presence-cursors.spec.ts-snapshots feat: show AI agents on the canvas and to collaborators (#803) 2026-10-03 14:01:36 +04:00
retained-grid.spec.ts-snapshots feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
saved-glyph-visual.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
saved-text-visual.spec.ts-snapshots fix(fig): write text glyphs from the layout the renderer draws (#928) 2026-10-06 11:37:02 +00:00
scene-picture-freshness.spec.ts-snapshots fix: share Figma's creation and grouping between editor and plugin API (#919) 2026-10-06 12:28:52 +00:00
slot-overlays.spec.ts-snapshots feat(canvas): select auto layout frames by their gaps and dot their children, as in Figma (#943) 2026-10-07 11:29:52 +00:00
stroke-geometry-visual.spec.ts-snapshots fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
stroke-paint-visual.spec.ts-snapshots fix(core): draw gradient and image strokes as the paint they are (#868) 2026-10-04 13:25:45 +00:00
text fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
tiled-large-blur-visual.spec.ts-snapshots fix: repair the app e2e suite and the bugs it was hiding (#968) 2026-10-08 17:15:18 +00:00
typography-depth-visual.spec.ts-snapshots fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
vector feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
arrow-caps-visual.spec.ts fix(core): draw gradient and image strokes as the paint they are (#868) 2026-10-04 13:25:45 +00:00
boolean-visual.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
color-space.spec.ts fix(canvas): preserve paint geometry and color fidelity 2026-09-16 02:57:56 +03:00
color-space.webkit.spec.ts feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
component-set-border.spec.ts feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
corner-smoothing-visual.spec.ts fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
cursor-labels.spec.ts feat: show AI agents on the canvas and to collaborators (#803) 2026-10-03 14:01:36 +04:00
demo-workspace.spec.ts feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
dense-text-preview.spec.ts perf(text): preserve coverage across paragraph eviction 2026-09-15 16:32:07 +03:00
distance-measurement-edge-cases.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
distance-measurement.spec.ts feat(canvas): measure distances between layers (#515) 2026-08-14 18:18:55 +03:00
document-loading.spec.ts feat: refresh branding with generated platform icons (#707) 2026-09-16 11:54:07 +03:00
drop-files.spec.ts fix(editor): commit vector drags on pointer release (#586) 2026-08-24 16:02:27 +03:00
fill-modes-visual.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
frame-creation-preview.spec.ts feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
frame-overlays.spec.ts fix(renderer): rasterize settled scenes at viewport origin 2026-09-15 13:25:43 +03:00
image-previews-visual.spec.ts fix(canvas): keep image-heavy documents within CanvasKit memory (#963) 2026-10-07 20:30:25 +00:00
instance-scale-visual.spec.ts fix: keep bound text and visibility in step with their variables (#954) 2026-10-07 18:37:15 +00:00
instance-sizing.spec.ts fix: preserve authored instance sizing through synchronization 2026-09-14 00:24:52 +03:00
label-anatomy.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
layout-outlines.spec.ts feat(canvas): select auto layout frames by their gaps and dot their children, as in Figma (#943) 2026-10-07 11:29:52 +00:00
live-editing.spec.ts test: resolve repository files without climbing directories (#946) 2026-10-07 12:35:39 +00:00
manipulation.spec.ts feat(editor): add configurable snapping and guides 2026-08-18 19:11:48 +03:00
nested-transform-interaction.spec.ts feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
occurrence-text-visual.spec.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
painted-text.spec.ts fix(canvas): preserve paint geometry and color fidelity 2026-09-16 02:57:56 +03:00
pattern-mask-visual.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
pen-layout.spec.ts fix(pen): honor layout and sizing defaults (#652) 2026-09-10 17:02:56 +03:00
pen-variables.spec.ts fix(pen): resolve ordinary variable references (#622) 2026-09-06 23:50:03 +03:00
presence-cursors.spec.ts feat: show AI agents on the canvas and to collaborators (#803) 2026-10-03 14:01:36 +04:00
retained-grid.spec.ts feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
retained-parity.spec.ts fix(renderer): rasterize settled scenes at viewport origin 2026-09-15 13:25:43 +03:00
ruler-visibility.spec.ts fix: honor ruler visibility on the overlay canvas 2026-09-14 01:12:26 +03:00
saved-glyph-visual.spec.ts feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
saved-text-visual.spec.ts fix(fig): write text glyphs from the layout the renderer draws (#928) 2026-10-06 11:37:02 +00:00
scene-picture-freshness.spec.ts fix: share Figma's creation and grouping between editor and plugin API (#919) 2026-10-06 12:28:52 +00:00
slot-overlays.spec.ts feat: create, fill, and edit slots (#862) 2026-10-04 17:02:28 +00:00
split-views.spec.ts feat(editor): model split canvas panes (#519) 2026-08-15 10:31:52 +03:00
stroke-geometry-visual.spec.ts feat(scene-graph)!: make a stroke a paint (#864) 2026-10-04 13:38:05 +04:00
stroke-paint-visual.spec.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
tiled-large-blur-visual.spec.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
tiled-property-preview.spec.ts feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
top-level-frame-click.spec.ts feat(canvas): select auto layout frames by their gaps and dot their children, as in Figma (#943) 2026-10-07 11:29:52 +00:00
typography-depth-visual.spec.ts perf(text): preserve coverage across paragraph eviction 2026-09-15 16:32:07 +03:00