0.8.57AUGUST 2026

SNAPSHOT · EDIT · COMMIT

Start with the object.
Keep the draft separate.

A specialized child can now initialize local draft state directly from one parent plain-object state prop, preserving familiar editor composition without shipping a component runtime.

2Independent state slots
1Existing compiler path
0 BNew runtime code
P1

PLAIN-OBJECT PROP DRAFT STATE

Preserve composition.
Separate ownership.

PROOF

Prove the parent

The parent state must start from one direct JSON-safe plain-object literal.

OWNERSHIP

Own the draft

The child receives an independent state slot and setter.

CALLBACK

Commit explicitly

The authored callback moves the latest draft back to parent state.

STRUCTURE

Keep SignalIR

The direct prop retains its structural parent signal relationship.

BOUNDARY

Reject arrays

Arrays, aliases, property paths, and composed values remain fail-closed.

OUTPUT

Ship no runtime

The existing handler and binding capabilities perform every update.

UPGRADE

Keep ordinary object editors shaped like ordinary React.

$npm install @kudzujs/core@^0.8.57