Switch to oup, Physics to Scene, CtxMenu, TileView, getAsset

  • Replace std::shared_ptr/weak_ptr with oup observable pointers
  • Move Physics out of Assets into Scene; Assets no longer owns physics
  • Add getAsset() to Node via Scene::getAssets() for asset access
  • Remove Assets parameter from node constructors; use getAsset instead
  • Add Physics struct; Scene takes optional hasPhysics flag
  • Scene::tick now steps physics simulation
  • Defer physics destruction until after scene teardown
  • Add CtxMenu node wrapping Img + VLayout for context menus
  • Replace raw Img+VLayout menus in scene editor with CtxMenu
  • Add tint uniform to img shader and Img::Ctor
  • Make Img non-final to allow subclassing
  • Add scissor support to NodeUi via scissorCache
  • Add Render::getScissor and getUiViewProj helpers
  • WIP: Implement TileView with scrollable grid, scissor clipping, bg image
  • WIP: Implement TileViewItem as Img subclass with setItem
  • Rename BlackHoleSingularityProjectile to BhsProjectile
  • Change setAnim to take const AnimAsset reference instead of pointer
  • Add SkMesh::clearAnim
  • Change socketedNodes to use NodeId key with observer_ptr
  • Change all tick signatures from float to double dt
  • Make snapping default to true in scene editor
  • Add hp-ico, mana-ico, xy textures to asset preloads

Previous