Condition Tables & State
- Decision Tables
- Table of data or booleans
- Combine columns according to rules
- Execute or call function on true
- Condition Table
- Process components to generate
- Compact access vs. iteration over entities
- Tables of true/false/null (= don't care or missing)
- In SoA form: array for each column
- Combine condition table columns with boolean logic (to avoid branches)
- Iterate over input or output based on data expectation
- Condition tables guide data transform
- Generate filtered output list
- Generate multiple output lists
- Generate messages
- Log for debugging
- Data transformation
- Traverse data, generating render list(s)
- Traverse list to render
- Multi-core, can generate lists on one core, consume on another
- State
- State variables in a class have low information density
- State implies conditional tests
- Existence in table = state
- Component table
- Condition table
- State transition = insert/emit row into table
- Add component for item
- Add table for injured/healthy
- Add row to condition table
- Processing
- On transition
- As process over table