Assets, scene, skeleton, add projectile and timer
- Expose all assets as named members on Assets class
- Create Scene class from Node with cleanup, remove, getById
- Separate Skeleton into standalone asset (skeleton.cpp/hpp)
- Separate Joint struct into joint.hpp
- Add Mob base class with applyDamage interface
- Add BlackHoleSingularityProjectile node with collision
- Add Timer singleton for deferred callbacks
- Move animation update from tick to geomPass
- Add looping flag to setAnim; support non-looping animations
- Add inner body shape and user data to character physics
- Set user data on static mesh bodies for collision lookup
- Replace getRoot with getScene returning typed Scene pointer
- Add getCam to Render
- Add border sampler flags to fix artifacts on the edges of the screen
- Use double precision for dt and animation time
- Remove anim-test asset; clean up gameplay scene setup
- Move export-gltf.py to project root
- Guardian: add HP, applyDamage, death and receive-hit logic
Just was working on my game the whole day — today is Saturday, so…