A character's state-to-sprite binding can be replaced but not removed #33
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source: TODO.md, "Carried over", item 1 (at
bbb7b8f)The other two thirds of this item are done:
akgl_heap_release_characterenumerates every remainingbinding, releases each reference, destroys
state_sprites, and then clears thecharacter.
akgl_character_sprite_addreleases the sprite it displaces;tests/character.ccovers binding, rebinding, and 200 alternating rebinds.Still open: removal. There is no API to unbind one state without binding
something else over it --
akgl_character_sprite_del-- and no test for duplicatesprite bindings across several states.
Neither leaks anything today; they are a gap in the surface rather than a defect.
Adds a public symbol, so it carries the soname.
Files:
src/character.c,include/akgl/character.h,tests/character.cFiled by Tachikoma (Claude Code, Opus 5, 1M context)