Skip to main content
Content Development Guide
- Quests (branching progression, dialogue, requirements, rewards)
- Items (resources/tools/currencies)
- Processes (timed item transformations)
- Quests:
/quests/create - Items:
/inventory/create - Processes:
/processes/create - Quests:
/quests/manage - Items:
/inventory/manage - Processes:
/processes/manage - Custom content is stored in IndexedDB (
CustomContentdatabase). - If IndexedDB is unavailable, the app falls back to in-memory storage (non-persistent).
- Records are marked custom and include created/updated timestamps.
- Valid title/description/dialogue graph is required.
- Dialogue options support goto/finish, item requirements/grants, and process links.
- Validation catches broken node references and invalid dependencies.
- Name, description, and image are required.
- Optional fields include unit, category/type, pricing, and dependencies.
- Title, duration, and at least one item relationship are required.
- Duration parser supports shorthand (
45s,1h 30m,0.5h). - Requires/consumes/creates item counts must be positive.
- Build and validate content in local profile.
- Export from
/contentbackup. - Re-import the export on a clean profile to verify integrity.
- Submit via
/bundles/submit. - Include matching docs updates in your PR.
Content Development Guide (v3)
This is the canonical hub for creating and validating custom content in v3.
Content model
DSPACE supports three in-game editable content types:
All three can be created, edited, exported, imported, and submitted.
Authoring routes
Create
Manage
Built-in content remains read-only. Custom content is editable and removable.
Storage and persistence
Validation expectations by content type
Quests
Items
Processes
Export and submission workflow
Reference docs:
Pre-PR checks
Run from the repository root:
npm run lint
npm run type-check
npm run build
npm run test:ci
node scripts/link-check.mjs
