def component

bendvy-ecs-core@0.1.0.4 · ordinary_schema_provision.bend:33

import bendvy-ecs-core@0.1.0.4/ordinary_schema_provision.bend as OrdinarySchemaProvision
import Base
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity

33# Declare a component with matching empty-column/counting operations.
34# Does not allocate a World or consume a component payload; combines with
35# product for heterogeneous affine schema storage.
36def component(~S:Data,~P:Type,declaration:Identity.Declaration<S,P>) -> Provision<S,Col.Column<S,P>,Unit,component_empty(~S,~P),component_count(~S,~P)>:
37  Provision{Schema.component(~S,~P,declaration)}

Uses (7)

Used by (1)