Skip to content

Define Zeliard 2 content schemas and stable IDs - #256

Merged
nolanvenhola merged 1 commit into
mainfrom
feat/zeliard2-content-schemas
Aug 20, 2026
Merged

Define Zeliard 2 content schemas and stable IDs#256
nolanvenhola merged 1 commit into
mainfrom
feat/zeliard2-content-schemas

Conversation

@nolanvenhola

Copy link
Copy Markdown
Owner

What changed

  • defines typed Godot Resources for campaigns, regions, rooms, actors, enemies, items, abilities, dialogue, quests, assets, and events
  • adds typed nested records for room exits, placements, dialogue lines, quest stages, and event steps
  • establishes path-independent kind:name content IDs and typed reference expectations
  • adds a runtime content catalog plus graph validation for malformed, duplicate, missing, and wrong-kind IDs
  • updates Zeliard Creator to validate the same complete content graph
  • documents definition ownership and the strict separation between immutable authored definitions and mutable runtime/save state
  • adds a reviewable 12-resource example campaign with two linked rooms and newly authored programmer art

Acceptance evidence

  • representative content round-trips through text Resource save/load without semantic loss
  • campaign identity survives an actual file move and rename
  • missing targets, wrong target kinds, duplicate IDs, and kind/namespace mismatches are detected
  • all 11 required top-level schema kinds are loaded from the example catalog
  • source files remain human-reviewable .tres resources

Validation

  • architecture and typing rules: PASS (25 scripts)
  • production content scenarios: PASS (9 tests)
  • Creator EditorPlugin startup: PASS
  • main scene smoke: PASS
  • Windows release export and executable smoke: PASS
  • Web release export: PASS

No original Zeliard assets or legacy resource formats are used. Save versioning, migration, recovery, and structured diagnostics remain scoped to #241.

Closes #240

@nolanvenhola
nolanvenhola marked this pull request as ready for review August 20, 2026 02:14
@nolanvenhola
nolanvenhola merged commit 9a3360e into main Aug 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Zeliard 2] Define Godot Resource schemas and stable content IDs

1 participant