Skip to content

Commit e89b91f

Browse files
committed
remove multi chunk_or_entity api
1 parent 6b54ad1 commit e89b91f

7 files changed

Lines changed: 536 additions & 573 deletions

File tree

README.md

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,17 @@ unpack :: id -> integer, integer
6666
defer :: boolean
6767
commit :: boolean
6868
69-
is_alive :: chunk | entity -> boolean
70-
is_alive_all :: chunk | entity... -> boolean
71-
is_alive_any :: chunk | entity... -> boolean
69+
is_alive :: entity -> boolean
70+
is_alive_all :: entity... -> boolean
71+
is_alive_any :: entity... -> boolean
7272
73-
is_empty :: chunk | entity -> boolean
74-
is_empty_all :: chunk | entity... -> boolean
75-
is_empty_any :: chunk | entity... -> boolean
73+
is_empty :: entity -> boolean
74+
is_empty_all :: entity... -> boolean
75+
is_empty_any :: entity... -> boolean
7676
77-
has :: chunk | entity, fragment -> boolean
78-
has_all :: chunk | entity, fragment... -> boolean
79-
has_any :: chunk | entity, fragment... -> boolean
77+
has :: entity, fragment -> boolean
78+
has_all :: entity, fragment... -> boolean
79+
has_any :: entity, fragment... -> boolean
8080
8181
get :: entity, fragment... -> component...
8282
@@ -90,12 +90,6 @@ batch_remove :: query, fragment... -> ()
9090
batch_clear :: query... -> ()
9191
batch_destroy :: query... -> ()
9292
93-
chunk :: fragment, fragment... -> chunk, entity[], integer
94-
95-
entities :: chunk -> entity[], integer
96-
fragments :: chunk -> fragment[], integer
97-
components :: chunk, fragment... -> component[]...
98-
9993
each :: entity -> {each_state? -> fragment?, component?}, each_state?
10094
execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
10195
@@ -109,36 +103,67 @@ debug_mode :: boolean -> ()
109103
collect_garbage :: ()
110104
```
111105

106+
## Chunk
107+
108+
```
109+
chunk :: fragment, fragment... -> chunk, entity[], integer
110+
111+
chunk:is_alive :: boolean
112+
chunk:is_empty :: boolean
113+
114+
chunk:has :: fragment -> boolean
115+
chunk:has_all :: fragment... -> boolean
116+
chunk:has_any :: fragment... -> boolean
117+
118+
chunk:entities :: entity[], integer
119+
chunk:fragments :: fragment[], integer
120+
chunk:components :: fragment... -> component[]...
121+
```
122+
112123
## Builder
113124

114125
```
115126
builder :: builder
127+
116128
builder:has :: fragment -> boolean
117129
builder:has_all :: fragment... -> boolean
118130
builder:has_any :: fragment... -> boolean
131+
119132
builder:get :: fragment... -> component...
133+
120134
builder:set :: fragment, component -> builder
121135
builder:remove :: fragment... -> builder
122136
builder:clear :: builder
137+
123138
builder:tag :: builder
124139
builder:name :: string -> builder
140+
125141
builder:prefab :: entity -> builder
126142
builder:single :: component -> builder
143+
127144
builder:default :: component -> builder
128145
builder:duplicate :: {component -> component} -> builder
146+
129147
builder:include :: fragment... -> builder
130148
builder:exclude :: fragment... -> builder
149+
131150
builder:on_set :: {entity, fragment, component, component?} -> builder
132151
builder:on_assign :: {entity, fragment, component, component} -> builder
133152
builder:on_insert :: {entity, fragment, component} -> builder
134153
builder:on_remove :: {entity, fragment} -> builder
154+
135155
builder:group :: system -> builder
156+
136157
builder:query :: query -> builder
137158
builder:execute :: {chunk, entity[], integer} -> builder
159+
138160
builder:prologue :: {} -> builder
139161
builder:epilogue :: {} -> builder
162+
140163
builder:disabled :: builder
164+
141165
builder:destroy_policy :: id -> builder
166+
142167
builder:build :: boolean -> entity
143168
```
144169

develop/example.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ local integrate_forces_system = evo.builder()
6262
evo.get(singles.physics_gravity, singles.physics_gravity)
6363

6464
---@type evolved.vector2[], evolved.vector2[]
65-
local forces, velocities = evo.components(chunk,
65+
local forces, velocities = chunk:components(
6666
fragments.force, fragments.velocity)
6767

6868
for i = 1, entity_count do
@@ -82,7 +82,7 @@ local integrate_velocities_system = evo.builder()
8282
evo.get(singles.delta_time, singles.delta_time)
8383

8484
---@type evolved.vector2[], evolved.vector2[], evolved.vector2[]
85-
local forces, positions, velocities = evo.components(chunk,
85+
local forces, positions, velocities = chunk:components(
8686
fragments.force, fragments.position, fragments.velocity)
8787

8888
for i = 1, entity_count do
@@ -101,7 +101,7 @@ local graphics_system = evo.builder()
101101
:query(queries.physics_bodies)
102102
:execute(function(chunk, entities, entity_count)
103103
---@type evolved.vector2[]
104-
local positions = evo.components(chunk,
104+
local positions = chunk:components(
105105
fragments.position)
106106

107107
for i = 1, entity_count do

develop/fuzzing/batch_destroy_fuzz.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ end
101101
local all_chunk_query = evo.builder():build()
102102

103103
for chunk in evo.execute(all_chunk_query) do
104-
assert(not evo.has_any(chunk, __table_unpack(should_be_destroyed_entity_list)))
105-
for _, fragment in ipairs(evo.fragments(chunk)) do
104+
assert(not chunk:has_any(__table_unpack(should_be_destroyed_entity_list)))
105+
for _, fragment in ipairs(chunk:fragments()) do
106106
assert(not evo.has_all(fragment, __table_unpack(destroying_include_list)))
107107
end
108108
end

develop/fuzzing/destroy_fuzz.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ end
105105
local all_chunk_query = evo.builder():build()
106106

107107
for chunk in evo.execute(all_chunk_query) do
108-
assert(not evo.has_any(chunk, __table_unpack(destroying_entity_list)))
109-
assert(not evo.has_any(chunk, __table_unpack(should_be_destroyed_entity_list)))
108+
assert(not chunk:has_any(__table_unpack(destroying_entity_list)))
109+
assert(not chunk:has_any(__table_unpack(should_be_destroyed_entity_list)))
110110
end
111111

112112
for _, destroying_entity in ipairs(destroying_entity_list) do

0 commit comments

Comments
 (0)