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>
This commit is contained in:
2026-08-30 10:37:02 +02:00
co-authored by Claude Opus 5
parent a70dff8771
commit 220985ec57
13 changed files with 96 additions and 78 deletions
-6
View File
@@ -8,8 +8,6 @@ import (
type Theme = inkwell.Theme
var ThemeManager = inkwell.NewManager[Theme]()
const (
RealWorld = "realworld-93"
NokiaPunk = "nokia-punk"
@@ -32,7 +30,3 @@ func RGBA(hex uint32, a uint8) color.Color {
A: a,
}
}
func registerTheme() {
ThemeManager.Each(World.G.ThemeManager.Register)
}