diff --git a/Architecture.md b/Architecture.md index 41a3255..730be67 100644 --- a/Architecture.md +++ b/Architecture.md @@ -84,6 +84,9 @@ Rules that keep it organised: `core/` imports nothing from other layers; `ui/` n assets; position exists only on scene objects; overrides are merged in exactly one place (`core/properties/resolve.ts`); the inspector is generated from `PropertySchema` — a new property is one schema line; a new node is one file **plus a row in the table in -`tests/core/node-catalog.test.ts`**, which fails if a node has no case. Comments state contracts +`tests/core/node-catalog.test.ts`**, which fails if a node has no case; a canvas that pans or +zooms puts **everything** the view moves into one masked container, not just the picture — an +outline, a name plate or a checkerboard left outside it is drawn over the panel next door. +Comments state contracts and reasons, not what the code does: a `/** */` on every export whose name does not say it all, `//` only for a decision or gotcha. diff --git a/Development.md b/Development.md index 57245b9..713dcb1 100644 --- a/Development.md +++ b/Development.md @@ -12,7 +12,7 @@ npm run check # typecheck + lint + format:check + tests, the gate CI runs # code is lost (tail's is reported), so a red run reads as green npm run build # writes dist/ and regenerates index.html ./build.sh # the same under `set -o pipefail`, for callers that pipe the output -node tools/seed-e2e.mjs && node tools/e2e.mjs # 780 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 784 editor checks, screenshots in /tmp/gm-e2e-*.png GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step ./e2e.sh start [GM_STEPS] # the same run detached, see below ./e2e.sh status # live progress, or the last run's result @@ -151,4 +151,4 @@ widths to find click points. The **render device is not in this repo** — `/dev and a 1 GB `/dev/shm` come from `container.options` in the runner's own `config.yaml`, which applies to every job on that runner. Without them chromium falls back to llvmpipe, which gets WebGL 1.0 only. Measured in the job container: `ANGLE (Intel, Vulkan 1.3.230, HD Graphics 630)`, -WebGL 2.0, and the same 780 checks as here. +WebGL 2.0, and the same 784 checks as here.