Systems are stateless and data lives in components. What does that separation make possible that an OOP 'entity owns its update' design cannot?
02how
You have systems that compute velocity, integrate position from velocity, and cull off-screen entities from position. How should their order be established?
03why
Why can't a structural change be performed in the middle of iterating a query — stated as a memory-safety argument?
04how
A sync point (ECB playback) is expensive for two compounding reasons. Which pair?
05why
Framerate-sensitive physics integration placed in the ordinary SimulationSystemGroup produces what bug?
06why
Recording structural changes from a parallel job with a constant sortKey breaks what, and why?
07howmeasure
Build the churn lab: 5,000 destroys/frame via immediate EntityManager calls vs a single ECB playback. Enter frame_time_immediate / frame_time_ecb.
▸ Run two systems doing the same 5,000 destroys per frame — one immediate per-entity, one recorded to one ECB and played once. Measure per-frame time for each (Profiler or Stopwatch, ~100-frame average) and enter the ratio immediate / ecb.