2929```
3030TAG :: fragment
3131NAME :: fragment
32+
33+ UNIQUE :: fragment
34+ EXPLICIT :: fragment
35+
3236DEFAULT :: fragment
3337DUPLICATE :: fragment
3438
39+ PREFAB :: fragment
40+ DISABLED :: fragment
41+
3542INCLUDES :: fragment
3643EXCLUDES :: fragment
3744
@@ -48,8 +55,6 @@ EXECUTE :: fragment
4855PROLOGUE :: fragment
4956EPILOGUE :: fragment
5057
51- DISABLED :: fragment
52-
5358DESTROY_POLICY :: fragment
5459DESTROY_POLICY_DESTROY_ENTITY :: id
5560DESTROY_POLICY_REMOVE_FRAGMENT :: id
@@ -66,17 +71,20 @@ unpack :: id -> integer, integer
6671defer :: boolean
6772commit :: boolean
6873
69- is_alive :: chunk | entity -> boolean
70- is_alive_all :: chunk | entity... -> boolean
71- is_alive_any :: chunk | entity... -> boolean
74+ spawn :: <fragment, component>? -> entity
75+ clone :: entity -> <fragment, component>? -> entity
76+
77+ alive :: entity -> boolean
78+ alive_all :: entity... -> boolean
79+ alive_any :: entity... -> boolean
7280
73- is_empty :: chunk | entity -> boolean
74- is_empty_all :: chunk | entity... -> boolean
75- is_empty_any :: chunk | entity... -> boolean
81+ empty :: entity -> boolean
82+ empty_all :: entity... -> boolean
83+ empty_any :: entity... -> boolean
7684
77- has :: chunk | entity, fragment -> boolean
78- has_all :: chunk | entity, fragment... -> boolean
79- has_any :: chunk | entity, fragment... -> boolean
85+ has :: entity, fragment -> boolean
86+ has_all :: entity, fragment... -> boolean
87+ has_any :: entity, fragment... -> boolean
8088
8189get :: entity, fragment... -> component...
8290
@@ -85,67 +93,84 @@ remove :: entity, fragment... -> ()
8593clear :: entity... -> ()
8694destroy :: entity... -> ()
8795
88- multi_set :: entity, fragment[], component[]? -> ()
89- multi_remove :: entity, fragment[] -> ()
90-
9196batch_set :: query, fragment, component -> ()
9297batch_remove :: query, fragment... -> ()
9398batch_clear :: query... -> ()
9499batch_destroy :: query... -> ()
95100
96- batch_multi_set :: query, fragment[], component[]? -> ()
97- batch_multi_remove :: query, fragment[] -> ()
98-
99- chunk :: fragment, fragment... -> chunk, entity[], integer
100-
101- entities :: chunk -> entity[], integer
102- fragments :: chunk -> fragment[], integer
103- components :: chunk, fragment... -> component[]...
104-
105101each :: entity -> {each_state? -> fragment?, component?}, each_state?
106102execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
107103
108104process :: system... -> ()
109105
110- spawn_at :: chunk?, fragment[]?, component[]? -> entity
111- spawn_as :: entity?, fragment[]?, component[]? -> entity
112- spawn_with :: fragment[]?, component[]? -> entity
113-
114106debug_mode :: boolean -> ()
115107collect_garbage :: ()
116108```
117109
110+ ## Chunk
111+
112+ ```
113+ chunk :: fragment, fragment... -> chunk, entity[], integer
114+
115+ chunk:alive :: boolean
116+ chunk:empty :: boolean
117+
118+ chunk:has :: fragment -> boolean
119+ chunk:has_all :: fragment... -> boolean
120+ chunk:has_any :: fragment... -> boolean
121+
122+ chunk:entities :: entity[], integer
123+ chunk:fragments :: fragment[], integer
124+ chunk:components :: fragment... -> component[]...
125+ ```
126+
118127## Builder
119128
120129```
121130builder :: builder
131+
132+ builder:spawn :: entity
133+ builder:clone :: entity -> entity
134+
122135builder:has :: fragment -> boolean
123136builder:has_all :: fragment... -> boolean
124137builder:has_any :: fragment... -> boolean
138+
125139builder:get :: fragment... -> component...
140+
126141builder:set :: fragment, component -> builder
127142builder:remove :: fragment... -> builder
128143builder:clear :: builder
144+
129145builder:tag :: builder
130146builder:name :: string -> builder
131- builder:prefab :: entity -> builder
132- builder:single :: component -> builder
147+
148+ builder:unique :: builder
149+ builder:explicit :: builder
150+
133151builder:default :: component -> builder
134152builder:duplicate :: {component -> component} -> builder
153+
154+ builder:prefab :: builder
155+ builder:disabled :: builder
156+
135157builder:include :: fragment... -> builder
136158builder:exclude :: fragment... -> builder
159+
137160builder:on_set :: {entity, fragment, component, component?} -> builder
138161builder:on_assign :: {entity, fragment, component, component} -> builder
139162builder:on_insert :: {entity, fragment, component} -> builder
140163builder:on_remove :: {entity, fragment} -> builder
164+
141165builder:group :: system -> builder
166+
142167builder:query :: query -> builder
143168builder:execute :: {chunk, entity[], integer} -> builder
169+
144170builder:prologue :: {} -> builder
145171builder:epilogue :: {} -> builder
146- builder:disabled :: builder
172+
147173builder:destroy_policy :: id -> builder
148- builder:build :: boolean -> entity
149174```
150175
151176## [ License (MIT)] ( ./LICENSE.md )
0 commit comments