Skip to content

Extend canonical WIR rule events for DEL/OSTW provider integration #12

Description

@Teakowa

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions