Skip to content

Analog Rytm MKII: Ctrl All 1.2.0 moves into the library - #1298

Merged
repeat98 merged 3 commits into
mainfrom
claude/rytm-ctrl-all-library
Nov 7, 2026
Merged

repeat98 merged 3 commits into
mainfrom
claude/rytm-ctrl-all-library

Conversation

@repeat98

@repeat98 repeat98 commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Moves Iced-Cream's Ctrl All 1.2.0 from _submissions/ (merged in #936) into the library, so it appears on the site once merged. It is the elemod port (rytm2_mods v1.2, afd461d) of MrScruff's rytm-mods 0014-ctrl-all: hold TRK and turn a knob on a sound page or the TRIG page, and the same step goes to that parameter on all twelve sound tracks. Version stays 1.2.0 and the code is unchanged. Needs repeat98's first-release approval.

Author's OK: Iced-Cream agreed to our doing the move: #1291 (comment)

  • Moved to sdk/analog-rytm-mkii/modules/ctrl-all/ with git mv. The manifest, build.json, source, include, media, evidence and every credit line are unchanged (author Iced-Cream; MrScruff's original, published in rytm-mods-src with permission; irpina's core). The submission already had tests.documentation, the tutorial, 3 rytm-emu captures with their record and measured memory, so the manifest needed nothing more. The modules README lists it.
  • Package: source-only OS 1.74 .elemod 1d0c2141922e6c466d2ba4f249af3ad83f66e7fdac18d47dc5f94edce301973c in sdk/imports/packages/ctrl-all/, recorded in sdk/imports/ctrl-all-2026-11-07.json, pinned by sdk/imports/elekloader-ctrl-all-2026-11-07.json (commit f16f4d99) and vendored through elekloader:update -- --overlay. Built by build-elemod-isolated.sh (modwerk-source-tools 28323550) from a clean checkout of 4e85d714 (the move alone). package-elemod-recipe.mjs --check reproduces it, and verify-elemod-release-exports.mjs reproduces all 45 exports.
  • Against upstream: its .run, sites, symbols and relocations equal rytm2_mods v1.2's release object (cc7d1b3c…bc7b). Where that object takes 14 runs (122 bytes, at most 10 in a row) from the stock OS at link time, this package carries the bytes compiled from the source, as Filter Hz's package does.
  • Import record: sdk/imports/rytm2-mods-ctrl-all-afd461d.json names module-relative paths, so the move changes nothing in it and its hashes stand (sdk:imports:check green).
  • Release notes: src/community/module-changelogs/analog-rytm-mkii-ctrl-all.json, one 1.2.0 entry, 5 lines.
  • Tests: library-parity lists ctrl-all 1.2.0; digi-build.test.ts plans it beside Env Reset Amp and Filter Hz on the plain base.
  • TESTING.md: the line saying it is a submission until the browser can build it now says it waited there; a new "Library package" section records the build above. The author's hardware reports stay as reported.
  • Evidence: as reported by the author, on an Analog Rytm MKII with OS 1.74: R8K4 and C3A4 (beside other rytm2_mods ports), SXH4 (beside the other five Modwerk submissions) and CAH4 (alone), all with core-ar2 0.3 or earlier. This package's own bytes have not been linked against a stock OS file, flashed from the site or run on the Modwerk base (core-ar2 0.7). Record: docs/verification/2026-11-07-rytm-ctrl-all-library.md.
  • Compatibility: Patches one site, a jmp at 0x400378c2 in param_apply_delta. No library module or base variant patches it, and its claim (ui:TRK + knob on sound and TRIG pages) is no other module's. The Rytm SDK guide names ctrl-all's turn hook among the 0.3 mods that link with core 0.7 as with 0.3. Parameters other modules add stay single-track, as its limitations say.
  • Agent board: pr:ready's board check says a move out of _submissions/ adds nothing that needs a claim, so it ran with MODWERK_BOARD=off, as for Env Reset Amp (Analog Rytm MKII: Env Reset Amp 1.0.0 moves into the library #1297).

Links: #936, #1297. Merge with a merge commit, not a squash, so the pinned commit f16f4d99 stays on main. If I merge main into this branch to clear a conflict, the pin stays in the branch history and the same applies.

What the guides lacked: nothing wrong. One gap, left out of this module release: ELEMOD_SOURCE_BUILDS.md does not say that an upstream release object may take runs from the stock OS (stock parts) while Modwerk's export carries the compiled bytes, so comparing an export with the author's object means comparing the hex parts at their offsets.

Validation commands and results:

  • npm run module:doctor -- ctrl-all: manifest, category guide, browser builder and module rules green
  • MODWERK_BOARD=off npm run pr:ready: Ready
  • node scripts/package-elemod-recipe.mjs … --check, node scripts/verify-elemod-release-exports.mjs <build>: reproduced (45 exports)
  • npx vitest run src/devices/library-parity.test.ts src/engine/elekloader/digi-build.test.ts: 51 passed

🤖 Generated with Claude Code

repeat98 and others added 3 commits November 7, 2026 14:41
Moves Iced-Cream's Ctrl All 1.2.0 (an elemod port of MrScruff's rytm-mods
mod, in rytm2_mods) from _submissions/ into modules/ctrl-all, code unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compiled in the pinned modwerk-source-tools image from a clean checkout
of 4e85d71 and exported with package-elemod-recipe.mjs (--check
reproduces it). Its .run, sites, symbols and relocations equal
rytm2_mods v1.2's release object, apart from the runs that object takes
from the stock OS. Adds the import record, release notes, the library
list line and TESTING.md's library package section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The elekloader record pins the package at f16f4d9; elekloader:update
--overlay fetched it into the vendored catalogue. The library parity
and planBuild tests list it, and the verification record says what
was built and what has not run on a unit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@repeat98
repeat98 merged commit 466c842 into main Nov 7, 2026
9 checks passed
repeat98 added a commit that referenced this pull request Nov 7, 2026
Keeps Ctrl All (#1298) beside Main RMS in the modules README and the
library parity test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
repeat98 added a commit that referenced this pull request Nov 7, 2026
Keeps Ctrl All (#1298) beside Slice Loop in the modules README and the
library parity test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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