Commit Graph
12 Commits
Author SHA1 Message Date
mr.zero c5c0c02c03 dirs
ci/woodpecker/push/ebitengine Pipeline was successful
2026-08-30 23:21:06 +02:00
mr.zero 28b1662195 more refact 2026-08-30 23:01:48 +02:00
mr.zero 3890edc946 widget manager refact 2026-08-30 22:27:51 +02:00
mr.zeroandClaude Opus 5 258cbf85c0 The opening is a script now, not a slice in the wiring
ci/woodpecker/push/ebitengine Pipeline was successful
bootOpening built its actions in boot.go and appended the finale by hand,
which made the one thing a player sees first the only content not
authored as content. inkwell's OnStart takes a script name now, so the
opening moves to script.opening.go and boot names it.

The -finale flag becomes OnFinale, the engine's hook for a closing script
queued after the start one, so the branch is a hook rather than a slice
append. bootOpening's start parameter had been dead for a while; it goes
with the function.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 11:26:47 +02:00
mr.zeroandClaude Opus 5 220985ec57 Declare the managers in boot.go, hand them to the engine whole
ci/woodpecker/push/ebitengine Pipeline was successful
boot.manager.go becomes boot.go and carries all seven managers as one
block, so what the game holds reads in one place instead of a line hidden
in each category file. The category files keep their entity alias.

The hand-off stops copying. Our managers are the same *inkwell.Manager[T]
the Game holds, so New assigns them onto it and engine and game share one
registry per category. content.manager.go is gone with the copy loop.

Themes stay additive — NewGame seeds four presets we would otherwise
throw away — and registerScene becomes prepareScene, which now has to run
before the hand-off: with no copy pass left, the scene defaults are
written back into SceneManager with Set.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 10:37:02 +02:00
mr.zeroandClaude Opus 5 07312f0f29 Drop the duplicate Manager, use inkwell's
ci/woodpecker/push/ebitengine Pipeline was successful
The engine already had the registry the game was reimplementing:
inkwell.Manager[T Named], and every entity type here is an alias of an
engine struct, so they all carry GetName() already. manager.manager.go
and manager.interface.go are gone; a category manager is now one call to
inkwell.NewManager.

registerAll goes with it — Each does the hand-off — and the selector
writes its derived pins back with Set, which keeps the scene in place in
the registration order.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 09:51:17 +02:00
mr.zero da1410cb4a screen to scene
ci/woodpecker/push/ebitengine Pipeline was successful
2026-08-30 00:15:26 +02:00
mr.zero 94649a38fe register logic 2026-08-29 23:59:56 +02:00
mr.zero ddea3b0893 remove test files 2026-08-29 23:36:20 +02:00
mr.zero 1fa19f0b2e format fixes 2026-08-29 23:33:29 +02:00
mr.zero 954bd762f7 remove comments 2026-08-29 23:27:15 +02:00
mr.zero ec48cd6b37 new file structure 2026-08-29 23:25:36 +02:00