def observer
import bendvy-ecs-core@0.1.0.4/ordinary_app_resource_field_declaration.bend as OrdinaryAppResourceFieldDeclarationimport Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
63# Advanced App projection: consume this declaration to obtain its World-returning
64# Data observer. Observing uses the declared projection; no live owner is copied.
65def observer(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~V:Data,declaration:Declaration<S,C,R,E,Ops,V>) -> W.World<S,C,R,E> -> W.World<S,C,R,E> & V:
66 match declaration:
67 case Declaration{_,observe,_}:observe