def despawn_path
bendvy-ecs-core@0.1.0.3 · execution_command_publication.bend:126
import bendvy-ecs-core@0.1.0.3/execution_command_publication.bend as ExecutionCommandPublication
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_command_buffer.bend as Buffer
import bendvy-ecs-core@0.1.0.3/execution_command_removed.bend as Removed
import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as Permission
import bendvy-ecs-core@0.1.0.3/execution_relation_context.bend as Context
import bendvy-ecs-core@0.1.0.3/execution_relation_linked_despawn.bend as Linked
126def despawn_path(~S:Data,~R:Type,~E:Data,~layout:Layout.Layout,~route:Layout.Route,~resources:Layout.Layout,~sameWR:{R == Layout.resources(~S,resources) : Type},~selection:Permission.Selection<S,resources>,~relations:Permission.Relations<S,resources>,protected:Bool,context:Context.Context<S,R,resources,sameWR>,permission:Permission.Permission,world:W.World<S,Layout.columns(~S,layout),R,E>,+handle:W.Handle<S>,tick:Tick.Tick) -> W.World<S,Layout.columns(~S,layout),R,E> & Buffer.Receipt<S,Layout.payload(layout,route),Removed.Removed(layout)>:
127 match protected:
128 case False{}:despawn_namespace(~S,~R,~E,~layout,~route,handle,permission,W.namespace(~S,~Layout.columns(~S,layout),~R,~E,world),tick)
129 case True{}:Linked.apply(~S,~Layout.columns(~S,layout),~R,~E,~Layout.payload(layout,route),~Removed.Removed(layout),~resources,~sameWR,~selection,~relations,~scope_dispose(~S,~R,~E,~layout,~route),context,permission,world,handle,tick)