Lane 11 PR 6: content with structured fields, and a small character pack per system (#737) #968
Loading…
Reference in a new issue
No description provided.
Delete branch "build/lane11-6-content"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lane 11 (#737) PR 6 (IS-401 content; D203; owner answers L1 and L8). Reference entries now carry the per-kind
fieldsthe sheet definitions read (#962, #963). It adds no migration: the column and the kinds came with #964.Pipeline:
app/reference/fields.py: checks the shapes the definitions read.dieis written "d6"; 5ehit_dieis written as sides.extra.unvalidated_fieldswith a warning, as stats are.fields, so they survive a round trip.Adapters:
foundry.py,foundry_maps/pf2e.py):chooseshape), ancestries, heritages, backgrounds and conditions.bulk_per,{dice, die, type}damage, thrown weapons withrange: null.FlatModifierrules.open5e.py):ancestry), backgrounds and conditions from SRD 5.2.1 records..qbpackrecords may carryfieldsdirectly.Starter scripts (D203):
build_pf2e_starter.pyadds Player Core's (and Player Core 2's) classes, ancestries, heritages, backgrounds, feats and equipment. Setting prose is stripped: ancestry, background and class descriptions are always dropped, and any description naming a reserved setting term is too.build_5e_starter.pytakes srd-2024 only, with the single SRD 5.2.1 notice.STARTERSstays empty. Publishing the full starters is a release step for the owner (L1).docs/OPERATIONS.mdgains "Building the starter packs".Mini character packs (one source,
webapp/backend/tests/fixtures/packs/; the demo and e2e seeds read from here):pf2e-characters(68 entries, ORC) anddnd5e-characters(63 entries, SRD 5.2.1 CC BY): 3 classes, 3 ancestries, 3 heritages or species, 3 backgrounds, 15–17 feats, 20–21 items, 10 spells and the conditions.Tests:
test_reference_fields.pyandtests/sheets/test_sheet_content_packs.py.fields.ReferenceEntry,KINDS, packs or starters, plustests/sheets: 1205 pass.alembic/), andchangelog.py checkpasses.What the adapters can't fill from upstream (it stays in
extra):fields, which is PR 7's.Changelog:
changelog.d/737-lane11-content-fields.added.md.🤖 Generated with Claude Code