Frontmatter
| id | 8671 |
| title | Implement Topology Mutation (Re-parenting) |
| state | Closed |
| labels | enhancementaiperformance |
| assignees | tobiu |
| createdAt | Jan 15, 2026, 3:39 AM |
| updatedAt | Jan 15, 2026, 3:44 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8671 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8661 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 15, 2026, 3:44 AM |
Implement Topology Mutation (Re-parenting)

tobiu
Jan 15, 2026, 3:44 AM
Input from Gemini 3 Pro:
✦ I have implemented Topology Mutation.
Changes:
- Detach: Child nodes now have a small random chance (0.05% per frame) to set their
parentIdto-2(Drifting).- Drift: Drifting nodes ignore cohesion and wander randomly.
- Re-attach: Drifting nodes constantly scan for nearby Cluster Centers (Parents). If they come within 60px of a new Parent, they snap to it (
parentId = newParentId).- Visuals: Drifting nodes are highlighted (
HIGHLIGHTcolor) and pulse to indicate their transient state.The swarm is now mutable: nodes actively leave their clusters, drift through the ether, and join new groups.
Objective
Visualize Atomic Moves and Object Permanence by making the graph topology mutable at runtime.
Tasks
CHILDnode should set itsparentIdto-2(Drifting).parentIdto new ID) and joins the cluster cohesion physics.Technical Details
updatePhysicsloop to handle the "Drifting" state.