Skip to content

chargen — life-event timeline view (reconstruct-and-disclose) #367

Description

@philoserf

Adapted from ../traveller/render/character_timeline.go (246 lines): a chronological life-event bio reconstructed from Career/Term data — per-event ages derived from term lengths, listing entry/commission/promotion/skills/awards/muster per year.

The transferable pattern is reconstruct-and-disclose: the derived view prints its known limitations as an unconditional footnote rather than silently smoothing (theirs: failed Begin/Retry attempts cost a year the reconstruction cannot see; education consumes no modeled years). Emit what the model actually says happened.

Scope

  • A timeline renderer over chargen.Character (t5 owns richer per-term data than traveller did — education years ARE modeled here, so our footnote list will differ; derive it honestly from what our term engine records vs discards).
  • Output as a labeled stderr-side or flagged view on cmd/chargen (records-on-stdout contract untouched), or a -format variant if cli — JSON output format for generator CLIs #360 lands first.
  • If any desired line needs data the term engine currently discards (e.g. skill origin per term), note it here rather than widening the struct speculatively — the traveller lesson: once skills aggregate into one bag, the book's homeworld/career split is unreconstructable; the tag must survive aggregation if we ever want it.

Book: B1 pp.60-66 (the worked example's narrative format is the model). Relates: #360, #361.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions