Skip to content

Establish the canonical multi-locale Workshop core #2

Description

@Teakowa

Depends on: #1
Wright cutover: wright#143

Goal

Build workshop-rs as the separately versioned canonical Workshop semantic core and standalone Workshop tooling foundation for WrightKit.

Scope

  • Bootstrap the repository with its package/workspace, CI, tests, README, license/provenance policy, and repo-local AGENTS.md.
  • Extract canonical Workshop ownership from Wright without importing Wright tooling responsibilities.
  • Own locale-independent Workshop semantic IDs, WIR/canonical semantic representation, parser/CST, validation, emitter, and canonical catalog integration.
  • Complete raw Workshop parsing/validation/emission for the declared supported surface, including settings.
  • Add localized raw Workshop input/output and first-class raw Workshop locale conversion.
  • First release gate: corpus-tested en-US <-> zh-CN conversion for the declared surface, including settings and representative actions/values/events/enums/content identifiers.
  • Preserve user-authored identifiers, strings, and comments according to a documented policy; localize Blizzard-defined Workshop language/content tokens only by default.
  • Missing target-locale mappings fail explicitly by default; any fallback is opt-in.
  • Provide standalone library and CLI surfaces suitable for use without Wright.

Non-goals

  • OPY or DEL/OSTW-compatible source-language semantics.
  • Wright lint/agent/orchestration behavior.
  • Guaranteeing every Overwatch client locale in the first release.
  • Guessing unsupported future syntax.

Acceptance criteria

  • workshop-rs has no dependency on Wright tooling crates or source-language provider internals.
  • Canonical Workshop IDs and semantic representation are locale-independent.
  • The supported raw Workshop surface round-trips through parse -> canonical semantics -> emit.
  • en-US -> zh-CN and zh-CN -> en-US conversion pass the declared corpus, including settings.
  • Catalog provenance/version identity is machine-readable and reproducible.
  • CLI/library usage is documented and tested.
  • The repository exports a stable enough dependency surface for Wright to cut over without keeping a second canonical Workshop implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status
    In Progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions