def program_for_buffer

bendvy-ecs-core@0.1.0.3 · execution_command_system.bend:28

import bendvy-ecs-core@0.1.0.3/execution_command_system.bend as ExecutionCommandSystem
import Base
import bendvy-ecs-core@0.1.0.3/execution_effects.bend as E
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/execution_builder.bend as Build
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_command_local.bend as Local
import bendvy-ecs-core@0.1.0.3/execution_command_buffer.bend as Buffer
import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as Permission
import bendvy-ecs-core@0.1.0.3/execution_command_removed.bend as Removed

28def program_for_buffer(~S:Data,~C:Type,~R:Type,~layout:Layout.Layout,~resources:Layout.Layout,~route:Layout.Route,~Ops:Data -> (Type -> Type) -> Type -> Type -> Type,~declaration:Program(~S,~C,~R,~layout,~resources,~route,~Ops),~Permit:Data,~token:Permit,~F:Type -> Type,~effects:E.Effects<F>,~request:Permit -> F(W.Reservation<S>),~H:Type,~B:Type,~builder:Build.Builder(~S,~(Layout.columns(~S,layout)),~C,~R,~Permit,~F,~H,~B),book:B) -> B & ScopedOps(~S,~layout,~resources,~route,~Ops,Permit,F,H):
29  Permission.prepared(~S,~layout,~resources,B,Ops(Permit,F,H,Buffer.Buffer<S,Layout.payload(layout,route),Removed.Removed(layout)>),declaration(Permit,F,effects,H,Buffer.Buffer<S,Layout.payload(layout,route),Removed.Removed(layout)>,Local.canonical(~S,~(Layout.payload(layout,route)),~(Removed.Removed(layout))),B,builder,Permission.Book<S,layout,resources>,Permission.grant(~S,~layout,~resources,~Permit,~F,~(Buffer.Buffer<S,Layout.payload(layout,route),Removed.Removed(layout)>),~(Buffer.despawn(~S,~(Layout.payload(layout,route)),~(Removed.Removed(layout)))),~(Buffer.spawn(~S,~(Layout.payload(layout,route)),~(Removed.Removed(layout)),~Permit,~F,~effects,~token,~request))),Permission.relation_grant(~S,~layout,~resources,~Buffer.Buffer<S,Layout.payload(layout,route),Removed.Removed(layout)>,~Buffer.relation(~S,~Layout.payload(layout,route),~Removed.Removed(layout))),Permission.scope_grant(~S,~layout,~resources,~Buffer.Buffer<S,Layout.payload(layout,route),Removed.Removed(layout)>,~Buffer.lifetime_scope(~S,~Layout.payload(layout,route),~Removed.Removed(layout))),book,Permission.fresh(~S,~layout,~resources)))

Uses (23)

Used by (11)