Skip to content

feat(client): shared "Trained Styles" copy catalog + web relabel#285

Draft
leszko wants to merge 1 commit into
mainfrom
feat/shared-trained-styles-copy
Draft

feat(client): shared "Trained Styles" copy catalog + web relabel#285
leszko wants to merge 1 commit into
mainfrom
feat/shared-trained-styles-copy

Conversation

@leszko

@leszko leszko commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

What

Introduces a single, framework-agnostic source of truth for player-facing copy that all three DEMON frontends (this web demo, demon-public-demo, rtmg-vst) can share, and uses it to rename the player-facing "LoRA" concept to "Trained Styles".

New shared module — packages/demon-client/copy/

Plain string constants, zero runtime deps:

  • terms.ts — the canonical TRAINED_STYLES / TRAINED_STYLE rename. Engine, wire protocol, config keys, MIDI map, and the admin training studio keep the honest technical term "LoRA"; only player-facing UI is renamed.
  • labels.tsLABELS: library header, search placeholder/aria, empty + refit states, blend label.
  • tooltips.tsTOOLTIPS + sharedTooltipFor(param) for the controls that exist in every client (strength / structure / timbre macros + Trained Style strength/blend).

Exported from the SDK's index.ts; bundled into dist/.

Web demo wired to the catalog

Relabeled LibraryTile, MobileStepperRail, AdvancedDrawer, HeroMacros, OperatorStrip, ScheduleCurvesOverlay; SliderTile now routes its macro + Trained Style tooltips through the shared source so wording can't drift.

Why

"tooltip everything, shared between clients" + "relabel loras to 'Trained Styles'" from the UX backlog. There was no shared UI-copy layer before (@demon/client was SDK-only); this adds the minimal one.

Downstream

  • demon-public-demo picks this up via npm run sync-ui (mirrors both vendor/demon-ui and vendor/demon-client), then relabels its own Radio/Help surfaces — separate PR, depends on this merging.
  • rtmg-vst relabels independently (no @demon/client wiring) — separate PR.

Test

tsc --noEmit passes for the SDK and the web app.

🤖 Generated with Claude Code

… tooltips

Adds packages/demon-client/copy/ — a framework-agnostic module of plain
string constants that is the single source of truth all three DEMON
frontends (web demo, public demo, VST webui) read for:

  - terminology: the "LoRA" → "Trained Styles" player-facing rename
  - short UI labels (library header, search, blend, empty/refit states)
  - tooltip copy for cross-client controls (strength/structure/timbre
    macros + Trained Style strength/blend)

The engine, wire protocol, config keys, and admin training studio keep
the honest technical term "LoRA"; only player-facing UI is renamed.

Wires the web demo to the catalog: relabels LibraryTile, MobileStepperRail,
AdvancedDrawer, HeroMacros, OperatorStrip, ScheduleCurvesOverlay, and routes
SliderTile's macro + Trained Style tooltips through the shared source.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@leszko leszko requested review from hthillman and ryanontheinside and removed request for hthillman and ryanontheinside June 18, 2026 11:10
@leszko leszko marked this pull request as draft June 18, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant