sagaphone/spec/line-logic.md

20 lines
819 B
Markdown
Raw Permalink Normal View History

# Line Logic
- A **family line** is a branch: one person and all of their descendants.
- All descendants count — legitimate, illegitimate, children from multiple
partnerships.
- The active line stays on the current branch until it dies out.
- "Dies out" means nobody in that branch has living descendants (checked up
to `current_generation - 1`).
- When a branch dies out → a random pick among the other existing lines.
- Background persons (not currently narrated) are still simulated — events,
death, partnerships, children — just not narrated.
## Edge Cases
- At least one line must always remain.
- If the last line dies out prematurely → search earlier generations for
branches that haven't been narrated yet.
- From generation 6 onwards, no new generations are simulated in the
background.