dreamwell_runtime/scene.rs
1// Scene — bridges engine GameObjectScene to GPU rendering via GpuScene.
2// All game objects live in `GameObjectScene`. Legacy `SceneEntity` removed in v1.0.0.
3
4use dreamwell_engine::game_object::GameObjectScene;
5use dreamwell_gpu::camera::Camera;
6
7/// The runtime scene — holds the engine scene and camera.
8pub struct Scene {
9 pub camera: Camera,
10 /// Engine-side game object scene (primitives, components, hierarchy).
11 pub game_objects: GameObjectScene,
12}
13
14impl Default for Scene {
15 fn default() -> Self {
16 Self {
17 camera: Camera::default(),
18 game_objects: GameObjectScene::new("Runtime".into()),
19 }
20 }
21}
22
23impl Scene {
24 /// Number of game objects in the scene.
25 pub fn object_count(&self) -> usize {
26 self.game_objects.len()
27 }
28}