Document the inspector rows of a vector shape (#129)

Stage 4 of #129 gives a selected shape its own rows, so the pages that
describe the editor have to name the modules behind them.

- Architecture lists shapeSection, ShapeList and shapeRows, including
  the rule that the list is shown reversed: the topmost row is the shape
  drawn last.
- Development carries the measured check sum, 1179 instead of 1172.

The page Vector Art itself belongs to stage 5 and is not here yet.

Tests: check sum measured with a full e2e run, not calculated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
adminandClaude Opus 5 committed 2026-09-20 22:29:45 +02:00
1 parent 84680ba1cf
commit c473762f7e
2 files changed
+9 -4

No files matched your search

+8 -3
@@ -144,8 +144,10 @@ src/editor/viewport/ WorldViewport base → FreeViewport (a camera of its own:
GameViewport follows the game's camera instead — editing tools, hence not in src/viewport/ GameViewport follows the game's camera instead — editing tools, hence not in src/viewport/
src/editor/inspector/ Inspector panel, host (what a section builds into), field factory, previewHandlers (scrub → preview → command), valueSpecs src/editor/inspector/ Inspector panel, host (what a section builds into), field factory, previewHandlers (scrub → preview → command), valueSpecs
(where a value lives — shared with the List tab), (where a value lives — shared with the List tab),
one section per selection kind (asset/object/node/frame), variableRows (one row shape for one section per selection kind (asset/object/node/frame/shape), variableRows (one row shape for
every variable), portSection, aspectAction, objectQueries/vectorRows/parentRow every variable), shapeSection (the shapes of a vector drawing: the list, the four order
buttons and the style of the picked one, #129), portSection, aspectAction,
objectQueries/vectorRows/parentRow
src/editor/panels/ AssetPanel, assetGroups (groups by type and their order, #176), assetIcons (one SVG per src/editor/panels/ AssetPanel, assetGroups (groups by type and their order, #176), assetIcons (one SVG per
asset type in icons/, shared by the panel, the + menu, the tabs and Scene objects, asset type in icons/, shared by the panel, the + menu, the tabs and Scene objects,
plus the List, Game and Plugins tabs' own three, which stand for no asset), plus the List, Game and Plugins tabs' own three, which stand for no asset),
@@ -161,7 +163,10 @@ src/editor/texture/ TextureEditor (header), TextureCanvas (picture + frames),
ImagePicker + imageGrid (the "+ → Texture" dialog), checker (the transparency board) ImagePicker + imageGrid (the "+ → Texture" dialog), checker (the transparency board)
src/editor/vectorart/ VectorArtEditor (header: the two tools and the grid switch), VectorArtCanvas (the drawing src/editor/vectorart/ VectorArtEditor (header: the two tools and the grid switch), VectorArtCanvas (the drawing
painted from core/model/vectorPath onto its own Graphics, with points and handles over it; painted from core/model/vectorPath onto its own Graphics, with points and handles over it;
the pen puts points down, the arrow drags points, handles and whole shapes, #129) the pen puts points down, the arrow drags points, handles and whole shapes, #129),
ShapeList (the shapes as rows with a preview each, in the inspector; a row may be dragged to
another place in the drawing order) + shapeRows (that list's arithmetic: the order is shown
upside down, and a drop counts the dragged row which the model has already taken out)
src/editor/animation/ AnimationEditor (header, preview over timeline), PreviewCanvas (the root at the playhead, a FreeViewport src/editor/animation/ AnimationEditor (header, preview over timeline), PreviewCanvas (the root at the playhead, a FreeViewport
over animationPreview.ts), TimelineCanvas (rows, keys, ruler, clipboard), timelineView (its geometry), over animationPreview.ts), TimelineCanvas (rows, keys, ruler, clipboard), timelineView (its geometry),
RowDialog + FramesDialog (FormDialogs) RowDialog + FramesDialog (FormDialogs)
+1 -1
@@ -13,7 +13,7 @@ npm run check # typecheck + lint + format:check + tests, the gate CI runs
npm run build # writes dist/ and regenerates index.html npm run build # writes dist/ and regenerates index.html
./build.sh # the same under `set -o pipefail`, for callers that pipe the output ./build.sh # the same under `set -o pipefail`, for callers that pipe the output
php tools/make-user.php <name> <password> # an account; every tool signs in (see Accounts) php tools/make-user.php <name> <password> # an account; every tool signs in (see Accounts)
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1172 editor checks, screenshots in /tmp/gm-e2e-*.png node tools/seed-e2e.mjs && node tools/e2e.mjs # 1179 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 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 start [GM_STEPS] # the same run detached, see below
./e2e.sh status # live progress, or the last run's result ./e2e.sh status # live progress, or the last run's result