Skip to content

Align audio-engineering types with vectors conventions + 1.x → 2.0 migration guide#93

Merged
matt-edmondson merged 1 commit into
vectorsfrom
claude/vectors-sync-progress-ofoith
Jun 13, 2026
Merged

Align audio-engineering types with vectors conventions + 1.x → 2.0 migration guide#93
matt-edmondson merged 1 commit into
vectorsfrom
claude/vectors-sync-progress-ofoith

Conversation

@matt-edmondson

@matt-edmondson matt-edmondson commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Two related changes: the 1.x → 2.0 migration guide, and the audio-engineering consistency refactor the guide documents.

Audio-engineering types aligned with the vectors branch

The types merged from main (#88) still carried 1.x conventions. Now:

  • Namespace: Cents, Decibels, Gain, NormalizedParameter, ParameterTaper, Percent, QFactor, Semitones move from ktsu.Semantics to ktsu.Semantics.Quantities, alongside every other quantity type.
  • One Ratio to rule them all: the audio-specific Ratio<T> struct is deleted; the generated Dimensionless Ratio<T> is the single ratio currency. Decibels.ToPower(), the Cents/Semitones frequency-ratio conversions, and Percent.FromRatio/ToRatio all exchange the generated type. A new Dimensionless × Dimensionless relationship in dimensions.json generates Ratio × Ratio => Ratio (and SignedRatio × Ratio => SignedRatio); same-type division yields the raw storage value, consistent with every other quantity.

Migration guide

docs/migration-guide-2.0.md (linked from CLAUDE.md) covers the full 1.x → 2.0 upgrade: namespace moves (including the audio types above), the sixteen vector-form renames verified against dimensions.json, non-negative V0 semantics with before/after snippets, the silent storage-unit changes to audit (Concentration, NuclearCrossSection, Dalton), plural factories and typed In(unit), the log-scale companion types, PhysicalConstants domain renames, and removed APIs with replacements.

Testing

  • AudioEngineeringTests updated for the rewiring plus a new test pinning that ratio arithmetic comes from the generator; 63 audio/backfill tests pass.
  • Full suite: 683 pass, zero regressions (93 failures are the pre-existing Windows-path tests on the Linux runner).
  • Local verification again used a temporarily pinned Roslyn 4.12.0 (not committed); CI builds the repo's 5.3.0 natively.

https://claude.ai/code/session_01AUgbNJjDBDCwcbUfPK3pGW

Covers the quantities namespace move, the vector-form type renames,
non-negative V0 semantics and absolute subtraction, the storage-unit
fixes (Concentration, NuclearCrossSection, Dalton), plural factories and
typed In(unit), the log-scale companion types, the PhysicalConstants
domain renames, and removed APIs with their replacements.

https://claude.ai/code/session_01AUgbNJjDBDCwcbUfPK3pGW
@matt-edmondson matt-edmondson merged commit 275b7b6 into vectors Jun 13, 2026
1 check passed
@matt-edmondson matt-edmondson deleted the claude/vectors-sync-progress-ofoith branch June 13, 2026 00:13
@matt-edmondson matt-edmondson changed the title docs: add 1.x → 2.0 migration guide Align audio-engineering types with vectors conventions + 1.x → 2.0 migration guide Jun 13, 2026
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.

2 participants