Repository navigation
Analog Rytm MKII: Slice Loop 1.0.0 moves into the library - #1300
Merged
Merged
Conversation
Moves Iced-Cream's Slice Loop 1.0.0 (an elemod port of MrScruff's rytm-mods mod, in rytm2_mods) from _submissions/ into modules/slice-loop, 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 b307442 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 983fe2e; 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
enabled auto-merge
November 7, 2026 14:01
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves Iced-Cream's Slice Loop 1.0.0 from
_submissions/(merged in #937) 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-mods0012-slice-loop: SLICE LOOP in the track menu (FUNC + CHRO) fills an empty sound track with sixteen trigs, each locked to the next sixteenth of the sample. Version stays 1.0.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)
sdk/analog-rytm-mkii/modules/slice-loop/withgit 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 hadtests.documentation, the tutorial, 5 rytm-emu captures with their record and measured memory, so the manifest needed nothing more. The modules README lists it..elemod8e9a7d2ea0c9a6102414142d27c1677e86302e6818f2bdb530922172807893bdinsdk/imports/packages/slice-loop/, recorded insdk/imports/slice-loop-2026-11-07.json, pinned bysdk/imports/elekloader-slice-loop-2026-11-07.json(commit983fe2ec) and vendored throughelekloader:update -- --overlay. Built bybuild-elemod-isolated.sh(modwerk-source-tools28323550) from a clean checkout ofb307442d(the move alone).package-elemod-recipe.mjs --checkreproduces it, andverify-elemod-release-exports.mjsreproduces all 45 exports..run, sites, symbols and relocations equal rytm2_mods v1.2's release object (b1b8f51b…1cf9). Where that object takes 46 runs (440 bytes, at most 30 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..runbytes from the stock OS at link time, in 46 runs of 8 to 30 bytes. The longest is the push-and-call sequence the source re-emits around SAVE TRACK's menu entry (0x400f9eea). These are instructions written insrc/slice-loop.s, reviewed in Analog Rytm MKII: Slice Loop 1.0.0 for OS 1.74 (submission) #937, that happen to equal stock's. Like every committed Rytm package (Filter Hz's included), this export carries the bytes compiled from that source rather than stock references. If you'd rather not ship that much stock-equal code as hex, this one should wait.sdk/imports/rytm2-mods-slice-loop-afd461d.jsonnames module-relative paths, so the move changes nothing in it and its hashes stand (sdk:imports:checkgreen).src/community/module-changelogs/analog-rytm-mkii-slice-loop.json, one 1.0.0 entry, 4 lines.slice-loop1.0.0;digi-build.test.tsplans it beside Env Reset Amp and Quick Trig Conditions on the plain base.docs/verification/2026-11-07-rytm-slice-loop-library.md.jmpat0x400f9f02in the track menu's constructor. No library module or base variant patches it, and its claim (ui:track menu SLICE LOOP item) is no other module's.pr:ready's board check says a move out of_submissions/adds nothing that needs a claim, so it ran withMODWERK_BOARD=off, as for Env Reset Amp (Analog Rytm MKII: Env Reset Amp 1.0.0 moves into the library #1297).Links: #937, #1297. Merge with a merge commit, not a squash, so the pinned commit
983fe2ecstays onmain. If I mergemaininto 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.mddoes not say that an upstream release object may take runs from the stock OS (stockparts) 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 -- slice-loop: manifest, category guide, browser builder and module rules greenMODWERK_BOARD=off npm run pr:ready: Readynode 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