Ctor structs, node IDs, Scene/Physics into node.hpp, cleanup

  • Add Ctor structs to Node3d, NodeUi, SkMesh, Mesh, PointLight, Spotlight, Img, Label, MenuItem, RadialProgress, TileView, Scrollbar
  • Pass position/scale/rot via Ctor instead of post-construction setters
  • Add Node::getId() using stable per-instance integer IDs
  • Remove toNodeId(void*) pointer-hash; replace with Node::getId()
  • Add idToNode map to Scene for O(1) getById lookup
  • Move Scene and Physics declarations from scene.hpp into node.hpp
  • Delete scene.hpp; update all includes accordingly
  • Use swap-and-pop for O(1) node removal in Scene::cleanup
  • Move Scene to oup::observable_sealed_ptr in gameplay and editor
  • Add scene pointer cached in Node constructor to avoid root traversal
  • Add Node3d::Ctor forwarding through inheritance chain
  • Fix Scrollbar::getPos renamed to getVal for consistency
  • Fix scrollbar shader thumb UV calculation
  • Update scrollbar assets
  • Use oup::make_observable_sealed for Scene in gameplay and editor
  • Set editor scene to uiMode by default
  • Various glm brace-initialization cleanups

Next - Previous