You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Content authoring moves into the registry that #851 delivered: mutable drafts over the published append-only versions, an entity-level publish model, shape-compatibility markers for new mechanics, and an authoring UI — so a balance pass is authored, previewed, and published without touching the repo.
Player story
New monsters, items, and balance changes reach you in a steadier stream, because shipping them no longer waits on an engine release — the world grows between your sessions without you installing anything. A run you're in the middle of is never disturbed by a content drop: what you face and find stays exactly as it was when you began, and only your next activity picks up the new world, online or offline. In one sentence: content arrives on its own schedule while every run you play stays consistent from start to finish.
Scope
draft state over the registry: drafts are mutable, publishing mints an immutable version; write-once stays enforced at the schema layer
entity-level authoring model (a monster/item/affix is immutable once published; a nerf is a new revision) with the publish step compiling entities into the version's content document
each version carries a shape-compatibility marker: data publishes freely, but a new mechanic (a new field or behavior the interpreter must understand) still rides a deploy — interpretation code stays pinned by simVersion
authoring UI over drafts and publish, replacing the interim content:publish JSON-file script as the authoring path
the DB becomes the source of truth for published content: new versions never enter the repo; the migration's v1/v2 seed literals remain frozen genesis data
The shape-compatibility markers replace gate startActivity on engine-content compatibility #848's interim machinery: the hand-maintained BUNDLED_CONTENT_VERSION constant and the sim_versions.max_content_version stamping at deploy-reconcile. Until then that constant is bumped by hand in the PR that adds a version's support code — drift is unguarded, and the gate refuses starts the engine could actually serve.
Content authoring moves into the registry that #851 delivered: mutable drafts over the published append-only versions, an entity-level publish model, shape-compatibility markers for new mechanics, and an authoring UI — so a balance pass is authored, previewed, and published without touching the repo.
Player story
New monsters, items, and balance changes reach you in a steadier stream, because shipping them no longer waits on an engine release — the world grows between your sessions without you installing anything. A run you're in the middle of is never disturbed by a content drop: what you face and find stays exactly as it was when you began, and only your next activity picks up the new world, online or offline. In one sentence: content arrives on its own schedule while every run you play stays consistent from start to finish.
Scope
simVersioncontent:publishJSON-file script as the authoring pathNotes
content_versions/content_currenttables, script publish,startActivitystamping, pinned verifier loading, and version-keyed client fetch with offline persistence.BUNDLED_CONTENT_VERSIONconstant and thesim_versions.max_content_versionstamping at deploy-reconcile. Until then that constant is bumped by hand in the PR that adds a version's support code — drift is unguarded, and the gate refuses starts the engine could actually serve.