Files
anomalyco__opentui/packages/react/tests
Sebastian ff1fc35582 fix(core): identity-based child management, resolves duplicate-id culling corruption (#1224)
## Breaking

- `remove(id: string)` → `remove(child: BaseRenderable)` across all
renderables;
  strings throw at runtime. Look up via `getRenderable(id)` /
  `findDescendantById(id)` when needed (docs updated).

## Core

- All internal child bookkeeping uses object identity;
`renderableMapById` removed,
  ids remain as a pure query API (first match wins on duplicates)
- `remove` warns in dev when the object is not a child; ScrollBox routes
internal
parts (wrapper, scrollbars) by parentage so `destroy()` fully detaches
them
- TextNode reparenting hygiene in
`add`/`replace`/`insertBefore`/`children`
- `destroy()` no longer skips children (live-array iteration bug) and
clears
  z-index/pending-update state

## Renderer (zig)

- Frame output buffers grow on demand instead of dropping ANSI mid-frame
while
  still committing cells (the source of "stale cells never repainted")
- Failed growth reports `.failed` → forced full repaint; partial frames
are not
flushed; buffers shrink back after 64 small frames; `deinit` frees with
the
  owning allocator

## Frameworks

- react/solid reconcilers pass child references; react host config
tolerates
  teardown overlap (unmount during `renderer.destroy()`)
2026-07-03 16:24:36 +02:00
..
2026-04-28 02:10:37 +02:00