Why
A misspelled or unsupported property word can silently become a noun transformation. Clockwork's DOOR IS SHUT example turns doors into unglyphed SHUT objects when the host does not implement SHUT. Authors need a clear diagnostic, and packs need a way to declare mechanics that a host must recognize before play.
What Changes
- Report nonfatal author notes for word tiles with no semantic role in their own proof, including loose words that may become predicates later and properties declared only in another proof.
- Reject object nouns that collide with a level's declared property words.
- Validate optional
manifest.featuresidentifiers and reject unknown required features with player-readable feedback. - Carry structured notes separately from errors through local and shared pack previews without serializing transient diagnostics into exported pack data.
- Preserve existing supported
#packv1 links and CommonJS packs while introducing the feature contract.
Capabilities
New Capabilities
None.
Modified Capabilities
commonjs-mods: validate declared mechanic features and property/noun collisions; diagnose unknown predicates.level-sharing: apply the same feature gate to decoded data and return nonfatal warnings in preview envelopes.
Impact
src/, the CommonJS and data-only validators, and pack-service result envelopes.mods.js - Gift/Workshop warning presentation, coordinated through the design inbox.
- Clockwork authoring and compatibility fixtures; no change to engine turn semantics.