feat(levels): level catalogue with stable ids (slice 7)

LevelResource gains a stable Id and swaps the string ScenePath for an
editor-tracked PackedScene. The old path field was never read and had
rotted - forest_1 pointed at level_forest_5.tscn, which doesn't exist,
and borrowed LEVEL_5_NAME so it would have displayed "VILLAGE - 5".

LevelCatalogue lists levels in campaign order and produces the domain's
Campaign; an authoring mistake fails at boot because Campaign.Of rejects
blank and duplicate ids. Not a domain port - nothing in the domain
resolves a level to a scene.

All 8 scenes now have a resource; campaign keeps the existing 6
(tutorial_1, village_1..5). village_6 and forest_1 are catalogued but
deliberately out of the campaign.

GameManager.LevelScenes stays until slice 10 rewrites GameManager.
This commit is contained in:
2026-07-28 19:28:56 +02:00
parent 330e10880c
commit f991bb99fc
14 changed files with 155 additions and 32 deletions

View File

@@ -61,3 +61,6 @@ MAGNETIC_DESCRIPTION,Attract coins,Przyciąga monety w pobliżu
LEVEL_1_TOOLTIP_1,Some blocks might collapse,Niektóre bloki mogą się zapaść.
LEVEL_1_TOOLTIP_2,Jump to the other side!,Przeskocz na drugą stronę!
LEVEL_1_TOOLTIP_3,"To rescue your child, you need to find the lever.",Uratuj dziecko poprzez aktywację dźwigni.
LEVEL_TUTORIAL_1_NAME,TUTORIAL,SAMOUCZEK
LEVEL_6_NAME,VILLAGE – 6,WIOSKA – 6
LEVEL_FOREST_1_NAME,FOREST – 1,LAS – 1
1 key en pl
61
62
63
64
65
66