Commit graph

45 commits

Author SHA1 Message Date
Ukendio
5a3342271f add name field to record 2024-05-12 05:25:26 +02:00
Ukendio
0fd04c75c5 Entity lookups 2024-05-12 05:21:59 +02:00
Ukendio
2b0d55db83 Ensure entity exists 2024-05-12 04:58:59 +02:00
Ukendio
9fad8311c4 Return existing entity 2024-05-12 04:55:57 +02:00
Ukendio
b89cd10b7b Implement lookups 2024-05-12 04:50:14 +02:00
Ukendio
e6b16e91ae Remove assert 2024-05-11 02:10:04 +02:00
Ukendio
87711eff19 Register components as entities 2024-05-10 20:35:41 +02:00
Marcus
d63de48546
Relationships (#31)
* Sparse set for entity records

* Swap dense indexes

* Improve inlining

* Add benchmarks

* Add tests for relations

* Add REST

* Merge upstream changes

* Add back symmetric and non idempotent add function

* Only swap when not last row

* Assert that the entity is alive

* Update example with relations
2024-05-10 17:59:57 +02:00
Marcus
6775601e21
Delete lib/a.lua 2024-05-10 14:27:38 +02:00
Ukendio
87d49e5134 Reorganize file 2024-05-09 02:20:54 +02:00
Marcus
1de41447b6
Remove observer for now (#34)
* Add case for when component is not found in archetype

* Check only destination archetype first

* Omit onNotifyAdd

* Remove observers
2024-05-08 01:04:11 +02:00
Marcus
91d3fcabc3
Add case for when component is not found in archetype (#25)
* Add case for when component is not found in archetype

* Check only destination archetype first

* Omit onNotifyAdd
2024-05-08 00:57:22 +02:00
Marcus
e8b78f7b50
Add world.delete (#22) 2024-05-07 21:33:42 +02:00
Marcus
bf5908a8f5
Adds symmetic and idempotent function add (#26)
* Adds symmetic function add

* Should be componentId not entityId
2024-05-07 21:32:56 +02:00
Marcus
887c892c2e
Move root archetype (#33) 2024-05-07 21:30:36 +02:00
Marcus
d5414f1bc4
Add iter method (#20) 2024-05-05 15:22:02 +02:00
Ukendio
5476491c5d Should index into column 2024-05-05 03:25:34 +02:00
howmanysmall
283243350f
Fix style and add some micro optimizations (#27) 2024-05-05 01:52:01 +02:00
Marcus
089c5d46a9
Fix component overriding when in disorder (#15)
* Fix component overriding when in disorder

* Add benchmarks

* Should use same data
2024-05-03 02:39:59 +02:00
Ukendio
14d53e03c1 Index indices after archetype matched 2024-05-01 15:16:39 +02:00
Marcus
9c5a84e3af
Cache column indices instead of pointers (#13) 2024-05-01 14:41:10 +02:00
Shane
d0fb1a1b1d
return an EmptyQuery when querying for components that are not tied to any entities (#12)
* Update init.lua

* export Query type

* replace EmptyQuery with static reference
2024-05-01 03:45:49 +02:00
Shane
1b1ae947d9
export Query type 2024-04-30 16:55:48 -07:00
Shane
e2d1156f72
Update init.lua 2024-04-30 16:45:42 -07:00
Marcus
4978ac7856
Separate ids and add tests (#11) 2024-05-01 01:09:15 +02:00
Marcus
275aa6ec6d
Move assertion up (#9) 2024-04-30 17:52:44 +02:00
Marcus
2ace031fa2
Provide better error messages (#7)
* Provide better error messages

* Inline getSmallestMap
2024-04-30 16:36:38 +02:00
Marcus
6adc3670ee
Revert "nil return for getSmallestMap() (#5)" (#8)
* Revert "nil return for getSmallestMap() (#5)"

This reverts commit 12287b12ef.

* Keep export world
2024-04-30 16:21:21 +02:00
Shane
12287b12ef
nil return for getSmallestMap() (#5)
* nil return for getSmallestMap()

* World type export
2024-04-30 16:06:46 +02:00
Marcus
dc73c03d74
Swap entity index for last row (#6) 2024-04-30 16:05:31 +02:00
Marcus
8ef960dad6
Add without (#4)
* Add without

* Return self

* Set compatibleAchetype after without

* Add test for Without

* Adding test
2024-04-29 15:21:05 +02:00
Marcus
13c703211d
Add without (#3) 2024-04-28 21:00:00 +02:00
Ukendio
8223b7ae91 Add observers 2024-04-28 16:46:40 +02:00
Ukendio
201383dcac Remove ROOT_ARCHETYPE in world initializer 2024-04-26 19:11:54 +02:00
Ukendio
44e6813cfb Remove mirror from benchmark example 2024-04-25 16:37:01 +02:00
Ukendio
74fe5be0c0 Index into archetypemap 2024-04-25 16:26:30 +02:00
Ukendio
33192b7a6f Remove hard coded behaviour 2024-04-25 07:26:13 +02:00
Ukendio
7d48063d20 Cache indices 2024-04-25 07:17:08 +02:00
Ukendio
78775d19a3 Get smallest map 2024-04-25 05:45:33 +02:00
Ukendio
37d5b0415a Handle 8 cases 2024-04-24 22:33:38 +02:00
Ukendio
fb47f87bd4 Fix typings 2024-04-24 20:00:33 +02:00
Ukendio
e90efbc342 Rename operation add to set 2024-04-24 17:32:07 +02:00
Ukendio
a5302a14fb Creator specific iterators for returns 2024-04-24 01:14:43 +02:00
Ukendio
7e419d4fd1 Extend columns in queryOutput 2024-04-23 17:30:26 +02:00
Ukendio
6cafbc1221 Rebase 2024-04-23 17:10:49 +02:00