def population

bendvy-ecs-core@0.1.0.4 · ordinary_app_population.bend:51

import bendvy-ecs-core@0.1.0.4/ordinary_app_population.bend as OrdinaryAppPopulation
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/ordinary_app_schema.bend as SchemaApp
import bendvy-ecs-core@0.1.0.4/ordinary_app_composer.bend as Build
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Records
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO

51# Return the App with Some detached population only when debug is enabled;
52# disabled returns None without traversal. Enabled scans live handles and
53# preserves storage owners through the count callback. Registered query/event
54# cursors do not advance; raw counting callbacks remain trusted setup.
55def population(~S:Data,~C:Type,~R:Type,~E:Data,~H:Type,~Rows:Data,~observe:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~fold:H -> H & List<&2,Records.Fields<S>>,~count:C -> List<&2,W.Handle<S>> -> C & List<&2,Maybe<&2,U32>>,app:Application<S,C,R,E,H,Rows,observe,fold,count>) -> Application<S,C,R,E,H,Rows,observe,fold,count> & Maybe<&2,Population>:
56  match app:
57    case Application{SchemaApp.Application{schema,Build.Registered{world,owners,recipe,False{}}}}:(Application{SchemaApp.Application{schema,Build.Registered{world,owners,recipe,False{}}}},None{})
58    case Application{SchemaApp.Application{schema,Build.Registered{world,owners,recipe,True{}}}}:scanned(~S,~C,~R,~E,~H,~Rows,~observe,~fold,~count,schema,owners,recipe,W.handles(~S,~C,~R,~E,world))

Uses (16)

Used by (1)