Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:toolworks:docs:apparatus:architecture [2021/09/03 13:38] – [Mechanisms] vladius | en:toolworks:docs:apparatus:architecture [2022/01/05 12:55] (current) – [Iterating] add TODO jispar | ||
---|---|---|---|
Line 19: | Line 19: | ||
===== Low-Level Traits ===== | ===== Low-Level Traits ===== | ||
- | Let's start with the lower layer first. The //Traits// subsystem was actually developed later in time, but it's now at the core of the framework and provides the needed functionality for the upper layer to work properly. | + | Let's start with the lower layer first. The //[[en: |
ECS was once developed with performance in mind. Packing and storing the data linearly in memory, what could be simpler? While it's actually not that easy to implement this for dynamically structured entities and requires some sophisticated bookkeeping, | ECS was once developed with performance in mind. Packing and storing the data linearly in memory, what could be simpler? While it's actually not that easy to implement this for dynamically structured entities and requires some sophisticated bookkeeping, | ||
Line 55: | Line 55: | ||
===== Filtering ===== | ===== Filtering ===== | ||
- | // | + | //[[en: |
Apparatus uses all sorts of different optimization schemes and caches to make the filtering process as fast as possible. You shouldn' | Apparatus uses all sorts of different optimization schemes and caches to make the filtering process as fast as possible. You shouldn' | ||
- | |||
- | [[appi> | ||
===== Iterating ===== | ===== Iterating ===== | ||
- | Once you have your Subjects spawned and set. Belts or Chunks enchained you're ready to iterate on them to deliver the necessary logic of the game or application. This is done through a very common concept of // | + | Once you have your Subjects spawned and set. Belts or Chunks enchained you're ready to // |
- | Both Belt and Chunk have their own types of Iterators, but you would rarely use them directly. Instead you'll almost always use the Chain Cursors. They are essentially Iterators with a naming chosen to eliminate some possible ambiguity. For now you should only use the default (implicit) Cursor as the threading is still a planned feature and you would rarely need to iterate a Belt (or a Chunk) with multiple different Cursors. | + | Both Belt and Chunk have their own types of Iterators, but you would rarely use them directly. Instead you'll almost always use the Chain Cursors. They are essentially Iterators with a naming chosen to eliminate some possible ambiguity. |
The API documentation for [[appi> | The API documentation for [[appi> |