Complete examples by kind
Choose a contract and jump to complete code, downloadable files, expected behavior and validation.
Choose an example
Start with the contract you want to extend. kind is local to each contract: search filters, actor images and blueprint owners have different accepted values. Package manifests accept neither a root kind nor a root type; system, locales and django define variants. Surface names are register domains; nodes use type.
The current reference follows host 0.3.1. Module and system recipes retain their declared compatible 0.3.0 target where contracts are unchanged; the requestRoll and setQuestStatus Blueprint examples require 0.3.1. Use disposable data. Example package ZIPs contain unsigned source and no private keys. Review them and use Install from ZIP on a disposable host; Marketplace publication requires the documented publisher signature. Blueprint JSON files are development fixtures/references: reproduce them in the editor or use the native validator in tests, without assuming a JSON import button exists.
| Contract | Field/name | Coverage |
|---|---|---|
| Extension package | manifest blocks, no root kind | Browser, system, language and Django |
| SDK mounting | register(surface, ...) | All 13 signed-module surfaces |
| Search | options.kind | All 7 filters and all-kinds search |
| Actor image upload | payload.kind | portrait and token |
| Compendium entries | entry.kind | actor, item, journal, scene and deck |
| Installed system packs | pack.type | actor_pack, item_pack and spell_pack |
| Local native catalogs | pack.type | All 7 pack types, with their own installation constraints |
| Smart Object | blueprint.kind | door, lever, torch and region |
| Blueprint connection | edge.kind | execution and data |
| Blueprint node | node.type | Node catalog and complete graph examples |
Complete extension packages
Browser module: a campaign summary: A complete package with a table action, authorized API read and native modal.
System package: an editable character sheet: A single original system package with actor types, a complete minimal sheet and revision-aware saving.
Language package: Portuguese and Spanish catalogs: A minimal installation-wide language package with valid catalogs, activation and English fallback.
Django package: an owner-only server endpoint: A trusted server app with a valid manifest, AppConfig, URL and permission-checked read view.
All SDK surfaces
actor.directory: Readable actor counter: Count actors whose sheets the current member may open, and update after actor changes.
actor.sheet: Actor sheet revision inspector: Read the real actor sheet and display its name, sheet revision and top-level data keys beneath the native sheet.
token.sheet: Linked or independent token inspector: Read the token’s own sheet context, so an independent snapshot is never replaced by actor data.
item.directory: Item counts by type: Group readable items by their package-owned type, without assuming an RPG catalog.
item.sheet: Item data inspector: Show the actual item name, type, version and system-owned data as safe JSON below its native editor.
scene.directory: Scene broadcast status: Distinguish the scene broadcast to players from the scene the GM is navigating.
scene.controls: Scene information control: Add a working button that reads the mounted scene and opens its dimensions and grid in the native modal.
scene.overlay: Scene center marker: Mark the scene center and keep its position correct under pan and zoom without capturing pointer input.
chat.log: Visible chat statistics: Count only the messages returned by the authorized history and report their visible authors.
combat.tracker: Current turn summary: Show encounter activity, round and the current visible combatant, without implementing initiative rules.
journal.sheet: Journal outline: Show the journal title, type and only the section titles in its authorized projection.
preferences: Persistent personal density preference: Save a personal compact/comfortable preference with compare-and-swap revisions, and make a concurrent conflict visible.
table.interface: Authorized document search: Search table documents from a workspace panel and render their names, kinds and snippets as text.
Documents, uploads and compendiums
Search: all 7 kinds and the empty filter: Eight concrete browser functions, quest versus journal categories, authorized recents and validation.
Actor images: portrait and token: Two complete File-picker mount functions using the actual multipart host.call operation.
Compendium entries: all five kinds: Capture actor, item, journal, scene and deck resources with authorized reads and GM imports.
Compendium packs: 3 installed and 7 local types: Complete original JSON for every pack type, exact manifest restrictions and downloadable fixtures.
Map Builder and Smart Objects
Blueprint examples for every object kind: Choose a complete recipe for door, lever, torch or region, then inspect execution/data connections and all 44 node types.
Blueprint kind door: open, close and preserve a lock: A complete v2 door graph that opens a closed door, closes an open door and leaves a locked door unchanged.
Blueprint kind lever: a two-state switch and an Empty Object: A complete off/on toggle, with the same kind reused by an image-free private controller.
Blueprint kind torch: turn the mechanism and set the flame: A composed torch example with independent state and flame actions in both toggle branches.
Blueprint kind region: a pressure plate with first/last occupancy: Complete enter/exit graphs that open a referenced door on first arrival and close it on last departure.
Connection kinds: execution and data, a complete graph: Trace a lever graph that reads a state through typed data edges and runs actions through ordered execution edges.
All 44 Blueprint node types, with complete examples: Concrete configurations and downloadable validated graphs for every NODE_TYPES entry, from event to cooldown.
How to use AI to adapt an example
Adapt [example link/file] for [concrete goal] on target release [version]. Read the corresponding contract first. Preserve required fields, campaign/scene context, permissions, revisions and cleanup. Deliver all changed files, expected results and the commands/tests actually run. Do not invent a kind, type, surface or endpoint. Keep systems in one package using capabilities supported by this host.