Skip to content

Daily Log - 2025-12-08

Summary

  • Finished renaming keyframe flipbook exports to flipbookEvents across extractor and frontend, keeping data in GLTF extras.
  • Hardened hash resolution for flipbook events (name-hash and clip-hash), skipping unresolved entries instead of exporting anim_xxxx fallbacks.
  • Added frontend fixes for normalized event times and timeScale-aware playback for TFT companions.
  • Implemented flipbook reset on T-pose/stop and removed debug spam once validated.
  • Added loop grace period in submesh visibility processing to prevent flicker when animations loop.
  • Optimized frontend flipbook events: guarded per-frame calls and cached sorted event times to avoid allocations; removed unused properties.
  • Documented flipbook events pipeline and binary structures; added best-practice note for loop grace handling.

Details

  • Extractor: HasFlipbookEvents flag, name-first export; flipbookEvents written to skeleton extras; GltfAsset property renamed accordingly.
  • Frontend: flipbookEvents handling uses animation duration for normalized times; guard around update call; event time caching; loop grace period state reset on load/start/stop.
  • Docs: Added tft-flipbook-events.md and updated best-practices.md with loop grace guidance.

Risks / Next Steps

  • Monitor any models with unusual submeshVisibilityEvents timing; adjust grace frames if future flicker reports arise.
  • Consider a configurable grace-frame value if different frame rates become common.

Built for engineers and AI assistants working on Khada.