Tasks follow the architecture spec phases: - Phase 0: key field on UElement (2 tasks + review) - Phase 1: reactive-host bridge / fiber tree (4 tasks + review) - Phase 2: key-based children reconciliation (3 tasks + review) - Phase 3: unmount & dispose support (4 tasks) - Phase 4: TypeBox value optimizations (4 tasks) Validated with taskgraph CLI: no cycles, 15 parallel generations, 3 high-risk tasks identified (signal-driven-updates, commit-mutations, fiber-disposal).
1.4 KiB
1.4 KiB
id, name, status, depends_on, created, modified, scope, risk, impact, level
| id | name | status | depends_on | created | modified | scope | risk | impact | level | |
|---|---|---|---|---|---|---|---|---|---|---|
| fiber-type | Define Fiber and Effect types | pending |
|
2026-05-18T16:22:57.140011417Z | 2026-05-18T16:22:57.140011873Z | narrow | medium | phase | implementation |
Description
Define the Fiber<I> interface and Effect type in a new file src/host/fiber.ts. The fiber tree is the reconciler's internal state — it maps UElement positions to host instances across renders. This is the foundational type that all reconciler work builds on.
The Fiber type is generic over I (matching HostConfig's Instance type) so each fiber carries a reference to its host instance. This is the bridge: fiber → host instance → host-specific state.
Acceptance Criteria
Fiber<I>interface defined with all fields:instance,tag,props,key,children,parent,effect,signalDisposers,prevPropsEffectunion type defined with variants:update,insert,move,remove- Types are exported from
src/host/fiber.ts - Types are re-exported from
src/mod.tsbarrel - TypeScript compiles (
npm run build:tsc) - No runtime behavior changes — this is type-only
References
- docs/architecture/reconciler.md — Fiber Node, Effect Types sections
- docs/architecture/lifecycle.md — Fiber Tree Disposal (signalDisposers field)
Notes
To be filled by implementation agent
Summary
To be filled on completion