Goal
Extend the canonical Workshop rule-event model so downstream source-language providers can represent and emit the full evidence-backed Workshop event surface without inventing provider-local event encodings.
Context
Wright v0.2.4 consumes workshop-rs revision 7b0f8c38b9d1ee627565e8406de25293df9b4f7f as the canonical Workshop core. At that revision, workshop_rs::wir::Event represents only Global, EachPlayer, and Subroutine.
del-rs now begins its Workshop integration phase (#8). Its pinned DEL/OSTW compatibility inventory requires 11 rule event forms plus subroutines: ongoing global/player, elimination/final-blow, damage dealt/taken, death, healing dealt/taken, player join, and player leave. This exposes a canonical-WIR gap rather than a DEL frontend gap.
The DEL inventory is evidence that downstream providers need these capabilities; canonical Workshop identities, spellings, parameter shapes, and locale mappings remain owned and evidenced here.
Scope
- Define a locale-independent WIR representation for the declared Workshop rule-event forms and their event parameters/filters where applicable.
- Extend the canonical catalog/event metadata only where required by independently reviewed Workshop evidence.
- Parse supported raw Workshop event blocks into the canonical representation.
- Emit the canonical representation through the existing locale-aware emitter for supported locales.
- Validate event identities/arguments through the canonical catalog/semantic layer.
- Preserve source provenance through event parsing and emission diagnostics where the WIR contract supports it.
- Keep existing ongoing-global, ongoing-player, and subroutine behavior compatible or provide an explicit migration path for current consumers.
- Add focused parse/validate/emit/round-trip tests for each newly declared event form and relevant parameter combinations.
Non-goals
- Adding DEL/OSTW-specific AST/HIR types or source-language semantics to
workshop-rs.
- Encoding provider-specific rule syntax such as
Event.OnDamageDealt in the canonical model.
- Guessing event spellings or parameter semantics from downstream source-language names.
- Requiring byte-identical text output when canonical Workshop semantics are equivalent.
- Expanding unrelated Workshop actions/values/settings in the same change.
Acceptance criteria
- The canonical WIR can represent every reviewed rule-event form needed by the declared DEL/OSTW surface without provider-local event enums or stringly-typed fallbacks.
- Raw Workshop parser and emitter round-trip each supported event form through locale-independent WIR.
- Event identities and parameters are catalog/validation-backed and carry explicit evidence/provenance.
- Existing Wright/workshop-rs consumers remain regression-green.
del-rs can consume the public event contract without copying canonical Workshop event data.
Relationships
Goal
Extend the canonical Workshop rule-event model so downstream source-language providers can represent and emit the full evidence-backed Workshop event surface without inventing provider-local event encodings.
Context
Wright v0.2.4 consumes
workshop-rsrevision7b0f8c38b9d1ee627565e8406de25293df9b4f7fas the canonical Workshop core. At that revision,workshop_rs::wir::Eventrepresents onlyGlobal,EachPlayer, andSubroutine.del-rsnow begins its Workshop integration phase (#8). Its pinned DEL/OSTW compatibility inventory requires 11 rule event forms plus subroutines: ongoing global/player, elimination/final-blow, damage dealt/taken, death, healing dealt/taken, player join, and player leave. This exposes a canonical-WIR gap rather than a DEL frontend gap.The DEL inventory is evidence that downstream providers need these capabilities; canonical Workshop identities, spellings, parameter shapes, and locale mappings remain owned and evidenced here.
Scope
Non-goals
workshop-rs.Event.OnDamageDealtin the canonical model.Acceptance criteria
del-rscan consume the public event contract without copying canonical Workshop event data.Relationships
wrightkit/del-rs#8Workshop integration.