Get world position now covers the world coordinates. Two nodes that
both offer world x and y made it unclear which one to take. No project
uses the world outputs of Get position any more.
- Get position drops its world x and world y outputs and its
description points to Get world position.
- Old snapshots with edges on those outputs still load. The edges hang
on ghost ports and the node warns about them.
- The unit tests in hierarchy and raycast and the graphs in e2e 43 use
Get world position where they read the world coordinates.
Tests:
- node-catalog, hierarchy, raycast: 3 files, 417 tests, all green
- e2e 43 on melektaus-atx: ALL PASSED, 17 checks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The issue said a behavior that runs in the editor keeps the graph
it started with, until it is switched off and on. Measured before
building anything, that is no longer so. An edit runs from the next
frame on. Since when, was not found out.
- No code changes. A command raises the project event, EditorRun
refreshes, and syncFromModel of the behavior system empties the
graph cache.
- Decided in the issue: the instance carries on and is not started
over. Its variables and timers stand, and On start does not fire
again. A restart would write what On start writes or spawns into
the saved scene with every edit.
- Starting over stays what it was: Run in editor off and on, or
Play.
- Module 43 of the e2e no longer switches the behavior off and on
before it measures the changed layers of a ray cast.
Tests:
- Gate on melektaus-atx for this change alone: 212 files, 3264
tests (3260 + 4), exit 0. The gate right before this commit ran
on the tree of this and the next commit together: 213 files,
3278 tests, exit 0.
- e2e 18,20,43 on melektaus-atx: 57 checks, all pass. The check in
43 is the old one, it now holds without the workaround.
- Four unit tests in editor-run.test.ts: a changed node setting, a
node wired in and one cut off, a flow hung on On start that does
not fire until the switch goes off and on, and an undo.
- One counter-probe: without the emptied cache the wiring test
fails. The setting test does not, settings change in place.
- No full run and no smokes. The sum of e2e checks stays 1676.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The theme asks for Source Sans 3 at weight 500, but fonts.ts only
loaded 400, 600 and 700. The browser synthesised the 500 text. The
issue comment also asked for the symbols the font lacks to become SVG
icons. A scan of src/ against the font's cmap found 20 such characters
in 30 places.
- fonts.ts loads source-sans-3-latin-500-normal.woff2 as well.
- Menus draw their ticks and the "current" dot as icons. The dot is a
new MenuItem.current field and no longer part of the label text.
- Inspector action buttons (reset, apply, fit width/height) are
icons. The menu arrow behind them is the drawn Dropdown chevron.
- Kind marks come from a table in markIcons.ts. Picture kinds use an
icon, # and Aa stay text because the font has them.
- Scene marks in the asset panel, sound play/stop and the transition
arrows are icons too.
- Apply is an icon although the font has the arrow. It sits next to
the reset icon and would look different as a glyph.
- A new Icon widget draws on redraw like Button, so Node tests need no
DOMParser.
- Tests find icons through the SVG id. The new hook
__gm.locateIcons(id) and the harness helpers findIcon/clickIcon
replace locate() on the old characters.
Findings:
- Weight 700 is loaded but the theme never uses it. Left as is.
- The old scene-mark check in module 35 accepted any play glyph on
screen. It now checks the mark on the start scene's row.
- Module 44 needs the textures from module 37 and fails without it.
Tests:
- ./check.sh: 145 files, 2187 tests, exit 0 (before 144 / 2143).
- New tests/ui/fonts.test.ts: every theme weight is loaded, and every
character in src/ exists in every shipped face. The cmap reader
matches fontTools (231 characters).
- Icon tests cover the 19 new files. Each kind mark is either an
icon or text, never both.
- e2e 1-16,22,30,34,35,43,44: 586 green, 0 FAIL, then 44 stopped
for lack of module 37. e2e 1-16,37,44,47,48: 618 green.
e2e 1-14 on the final build: 454 green.
- Two new e2e checks: loaded weights in 14, a reset icon pixel in 04.
- Counter-probes all fail as expected: 500 removed, a play glyph put
back, the struct icon removed (one unit test each). In the browser,
500 removed and reset icon hidden fail exactly the two new checks.
- Editor-suite check sum 1312 (1310 measured by CI at 056a622, +2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>