refactor: organize Workshop internals by domain - #151
Conversation
Move implementation into domain and shared-boundary trees while preserving legacy public module paths. Fixes #149
Teakowa
left a comment
There was a problem hiding this comment.
Blocker — frontend/parser.rs and output/emitter.rs: #149 requires domain/feature-first organization and explicitly allows shared parser/emitter state only as cross-domain orchestration/context, not as the semantic home of all features. This PR mostly moves the existing parser and emitter wholesale into phase-wide frontend//output/, while actions.rs, events.rs, rules.rs, and values.rs are thin re-export facades. Contributors still have to search the phase-wide parser/emitter to understand action/event/value behavior, so the central acceptance criterion is not met. Move feature-owned parsing/emission/related behavior under the relevant domain modules and leave only genuinely cross-domain orchestration/context in the shared boundaries.
Move feature-owned parser and emitter methods beside their Workshop domains while retaining shared orchestration and legacy public paths. Fixes #149
Summary
Verification
cargo fmt --all --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace --all-targetscargo run -p workshop-rs --bin workshop-catalog-gen -- checkcargo doc --workspace --no-depsFixes #149