- level.Schedule.Phase: away/approaching/arriving/dwelling/closing/leaving
ur tidtabellen med progress; Boardable (öppna dörrar) och Present;
validering av minsta uppehåll/borta-tid; TrackTile för rälsen
- sim.Run: ombordstigning bara med öppna dörrar, TrainVisible via Present,
PlatformPhase och NearTrack (närmaste perrong inom två rutor)
- game/trains.go: rälsrutor längs kantraden (roterade för vertikala spår),
tre vagnar som bromsar in och accelererar ut längs rälsen, strålkastare
under inrullningen, blinkande lampor vid kanten för den som står nära,
dammpartiklar längs perrongen; kameran får en rutas marginal så att
kanträlsen syns
- game/audio.go: ebiten/v2/audio med avgångsmelodi (approaching) och
dörrsignal (closing), volym efter avstånd, -mute; tools/gensound
syntetiserar placeholder-WAV:ar
- HUD: fasberoende perrongtext och "tåg på väg in" nära rälsen;
skriptkommandot waitphase; skärmdump av ankomsten
- plan (Björn 2026-10-24): räls/väg-grafik och melodierna i M7b; folk/NPC:er,
vänster-/högertrafik, bredare gångar, reklam- och ljudröra som nytt steg
M9b – i spelbeskrivning, roadmap, testplan
- docs/README/wiki uppdaterade
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Go 1.27 + Ebitengine v2.10, intern upplösning 320x180 med heltalsskalning
- internal/res (resursuppslag), internal/rng (seedad slump), internal/level
(banformat, validering, BFS-lösbarhet) med tester; internal/archtest
kontrollerar att bara presentationslagret beror på Ebitengine
- tools/build: debug -> build/debug/, release -> build/release/<os>-<arch>/
med resources/ bredvid binären; Windows korsbyggs utan C-verktyg
- VS Code tasks (build/test/release) och launch (dlv)
- Första banan 001-flygplatsen, sv/en-texter, skyltordbok, placeholder-sprite
- doc/: spelbeskrivning (renskriven), mål och tester, roadmap med teknikval
(M0–M12), plan.md; README med bygg- och beroendeinformation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>