Initial spec for Sagaphone
Pulled from Notion project docs: overview, architecture, data model, event system, line logic, and implementation notes for the family-tree generator + TTS narrator. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
06df9df339
7 changed files with 804 additions and 0 deletions
19
spec/line-logic.md
Normal file
19
spec/line-logic.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue