def cached_cell
bendvy-ecs-core@0.1.0.3 · execution_query_schema.bend:55
import bendvy-ecs-core@0.1.0.3/execution_query_schema.bend as ExecutionQuerySchema
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/execution_query_matches.bend as Q
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as Life
55def cached_cell(-P:Type,-V:Data,+offset:U32,+stamp:Life.Stamp,result:Array<Maybe<&1,L.Viewed<P,V>>> & Maybe<&1,L.Viewed<P,V>>) -> Array<Maybe<&1,L.Viewed<P,V>>> & Q.Row<V>:
56 match result:
57 case (values,None{}):(values,Q.StampedRow{offset,None{},stamp})
58 case (values,Some{L.Viewed{owner,+view}}):(Array.set(Maybe<&1,L.Viewed<P,V>>,values,U32.mod(offset,8),Some{L.Viewed{owner,view}}),Q.StampedRow{offset,Some{view},stamp})