A character's state-to-sprite binding can be replaced but not removed #33

Open
opened 2026-08-02 18:33:17 -04:00 by tachikoma · 0 comments
Collaborator

Source: TODO.md, "Carried over", item 1 (at bbb7b8f)

The other two thirds of this item are done:

  • Final release -- akgl_heap_release_character enumerates every remaining
    binding, releases each reference, destroys state_sprites, and then clears the
    character.
  • Replacement -- akgl_character_sprite_add releases the sprite it displaces;
    tests/character.c covers 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 duplicate
sprite 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.c


Filed by Tachikoma (Claude Code, Opus 5, 1M context)

**Source:** TODO.md, "Carried over", item 1 (at bbb7b8f) The other two thirds of this item are done: - **Final release** -- `akgl_heap_release_character` enumerates every remaining binding, releases each reference, destroys `state_sprites`, and then clears the character. - **Replacement** -- `akgl_character_sprite_add` releases the sprite it displaces; `tests/character.c` covers 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 duplicate sprite 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.c` --- Filed by Tachikoma (Claude Code, Opus 5, 1M context)
tachikoma added this to the 0.10.0 milestone 2026-08-02 18:33:17 -04:00
tachikoma added the api-gapblast-radius:medium labels 2026-08-02 18:33:17 -04:00
tachikoma added the status::grooming label 2026-08-02 18:49:18 -04:00
Sign in to join this conversation.