Isolate vendored test registration, namespace project error codes, and update dependency revisions. Fix mutable sprite path handling, out-of-tree fixtures, and charviewer initialization while documenting the outstanding character-to-sprite refcount bug. Co-authored-by: Codex (GPT-5) <noreply@openai.com>
1.0 KiB
1.0 KiB
TODO
- Make character-to-sprite state bindings release their references symmetrically.
akgl_character_sprite_add()increments the sprite refcount for every state-map binding, but no corresponding removal API exists. Replacing a state binding also leaves the previous sprite's refcount incremented. Whenakgl_heap_release_character()drops the character refcount to zero, it clears the character registry entry and zeroes the structure without enumeratingstate_sprites, decrementing the bound sprites, or destroying the SDL property map. Implement binding removal/replacement so each removed binding releases exactly one sprite reference. On final character release, enumerate every remaining binding (the existingakgl_character_state_sprites_iterate()release path may be reusable), release each reference, destroystate_sprites, and then clear the character. Add tests for removal, replacement, duplicate sprite bindings across multiple states, and final character release.