stampPrefabInstance gathers canvas objects recursively through nested collections and emits them as a flat list of instance children, so a stamped instance loses whatever grouping the master had. Promoting a stamped result back into a new prefab won't reproduce the original hierarchy.
That was the agreed scope for the first cut of stamping (see #35) — instance ownership is typed to canvas objects, so cloning a collection means the instance owning collections too.
Worth keeping separate from what's left in #35 though. That issue's remainder is about cloning stations, segments and nodes, which drags in serialisation, deletion guards, hide-cascade and the line-reference question. This one only needs structure preserved for prefabs that are already pure canvas objects, and could be done without touching track at all.
Needs generatedChildIds (or a sibling list) to cover collections, _collectionParentOf entries for the clones, and the same deletion and hide-cascade handling that generated canvas objects already get.
`stampPrefabInstance` gathers canvas objects recursively through nested collections and emits them as a flat list of instance children, so a stamped instance loses whatever grouping the master had. Promoting a stamped result back into a new prefab won't reproduce the original hierarchy.
That was the agreed scope for the first cut of stamping (see #35) — instance ownership is typed to canvas objects, so cloning a collection means the instance owning collections too.
Worth keeping separate from what's left in #35 though. That issue's remainder is about cloning stations, segments and nodes, which drags in serialisation, deletion guards, hide-cascade and the line-reference question. This one only needs structure preserved for prefabs that are already pure canvas objects, and could be done without touching track at all.
Needs `generatedChildIds` (or a sibling list) to cover collections, `_collectionParentOf` entries for the clones, and the same deletion and hide-cascade handling that generated canvas objects already get.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
stampPrefabInstancegathers canvas objects recursively through nested collections and emits them as a flat list of instance children, so a stamped instance loses whatever grouping the master had. Promoting a stamped result back into a new prefab won't reproduce the original hierarchy.That was the agreed scope for the first cut of stamping (see #35) — instance ownership is typed to canvas objects, so cloning a collection means the instance owning collections too.
Worth keeping separate from what's left in #35 though. That issue's remainder is about cloning stations, segments and nodes, which drags in serialisation, deletion guards, hide-cascade and the line-reference question. This one only needs structure preserved for prefabs that are already pure canvas objects, and could be done without touching track at all.
Needs
generatedChildIds(or a sibling list) to cover collections,_collectionParentOfentries for the clones, and the same deletion and hide-cascade handling that generated canvas objects already get.