Repository navigation
Conversation
commit: |
cowboyd
force-pushed
the
tree-lifecycle
branch
from
August 10, 2026 17:30
e8242d9 to
768ec08
Compare
cowboyd
force-pushed
the
tree-lifecycle
branch
2 times, most recently
from
August 11, 2026 04:00
8ce50b9 to
577889b
Compare
cowboyd
force-pushed
the
tree-lifecycle
branch
2 times, most recently
from
August 22, 2026 05:24
e272d64 to
4d1a9a6
Compare
cowboyd
force-pushed
the
tree-lifecycle
branch
2 times, most recently
from
August 23, 2026 17:28
8a0f1ed to
a05004a
Compare
cowboyd
force-pushed
the
tree-lifecycle
branch
from
September 24, 2026 14:00
a05004a to
605dda9
Compare
Contributor
Author
|
closing out in favor of a DOM based substrate. See #37 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every later subsystem relies on nodes having a dependable attachment lifecycle. Creating a node must register it with its parent so inherited APIs can propagate through the actual tree, while destroying a subtree must remove every descendant cleanly. Lifecycle itself must also be middleware-extensible so hosts and future subsystems can react to attachment and removal without embedding those concerns in the tree primitive.
Stable node identities are also required when layout operations are handed to the terminal renderer. Providing lifecycle and identity through the same API mechanism proves that the abstraction works for foundational operations, not only higher-level UI behavior.
This PR adds middleware-extensible
create,destroy, andidlifecycle operations. Creation registers children and assigns stable identifiers, while destruction recursively removes a subtree from its parent.