def visibility
import bendvy-ecs-core@0.1.0.4/feature.bend as Featureimport Base
import bendvy-ecs-core@0.1.0.4/schema_fragments.bend as SF
42# Collect own and referenced dependency entries recursively for visibility
43# description. This does not select/build dependencies or validate composition.
44def visibility(~S:Data,tree:Tree<S>) -> List<&2,SF.Entry<S>>:
45 match tree:
46 case Empty{}: []
47 case Feature{_,own,dependencies}: List.append(&2,SF.Entry<S>,own,visibility(~S,dependencies))
48 case Sequence{left,right}: List.append(&2,SF.Entry<S>,visibility(~S,left),visibility(~S,right))