Skärmdumpar på osynlig skärm och deterministiska bildrutor
All checks were successful
release / build-release (push) Successful in 1m42s

- tools/shots/headless.go: startar en egen headless Wayfire (wlroots
  headless-backend + Xwayland) och kör spelet där, så att inga fönster syns
  eller tar fokus från det man gör på datorn; snäll avstängning och
  städning av sockets; METRO_HEADLESS=0 använder skärmen
- skriptläget ritar scenen synkront vid shot så att bilden alltid speglar
  exakt den uppdateringen oavsett FPS (två körningar ger identiska PNG:er)
- README/roadmap: hur den osynliga skärmen fungerar och används manuellt

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 11:40:49 +02:00
parent 915c684dc2
commit ef6cfaccc8
12 changed files with 155 additions and 1 deletions

View File

@@ -206,6 +206,7 @@ func (s *script) tick(g *Game, frame *ebiten.Image) error {
s.advance()
}
case "shot":
g.scene.Draw(g, frame) // rita nu, så att bilden speglar exakt denna uppdatering oavsett FPS
if err := saveShot(frame, st.arg); err != nil {
return err
}