Files
feuerwerk/tools
adminandClaude Opus 5.5 c7dc0e4733
game-maker / gate (push) Successful in 2m51s
game-maker / suite (push) Successful in 14m57s
Leave hiding and deleting a link to its right-click menu
The inspector of a picked link carried the buttons Hide link and
Delete link below its facts. Both actions are in the right-click
menu of the line since #289, and Delete removes a picked link as
well. The user asked for the buttons to go.

- buildEdgeSection in editor/inspector/edgeSection.ts only
  describes now: the two ends, the type, and for a transition its
  name field.
- The button under several picked links and Delete transition in a
  state machine go with them. They came from the same line of
  code, and the menu offers both.
- The note under several links stays. It speaks of the Delete key.

Tests:
- Gate on melektaus-atx: 212 files, 3260 tests, exit 0.
- e2e 4,6,26 on melektaus-atx: 275 checks, all pass.
- No full run and no smokes. The sum of e2e checks stays at 1676,
  which is reckoned.
- Module 06 now checks that the inspector of a picked link shows
  neither button. Its menu check finds Hide link and Delete link
  only in the menu, where it had to take the one drawn last before.
- Module 26 checks that a picked transition shows no Delete
  transition.
- No unit test names the buttons. No counter-probe was run. The
  old checks found both texts in the inspector, which is the state
  the new ones would fail on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:50:51 +02:00
..
Plugins belong to the project, and they load before it: the project file gained the field plugins: ["demo-plugin.js"] (default empty, no formatVersion bump), the Plugins tab's switch writes into it as an ordinary undo step (SetPluginActiveCommand) instead of into a server-wide plugins.json, and the start order is turned around - startPlugins only fetches the list of files, then editor.boot() runs and ProjectStore.load(id, prepare) hands the raw JSON through before it is deserialized, where pluginsOf(raw) reads the list and PluginManager.syncTo() activates exactly those; that is the point of the issue, because what a plugin registers has to stand there before normalizeGraph would throw it away as unknown (#126, #127), a project switch first stops what the new project does not name and then starts what it does, a file the server does not have is passed over silently, and after signing out the manager is dead so a late event cannot start anything in a torn-down session; on the server plugins.json, PluginStore::setActive, isActive, the route PUT ?r=plugins/{file} and the 403 for inactive modules are gone and GET ?r=plugins only answers {file,bytes,updatedAt}, which makes every plugin file fetchable - the consequence accepted in #117, written down in the wiki for #115 and #116; publishPlugins(root) only copies files now, the seeder switches the demo plugin on in the fixture project, and the Plugins tab carries a puzzle piece as its icon while only a plugin's own tab still goes without one (the knob and the socket are cubic curves, not arcs, which Pixi's parser draws as a spike after an L); 3 new e2e checks in module 38 and 5 new unit tests cover the project as the owner of the switch, its undo, the order, pluginsOf against crude input and an unknown file name (#119)
2026-09-20 14:24:27 +02:00