Column.evacuate_phase: def of bendvy-ecs-core@0.1.0.3 Import: import bendvy-ecs-core@0.1.0.3/column.bend as Column Lines 205-213 of bendvy-ecs-core@0.1.0.3/column.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.3/column.bend&start_line=205&end_line=213 import Base import owner_handoff.bend as H def evacuate_phase(~S:Data,~C:Type,gas:Nat,phase:EvacuationPhase) -> Array> & H.PrototypeHandoffRows: match gas phase: case _ Fetch{0n,_,values,rows}: (values,rows) case 0n Fetch{_,_,values,rows}: (values,rows) case 0n Taken{_,_,rows,(values,None{})}: (values,rows) case 0n Taken{_,id,rows,(values,Some{owner})}: (values,H.HandoffCon{id,owner,rows}) case 1n+more Fetch{1n+rest,+id,values,rows}: evacuate_phase(~S,~C,more,Taken{rest,id,rows,Array.swap(Maybe<&1,C>,values,U32.sub(id,1),None{})}) case 1n+more Taken{fuel,+id,rows,(values,None{})}: evacuate_phase(~S,~C,more,Fetch{fuel,U32.sub(id,1),values,rows}) case 1n+more Taken{fuel,+id,rows,(values,Some{owner})}: evacuate_phase(~S,~C,more,Fetch{fuel,U32.sub(id,1),values,H.HandoffCon{id,owner,rows}}) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.swap https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/column.bend&name=EvacuationPhase https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/owner_handoff.bend&name=PrototypeHandoffRows