From 60be8d9afffde21380a6212d65366e49bd382be6 Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Fri, 18 Sep 2026 08:01:10 +0200 Subject: [PATCH] =?UTF-8?q?Tiles:=20the=20Autotile=20asset=20is=20renamed?= =?UTF-8?q?=20to=20Tile,=20new=20kind=20None=20(1=20=C3=97=201),=20older?= =?UTF-8?q?=20projects,=20check=20total=201013=20(#131)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 --- Architecture.md | 6 ++-- Development.md | 8 +++--- Home.md | 2 +- Tilemaps.md | 32 ++++++++++----------- Autotiles.md => Tiles.md | 62 ++++++++++++++++++++++++---------------- _Sidebar.md | 2 +- 6 files changed, 63 insertions(+), 49 deletions(-) rename Autotiles.md => Tiles.md (54%) diff --git a/Architecture.md b/Architecture.md index c518f84..93d40f5 100644 --- a/Architecture.md +++ b/Architecture.md @@ -61,7 +61,7 @@ ``` web/index.html Vite source page (dev) index.html built page (generated, served) -src/core/model/ Project (object holders), Asset + AssetTypes, SceneObject, Properties (value types), hierarchy, walk (generic parent/child walks), instance (container content resolved from its template), usages (where an asset is used), container (the cycle guard), placement (what may be dropped where), texture (frames and the slice grid), autotile (the two block kinds, which quarter tile a neighbourhood asks for, the 47/16 tiles a block produces), tilemap (the cells of a layer, which neighbours a cell is joined to, the cells a stroke or a rectangle covers), animation (which frame at time t, a row's value there, what a row may aim at, the players on an object; KeyRef and its lookups) + animationPreview (the root at a frame, written into copies), graphLookup (what a graph sees of the project: behaviors to run, state machines to read), Scope (where a state machine's current state lives: per instance or one for the run — variables are shared by living on a Variables asset instead) +src/core/model/ Project (object holders), Asset + AssetTypes, SceneObject, Properties (value types), hierarchy, walk (generic parent/child walks), instance (container content resolved from its template), usages (where an asset is used), container (the cycle guard), placement (what may be dropped where), texture (frames and the slice grid), tile (the three kinds and their block shapes, reading a tile's pictures, the animation step), autotile (which quarter tile a neighbourhood asks for, the 47/16 tiles a block produces, 1 for a plain tile), tilemap (the cells of a layer, which neighbours a cell is joined to, the cells a stroke or a rectangle covers), animation (which frame at time t, a row's value there, what a row may aim at, the players on an object; KeyRef and its lookups) + animationPreview (the root at a frame, written into copies), graphLookup (what a graph sees of the project: behaviors to run, state machines to read), Scope (where a state machine's current state lives: per instance or one for the run — variables are shared by living on a Variables asset instead) src/core/properties/ PropertySchema, kinds (one row per value kind), listItems (an item's kind, read off its value), resolve (the only override merge), deviation (what is gold), collider/camera/bounds geometry, aspect, enabled, editorRun, assetRef/textureRef (how a reference reads), declaredRows (the row a Property node declares in a shader or particle graph, and the params that node has in both) src/core/commands/ undoable commands, CommandStack, SetBagValueCommand base, RenameCommand base (undone by renaming back: variable, struct field, port), one import command shape for texture/font/sound, require.ts (validated lookups, and what an instance may not change), naming.ts src/core/graph/ graph model, NodeRegistry/NodeContext/values, interpreter, dropTarget, nested (behaviors as nodes), @@ -106,9 +106,9 @@ src/editor/texture/ TextureEditor (header + picker), TextureCanvas (picture + src/editor/animation/ AnimationEditor (header + picker, preview over timeline), PreviewCanvas (the root at the playhead, a FreeViewport over animationPreview.ts), TimelineCanvas (rows, keys, ruler, clipboard), timelineView (its geometry), RowDialog + FramesDialog (FormDialogs) -src/editor/autotile/ AutotileEditor (header + picker + kind), AutotileCanvas (every tile of the block and a sample map, animated), +src/editor/tile/ TileEditor (header + picker + kind), TileCanvas (every tile of the block and a sample map, animated), PictureStrip (the pictures as animation steps; dropIndex is the reorder maths) -src/editor/inspector/ … tilemapSection (tools, autotiles and layers of a placed tilemap; painting itself is SceneViewport) +src/editor/inspector/ … tilemapSection (tools, tiles and layers of a placed tilemap; painting itself is SceneViewport) src/editor/statemachine/ StateMachineEditor (header + picker, on the graph canvas) src/editor/particles/ ParticlesEditor (graph canvas left of a preview panel, splitter between them), ParticlePreview (the panel: the asset's own particles, wearing its own rows) diff --git a/Development.md b/Development.md index 02fca67..42785cd 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 # 1009 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1013 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 @@ -64,7 +64,7 @@ The e2e run is a list of steps in `tools/e2e/` (hierarchy, inspector, play, asse graph, parenting, colliders, containers, text/enabled, menus, textures, frames, overflow, aspect, container tab, run-in-editor, pause, nested behaviors, key repeat, list tab, struct variable, variable nodes, property nodes, animations, state machines, console, shaders, transforms, fonts, -particles, shared scope, render on change, sounds, load scene, graph groups, nine-slice, plugins, autotiles, tilemaps) that build on each other's +particles, shared scope, render on change, sounds, load scene, graph groups, nine-slice, plugins, tiles, tilemaps) that build on each other's scene state and share the CDP driver in `tools/lib/harness.mjs` — `press`, `undo`, `play`, `object(id)`, `world()`, `mutate(js)` and friends, so a check reads like the interaction it exercises. @@ -104,7 +104,7 @@ whole suite down the day the Particles tab was added. The same holds for the **`+` menu**: it has one entry per asset type, and an entry below the mask edge is still found by `locate` while a click on it lands on nothing. The fourteenth type (Variables) pushed `Font` under that edge and took the font step down, because only the particles -step had carried a workaround of its own; sound is the fifteenth, the autotile the sixteenth and the tilemap the seventeenth. Since #43 a menu may grow to the +step had carried a workaround of its own; sound is the fifteenth, the tile the sixteenth and the tilemap the seventeenth. Since #43 a menu may grow to the height of the canvas, so on the test window all seventeen stand on screen at once — the step still picks a type with `pickAssetType(t, 'Font')` from the same file, which keeps the scroll as insurance for a shorter window. The menu's own order is checked in the assets step through `__gm.menuRows()`: @@ -232,4 +232,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 1009 checks as here. +WebGL 2.0, and the same 1013 checks as here. diff --git a/Home.md b/Home.md index e31baf9..f977892 100644 --- a/Home.md +++ b/Home.md @@ -18,7 +18,7 @@ Live: · Widget playground: