GapCircleScene::class, 'multiply' => MultiplyScene::class, 'rings' => ConcentricScene::class, 'marble' => MarbleScene::class, 'zoom' => ZoomRingsScene::class, 'stairs' => StairsScene::class, 'tunnel' => TunnelScene::class, 'spiral' => SpiralScene::class, 'checker' => WaveGridScene::class, 'ripple' => DotRippleScene::class, 'dominos' => DominoScene::class, 'cats' => CatBounceScene::class, 'rain' => RainPondScene::class, 'pendulum' => PendulumScene::class, 'plinko' => PlinkoScene::class, ]; public function enter(array $params = []): void { $class = self::TEMPLATES[(string)($params['template'] ?? 'gap')] ?? GapCircleScene::class; $this->scenes()->switchTo($class, $params, false); } public function update(float $dt): void { } public function render(Renderer $r): void { $r->clear([8, 8, 16]); } }