Pular para o conteúdo principal

persona_db/generators/gen_02_genealogia.py

gen_02_genealogia — domínio 02: família, parentesco, herança e ancestralidade.

Owned by Agent 10. Consome o contrato de gen_00_pessoa:

generate(personas, seed=7) -> dict[str, list[dict]]

Também enriquece cada persona com 'pai_id'/'mae_id'/'familia_id' (in-place) e propaga a herança genética de traços físicos (tipo sanguíneo, fator Rh, cor dos olhos, cor do cabelo, lateralidade, altura e peso) em ordem topológica geracional, permitindo que os domínios posteriores usem a árvore familiar com 100% de consistência mendeliana e poligênica.

Tabelas: familia, membro_familia, parentesco, arvore_genealogica, heranca, heranca_item, doacao_familiar, condicao_genetica, predisposicao_genetica, ancestralidade_ficticia.

:::info Fonte Módulo persona_db.generators.gen_02_genealogia — 476 linhas · 1 classe(s) · 1 função(ões) pública(s). Ver no GitHub :::

Classes​

class Genealogia​

Container acumulador para as tabelas do domínio 02.

Atributo de classeValor
rowsfield(default_factory=lambda: {'familia': [], 'membro_familia': [], 'parentesco': [], 'arvore_genealogica': […

Funções​

generate()​

def generate(personas: list[dict], seed: int=7, today: date | None=None) -> dict[str, list[dict]]

Gera todas as tabelas de genealogia e propaga traços genéticos aos filhos.

persona_db/generators/gen_02_genealogia.py:109