// Copyright (c) 2026 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT var scene = {}; // Pokemon DS-style camera: ~34 degrees elevation (atan(6/9)). // CAM_HEIGHT / CAM_DIST ratio controls the tilt - keep it under 0.7 for // the characteristically shallow DS angle. const CAM_HEIGHT = 6; const CAM_DIST = 9; scene.init = async function() { // Camera scene.cam = Entity.create(); var camPos = scene.cam.add(Component.POSITION); var cam = scene.cam.add(Component.CAMERA); camPos.localPosition = new Vec3(3, 3, 3); camPos.lookAt(new Vec3(0, 0, 0)); // Floor - large flat slab, no texture needed. scene.floor = Entity.create(); var floorPos = scene.floor.add(Component.POSITION); var floorR = scene.floor.add(Component.RENDERABLE); floorR.type = Renderable.SHADER_MATERIAL; floorR.color = Color.BLUE; // floorPos.localScale = new Vec3(16, 0.2, 16); // floorPos.localPosition = new Vec3(0, -0.1, 0); await UIFullboxOver.transition(Color.BLACK, Color.TRANSPARENT, 1.0); }; scene.update = function() { }; scene.dispose = function() { Entity.dispose(scene.floor); Entity.dispose(scene.cam); }; module.exports = scene;