def indexed_grow
bendvy-ecs-core@0.1.0.3 · column.bend:65
import bendvy-ecs-core@0.1.0.3/column.bend as Column
import Base
import indexed_lifecycle.bend as M
65def indexed_grow(~S:Data,~C:Type,fuel:Nat,values:Array<Maybe<&1,C>>,metadata:M.Metadata,+size:U32,+depth:Nat,+target:U32,enough:Bool) -> Column<S,C>:
66 match fuel enough:
67 case _ True{}: indexed_wrap(~S,~C,values,metadata)
68 case 0n False{}: indexed_wrap(~S,~C,values,metadata)
69 case 1n+rest False{}:
70 +next = U32.shl(size)
71 indexed_grow(~S,~C,rest,ANode{values,absent(~C,depth)},metadata,next,1n+depth,target,U32.is_le(target,next))