@map-audio/pam-mcp-server 1.22.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +33 -6
  2. package/dist/audioAnalysis.d.ts +1 -1
  3. package/dist/audioAnalysis.js +3 -4
  4. package/dist/audioAnalysis.js.map +1 -1
  5. package/dist/bridge.d.ts +4 -0
  6. package/dist/bridge.js +53 -160
  7. package/dist/bridge.js.map +1 -1
  8. package/dist/drumSynth.js +1 -1
  9. package/dist/drumSynth.js.map +1 -1
  10. package/dist/drumSynthEngines.json +1 -1
  11. package/dist/fgemma-runner.js +20 -4
  12. package/dist/fgemma-runner.js.map +1 -1
  13. package/dist/generated/kvWriteOptions.d.ts +20 -0
  14. package/dist/generated/kvWriteOptions.js +45 -0
  15. package/dist/generated/kvWriteOptions.js.map +1 -0
  16. package/dist/generated/variationSnapshot.d.ts +8 -4
  17. package/dist/generated/variationSnapshot.js +6 -23
  18. package/dist/generated/variationSnapshot.js.map +1 -1
  19. package/dist/generativePlayerPresets.json +70 -0
  20. package/dist/generativePlayers.json +134 -0
  21. package/dist/manifest-cell1.json +2 -2
  22. package/dist/manifest-mfx.json +178 -37
  23. package/dist/manifest-msq.json +9564 -0
  24. package/dist/manifest.d.ts +1 -1
  25. package/dist/manifest.js +17 -9
  26. package/dist/manifest.js.map +1 -1
  27. package/dist/manifest.json +11227 -2841
  28. package/dist/mfxCombos.js +1 -1
  29. package/dist/mfxCombos.js.map +1 -1
  30. package/dist/midiFile.d.ts +21 -0
  31. package/dist/midiFile.js +108 -0
  32. package/dist/midiFile.js.map +1 -0
  33. package/dist/mixAssist.d.ts +35 -0
  34. package/dist/mixAssist.js +247 -19
  35. package/dist/mixAssist.js.map +1 -1
  36. package/dist/patternLanes.d.ts +40 -0
  37. package/dist/patternLanes.js +108 -0
  38. package/dist/patternLanes.js.map +1 -0
  39. package/dist/players.d.ts +89 -0
  40. package/dist/players.js +235 -0
  41. package/dist/players.js.map +1 -0
  42. package/dist/presetSave.d.ts +8 -0
  43. package/dist/presetSave.js +35 -0
  44. package/dist/presetSave.js.map +1 -1
  45. package/dist/sampleSlicing.d.ts +12 -0
  46. package/dist/sampleSlicing.js +78 -0
  47. package/dist/sampleSlicing.js.map +1 -0
  48. package/dist/server.js +1828 -525
  49. package/dist/server.js.map +1 -1
  50. package/dist/targetDenylist.json +20 -0
  51. package/dist/variationSessionKeys.json +34 -1
  52. package/package.json +5 -4
@@ -272,6 +272,23 @@ function historyFromMessages(messages, lastUser) {
272
272
  }
273
273
  return history;
274
274
  }
275
+ /** An assistant turn whose own calls came back as errors (a repair row's scripted first try). */
276
+ function failedTurn(messages, index) {
277
+ const names = new Set((messages[index].tool_calls ?? []).map((tc) => tc.function.name));
278
+ for (const m of messages.slice(index + 1)) {
279
+ if (m.role !== "tool")
280
+ break;
281
+ for (const item of Array.isArray(m.content) ? m.content : [m.content]) {
282
+ if (!item || typeof item !== "object")
283
+ continue;
284
+ const { name, response } = item;
285
+ const value = (response ?? item);
286
+ if (name && names.has(name) && typeof value === "object" && value && (value.error || value.isError))
287
+ return true;
288
+ }
289
+ }
290
+ return false;
291
+ }
275
292
  async function runEval(tools) {
276
293
  const rows = readFileSync(config.evalPath, "utf-8")
277
294
  .trim()
@@ -282,12 +299,11 @@ async function runEval(tools) {
282
299
  const latencies = [];
283
300
  for (let i = 0; i < rows.length; i++) {
284
301
  const row = rows[i];
285
- // Replay to the LAST user turn (followup rows carry a first exchange as
286
- // history); gold = the first assistant message after it. Rows carry their
287
- // own [ctx] line inside the user content — nothing to inject here.
302
+ // Replay to the LAST user turn; gold = the first assistant turn after it that did not
303
+ // fail, so a repair row scores the working call. Rows carry their own [ctx] line.
288
304
  const lastUser = row.messages.reduce((acc, m, idx) => (m.role === "user" ? idx : acc), -1);
289
305
  const user = row.messages[lastUser];
290
- const firstAssistant = row.messages.slice(lastUser + 1).find((m) => m.role === "assistant");
306
+ const firstAssistant = row.messages.find((m, idx) => idx > lastUser && m.role === "assistant" && !failedTurn(row.messages, idx));
291
307
  const utterance = String(user?.content ?? "");
292
308
  const gold = firstAssistant?.tool_calls
293
309
  ? firstAssistant.tool_calls.map((tc) => ({ name: tc.function.name, arguments: tc.function.arguments }))
@@ -1 +1 @@
1
- {"version":3,"file":"fgemma-runner.js","sourceRoot":"","sources":["../src/fgemma-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fgemma-runner.js","sourceRoot":"","sources":["../src/fgemma-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface KvWriteOptions {
2
+ shouldDispatch: boolean;
3
+ syncKVResources: boolean;
4
+ syncConfigResources: boolean;
5
+ skipFileLoadingIfUnchanged: boolean;
6
+ resyncKVAfterDispatch: boolean;
7
+ updateParameters: boolean;
8
+ clearRecordingSession: boolean;
9
+ broadcastFollowers: boolean;
10
+ }
11
+ /** applyStateUpdate / applyStateDelta: graph dispatch, KV + config sync, followers told. */
12
+ export declare const STATE_UPDATE_KV_OPTIONS: Readonly<KvWriteOptions>;
13
+ /** updateCellConfig: live-polled from cell config KV, so no graph dispatch. */
14
+ export declare const CELL_CONFIG_KV_OPTIONS: Readonly<KvWriteOptions>;
15
+ /** updateEffectConfig: CELL_CONFIG plus the follower broadcast. */
16
+ export declare const EFFECT_CONFIG_KV_OPTIONS: Readonly<KvWriteOptions>;
17
+ /** updateMasterConfig: every master key is live-polled from master_config; a rebuild only risks dropouts. */
18
+ export declare const MASTER_CONFIG_KV_OPTIONS: Readonly<KvWriteOptions>;
19
+ /** updatePattern: sequence lanes adopt the KV publication; parameters and config are untouched. */
20
+ export declare const PATTERN_EDIT_KV_OPTIONS: Readonly<KvWriteOptions>;
@@ -0,0 +1,45 @@
1
+ // GENERATED COPY of shared/kvWriteOptions.ts — do not edit here.
2
+ // Regenerate: node scripts/generate-variation-session-keys.mjs
3
+ /** applyStateUpdate / applyStateDelta: graph dispatch, KV + config sync, followers told. */
4
+ export const STATE_UPDATE_KV_OPTIONS = {
5
+ shouldDispatch: true,
6
+ syncKVResources: true,
7
+ syncConfigResources: true,
8
+ skipFileLoadingIfUnchanged: true,
9
+ resyncKVAfterDispatch: true,
10
+ updateParameters: true,
11
+ clearRecordingSession: true,
12
+ broadcastFollowers: true
13
+ };
14
+ /** updateCellConfig: live-polled from cell config KV, so no graph dispatch. */
15
+ export const CELL_CONFIG_KV_OPTIONS = {
16
+ shouldDispatch: false,
17
+ syncKVResources: true,
18
+ syncConfigResources: true,
19
+ skipFileLoadingIfUnchanged: true,
20
+ resyncKVAfterDispatch: false,
21
+ updateParameters: true,
22
+ clearRecordingSession: false,
23
+ broadcastFollowers: false
24
+ };
25
+ /** updateEffectConfig: CELL_CONFIG plus the follower broadcast. */
26
+ export const EFFECT_CONFIG_KV_OPTIONS = {
27
+ ...CELL_CONFIG_KV_OPTIONS,
28
+ broadcastFollowers: true
29
+ };
30
+ /** updateMasterConfig: every master key is live-polled from master_config; a rebuild only risks dropouts. */
31
+ export const MASTER_CONFIG_KV_OPTIONS = {
32
+ ...CELL_CONFIG_KV_OPTIONS
33
+ };
34
+ /** updatePattern: sequence lanes adopt the KV publication; parameters and config are untouched. */
35
+ export const PATTERN_EDIT_KV_OPTIONS = {
36
+ shouldDispatch: true,
37
+ syncKVResources: true,
38
+ syncConfigResources: false,
39
+ skipFileLoadingIfUnchanged: true,
40
+ resyncKVAfterDispatch: false,
41
+ updateParameters: false,
42
+ clearRecordingSession: false,
43
+ broadcastFollowers: false
44
+ };
45
+ //# sourceMappingURL=kvWriteOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kvWriteOptions.js","sourceRoot":"","sources":["../../src/generated/kvWriteOptions.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,+DAA+D;AAgB/D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;CACzB,CAAA;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,KAAK;IAC5B,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,KAAK;IAC5B,kBAAkB,EAAE,KAAK;CAC1B,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,GAAG,sBAAsB;IACzB,kBAAkB,EAAE,IAAI;CACzB,CAAA;AAED,6GAA6G;AAC7G,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,GAAG,sBAAsB;CAC1B,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,KAAK;IAC1B,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,KAAK;IAC5B,gBAAgB,EAAE,KAAK;IACvB,qBAAqB,EAAE,KAAK;IAC5B,kBAAkB,EAAE,KAAK;CAC1B,CAAA"}
@@ -1,6 +1,10 @@
1
1
  export interface VariationSnapshotContract {
2
2
  /** Session keys a variation must not carry (shared/variationSessionKeys.json). */
3
3
  sessionKeys: readonly string[];
4
+ /** The in-flight dispatch flags (StateShape's Transient group). A stored one
5
+ * is read back as an instruction — a slot carrying `__fadeMs__` crossfades
6
+ * the next load at the fade the FILE holds, not the one the loader asked for. */
7
+ transientKeys: readonly string[];
4
8
  /** Visual audio-react paramIds — they persist ACROSS variations, so they are
5
9
  * stripped from every snapshot rather than captured per slot. */
6
10
  visualParamIds: readonly string[];
@@ -23,9 +27,9 @@ export declare function reconcileLfoGeneratorEnabledState(snapshot: Record<strin
23
27
  /**
24
28
  * Shape a variation snapshot from plugin state.
25
29
  *
26
- * Order matters and is part of the contract: strip session keys, drop the
27
- * active-preset path, strip visual params, narrow for FX products, then
28
- * reconcile the LFO generator flags LAST — the reconcile reads `lfos`, which
29
- * the earlier steps may have removed.
30
+ * Order matters and is part of the contract: strip session keys and the
31
+ * transient dispatch flags, drop the active-preset path, strip visual params,
32
+ * narrow for FX products, then reconcile the LFO generator flags LAST — the
33
+ * reconcile reads `lfos`, which the earlier steps may have removed.
30
34
  */
31
35
  export declare function buildVariationSnapshotBase(state: Record<string, unknown>, contract: VariationSnapshotContract, options?: VariationSnapshotOptions): Record<string, unknown>;
@@ -1,24 +1,5 @@
1
1
  // GENERATED COPY of shared/variationSnapshot.ts — do not edit here.
2
2
  // Regenerate: node scripts/generate-variation-session-keys.mjs
3
- // The variation-snapshot shaping both save paths run.
4
- //
5
- // The UI (interface/src/interop.ts) and MCP (packages/mcp-server) both shape
6
- // through here, because two implementations drift: the MCP side was missing 16
7
- // session keys, the visual-param strip and the LFO-generator reconcile, so a
8
- // variation saved over MCP was not the same bytes as one saved from the window.
9
- //
10
- // This is the PURE half. It takes state plus the contract data and returns the
11
- // shaped snapshot, so both callers produce identical bytes for identical input
12
- // (pinned by interface/test/variationSnapshotParity.test.ts).
13
- //
14
- // The IMPURE half stays per-caller and is genuinely different: the UI can await
15
- // `refreshLoadedPluginStateBlobs()` and stamp hosted-plugin identity/bypass from
16
- // `pluginHostStore`; the headless bridge cannot reach either, and says so on the
17
- // save result instead of writing a silently lossy slot.
18
- //
19
- // GENERATED COPY: packages/mcp-server/src/generated/variationSnapshot.ts is
20
- // produced from this file by scripts/generate-variation-session-keys.mjs.
21
- // Edit THIS file; the drift check fails if the copy is stale.
22
3
  /**
23
4
  * Force each `lfo{g}_enabled` flag to match whether that generator still has a
24
5
  * live link.
@@ -42,15 +23,17 @@ export function reconcileLfoGeneratorEnabledState(snapshot, lfoGeneratorCount) {
42
23
  /**
43
24
  * Shape a variation snapshot from plugin state.
44
25
  *
45
- * Order matters and is part of the contract: strip session keys, drop the
46
- * active-preset path, strip visual params, narrow for FX products, then
47
- * reconcile the LFO generator flags LAST — the reconcile reads `lfos`, which
48
- * the earlier steps may have removed.
26
+ * Order matters and is part of the contract: strip session keys and the
27
+ * transient dispatch flags, drop the active-preset path, strip visual params,
28
+ * narrow for FX products, then reconcile the LFO generator flags LAST — the
29
+ * reconcile reads `lfos`, which the earlier steps may have removed.
49
30
  */
50
31
  export function buildVariationSnapshotBase(state, contract, options = {}) {
51
32
  const snapshot = { ...state };
52
33
  for (const key of contract.sessionKeys)
53
34
  delete snapshot[key];
35
+ for (const key of contract.transientKeys)
36
+ delete snapshot[key];
54
37
  delete snapshot.activePresetPath;
55
38
  for (const paramId of contract.visualParamIds)
56
39
  delete snapshot[paramId];
@@ -1 +1 @@
1
- {"version":3,"file":"variationSnapshot.js","sourceRoot":"","sources":["../../src/generated/variationSnapshot.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,+DAA+D;AAC/D,sDAAsD;AACtD,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,8DAA8D;AAC9D,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,wDAAwD;AACxD,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8DAA8D;AAuB9D;;;;;;;GAOG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAiC,EACjC,iBAAyB;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAM;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAiB,CAAA;IAEvC,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,IAAI,iBAAiB,EAAE,cAAc,EAAE,EAAE,CAAC;QACnF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,EAAE,iBAAiB,KAAK,cAAc;YACzC,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;YACzB,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CACzB,CAAA;QACD,QAAQ,CAAC,MAAM,cAAc,UAAU,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAA8B,EAC9B,QAAmC,EACnC,UAAoC,EAAE;IAEtC,MAAM,QAAQ,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAA;IAEtD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,QAAQ,CAAC,gBAAgB,CAAA;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;IACvE,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;IAE7C,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"variationSnapshot.js","sourceRoot":"","sources":["../../src/generated/variationSnapshot.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,+DAA+D;AA+C/D;;;;;;;GAOG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAiC,EACjC,iBAAyB;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAM;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAiB,CAAA;IAEvC,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,IAAI,iBAAiB,EAAE,cAAc,EAAE,EAAE,CAAC;QACnF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,EAAE,iBAAiB,KAAK,cAAc;YACzC,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;YACzB,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CACzB,CAAA;QACD,QAAQ,CAAC,MAAM,cAAc,UAAU,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAA8B,EAC9B,QAAmC,EACnC,UAAoC,EAAE;IAEtC,MAAM,QAAQ,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAA;IAEtD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC9D,OAAO,QAAQ,CAAC,gBAAgB,CAAA;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;IACvE,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;IAE7C,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,70 @@
1
+ {
2
+ "_doc": "Curated per-player starting points for the generative Players — the 'one-click start' rung of the type -> preset -> dice -> knobs ladder (docs/research/2026-08-05_generative-players-research.md §16, transferable principles 3 and 6). Keyed by the player id in shared/generativePlayers.json; each entry is a complete snapshot of that player's performance axes and character slots: `density` and `mutate` are raw 0..1, and `p` holds one value per slot in P1..Pn order. UI-ONLY — the C++ core never reads this file, and no preset id is persisted anywhere: applying one writes plain cell-config values through setCellPlayer, so a preset may be renamed, re-voiced or dropped without touching a single saved project. What IS frozen is the meaning of what it writes: `p[i]` is that player's slot i in shared/generativePlayers.json, so re-voicing a preset is free while pointing it at a different slot is not. A DETENTED slot's value must be exactly i/(steps-1) — the long decimals here are that quotient, not a rounded taste; type 0.667 for a 4-position slot and the knob, the menu and the C++ stepIndex helper stop agreeing on which position it is (interface/test/generativePlayerPresets.test.ts pins it). A player may carry fewer `p` entries than it has slots (the rest fall back to the roster default), never more.",
3
+ "version": 1,
4
+ "presets": {
5
+ "1": [
6
+ { "name": "Bossa Five", "density": 0.3125, "mutate": 0, "p": [0, 0.3, 0.4, 0] },
7
+ { "name": "Offbeats", "density": 0.5, "mutate": 0, "p": [0.06666666666666667, 0.5, 0.5, 0] },
8
+ { "name": "Rolling Hat", "density": 0.6875, "mutate": 0, "p": [0, 0.18, 0.25, 0] },
9
+ { "name": "XOR Weave", "density": 0.4375, "mutate": 0, "p": [0, 0.45, 0.6, 0.6666666666666666] },
10
+ { "name": "Punch Gaps", "density": 0.75, "mutate": 0, "p": [0.26666666666666666, 0.15, 0.8, 1] }
11
+ ],
12
+ "2": [
13
+ { "name": "Sparse Trap", "density": 0.38, "mutate": 0, "p": [0, 0.15, 0.35, 0.5] },
14
+ { "name": "Rolling Drill", "density": 0.62, "mutate": 0.08, "p": [0.16666666666666666, 0.45, 0.55, 0.6] },
15
+ { "name": "Busy Boom Bap", "density": 0.58, "mutate": 0.12, "p": [0.3333333333333333, 0.7, 0.1, 0.6] },
16
+ { "name": "DnB Break", "density": 0.66, "mutate": 0.15, "p": [0.5, 0.55, 0.2, 0.5] },
17
+ { "name": "Techno Lock", "density": 0.55, "mutate": 0, "p": [0.8333333333333334, 0, 0, 0.5] },
18
+ { "name": "IDM Skitter", "density": 0.72, "mutate": 0.35, "p": [1, 0.75, 0.5, 0.25] }
19
+ ],
20
+ "3": [
21
+ { "name": "Short Loop", "density": 0.7, "mutate": 0, "p": [0.2222222222222222, 0.15, 0.5, 0, 0] },
22
+ { "name": "Long Drift", "density": 0.6, "mutate": 0.22, "p": [0.7777777777777778, 0.45, 0.5, 0.2, 0] },
23
+ { "name": "Inverted Loop", "density": 0.65, "mutate": 1, "p": [0.5555555555555556, 0.3, 0.55, 0.1, 0] },
24
+ { "name": "Acid Slide", "density": 0.85, "mutate": 0.08, "p": [0.3333333333333333, 0.2, 0.35, 0.75, 0] },
25
+ { "name": "Quartal Pad", "density": 0.4, "mutate": 0.12, "p": [0.6666666666666666, 0.7, 0.85, 0.6, 1] }
26
+ ],
27
+ "4": [
28
+ { "name": "Tiny Steps", "density": 0.75, "mutate": 0.3, "p": [0.1, 0.7, 0.15, 0.15, 0] },
29
+ { "name": "Wide Wander", "density": 0.6, "mutate": 0.3, "p": [0.85, 0.2, 0.2, 0.8, 0] },
30
+ { "name": "Root Anchor", "density": 0.8, "mutate": 0, "p": [0.35, 1, 0.1, 0.25, 0] },
31
+ { "name": "Sparse Triads", "density": 0.7, "mutate": 0.3, "p": [0.3, 0.55, 0.6, 0.35, 0.6] },
32
+ { "name": "Fifths Roam", "density": 0.55, "mutate": 0.3, "p": [0.55, 0.35, 0.3, 0.55, 0.4] }
33
+ ],
34
+ "5": [
35
+ { "name": "Echo the Clip", "density": 0.7, "mutate": 0, "p": [0.95, 0, 0.2, 0.2, 0] },
36
+ { "name": "Loose Jam", "density": 0.65, "mutate": 0.3, "p": [0.6, 0.75, 0.25, 0.4, 0] },
37
+ { "name": "Free Improv", "density": 0.6, "mutate": 0.3, "p": [0.25, 1, 0.3, 0.7, 0] },
38
+ { "name": "Wide Sevenths", "density": 0.5, "mutate": 0.3, "p": [0.75, 0.5, 0.35, 1, 0.8] },
39
+ { "name": "Tight Comp", "density": 0.85, "mutate": 0.3, "p": [0.85, 0.25, 0.1, 0, 0.2] }
40
+ ],
41
+ "6": [
42
+ { "name": "Bare Bones", "density": 0.3, "mutate": 0, "p": [0, 0, 0, 0.5] },
43
+ { "name": "Backbeat Fills", "density": 0.45, "mutate": 0.1, "p": [0.3333333333333333, 0.6, 0.35, 0.5] },
44
+ { "name": "Offbeat Buzz", "density": 0.4, "mutate": 0.15, "p": [0.6666666666666666, 0.3, 0.8, 0.15] },
45
+ { "name": "Machine Gun", "density": 0.7, "mutate": 0.2, "p": [1, 0.85, 0.9, 0.85] },
46
+ { "name": "Drag Flams", "density": 0.55, "mutate": 0.25, "p": [0, 0.2, 0.45, 0.95] }
47
+ ],
48
+ "7": [
49
+ { "name": "Five Slide", "density": 0.6, "mutate": 0, "p": [0.25, 0.25, 1, 0] },
50
+ { "name": "Static Seven", "density": 0.43, "mutate": 0, "p": [0.75, 0, 0, 0] },
51
+ { "name": "Nine Drift", "density": 0.55, "mutate": 0, "p": [1, 0.75, 0.3333333333333333, 1] },
52
+ { "name": "Triple Pulse", "density": 0.67, "mutate": 0, "p": [0, 0.25, 0.6666666666666666, 0] },
53
+ { "name": "Six Interlock", "density": 0.5, "mutate": 0, "p": [0.5, 0.5, 0.3333333333333333, 1] }
54
+ ],
55
+ "8": [
56
+ { "name": "Up Two Oct", "density": 0.9, "mutate": 0, "p": [0, 0, 0.3333333333333333, 0.3, 0] },
57
+ { "name": "Andalusian", "density": 0.75, "mutate": 0.15, "p": [0.6666666666666666, 1, 0.6666666666666666, 0.45, 0] },
58
+ { "name": "Converge Slow", "density": 0.45, "mutate": 0.15, "p": [1, 0.6666666666666666, 0.3333333333333333, 0.8, 0] },
59
+ { "name": "Wide Descent", "density": 0.85, "mutate": 0, "p": [0.3333333333333333, 0.3333333333333333, 1, 0.25, 0] },
60
+ { "name": "Chord Stabs", "density": 0.35, "mutate": 0.15, "p": [0, 0.6666666666666666, 0, 0.15, 0.8] }
61
+ ],
62
+ "9": [
63
+ { "name": "As Written", "density": 0.5, "mutate": 0, "p": [0.5, 0.35] },
64
+ { "name": "Thinned", "density": 0.3, "mutate": 0, "p": [0.75, 0.2] },
65
+ { "name": "Filled In", "density": 0.72, "mutate": 0, "p": [0.35, 0.5] },
66
+ { "name": "Breathing", "density": 0.5, "mutate": 0.35, "p": [0.5, 0.4] },
67
+ { "name": "Skeleton", "density": 0.16, "mutate": 0.12, "p": [0.9, 0.85] }
68
+ ]
69
+ }
70
+ }
@@ -0,0 +1,134 @@
1
+ {
2
+ "_doc": "SINGLE REGISTRY for the generative Players (docs/plans/GENERATIVE_PLAYERS.md §8). One entry per player id; id 0 is Off and has no entry. Consumed by build.js (codegens modules/player/GenerativePlayerSpec.generated.h and gates manifest.generativePatterns) and by interface/src/utils/generativePlayers.ts via the @shared import. IDS ARE APPEND-ONLY and a shipped id's P-slot meanings are frozen: cells[id].playerType persists in every preset and variation, and playerP1..P5 are raw 0..1 knob positions whose meaning comes from this file alone. A player may GROW a slot (the melodic four grew Chord): a new slot's default must be the value that reproduces the pre-slot output, since a preset saved before it existed carries no field. `tag` (drum|melodic|both) drives the UI grouping and the mono-cell hint; `replay` marks the three players whose state is derived by bounded deterministic replay (GenerativePlayerCore::chainStateAtCycle) rather than a closed form. `slots` holds 1..5 P-knob descriptors in P1..P5 order — a player with fewer slots leaves the remaining playerP* fields inert. `steps`/`stepLabels` turn a slot into a detented selector (stepLabels.length must equal steps); everything else is a continuous 0..1 knob. A continuous slot may carry `hint` (one plain sentence the knob's tooltip prints — detented slots self-describe through their labels) and `center: true` (the value is bipolar around 0.5 and prints signed, like KIT's Feel). `defaults.mutate` is 0 for the players where a repeating loop is the point and small where evolution is. `doc` is the ENGINEERING note (algorithm, prior art, hardware lineage) and never reaches the UI; `blurb` is the user-facing one-liner the roster prints, so it carries no filenames, no maths notation and no third-party product names.",
3
+ "version": 1,
4
+ "players": {
5
+ "1": {
6
+ "name": "EUCLID",
7
+ "tag": "drum",
8
+ "replay": false,
9
+ "doc": "Clough-Douthett closed-form maximally-even E(k,n) with rotation; k from DENSITY over the pattern's 16ths. P4 layers a second pulse generator combined by a boolean op (the Digitakt II dual-Euclid trick). Closed-form and seed-independent while MUTATE is locked, so ROTATION stays absolute and the named repertoire is reachable at known positions. The default density is E(7,16) - the Samba necklace - rather than the k=8 midpoint, which is periodic (gcd 8) and degenerates to a plain straight-eighths grid.",
10
+ "blurb": "Spreads hits as evenly as it can across the bar. Density sets how many, Rotate slides them, Layer adds a second pulse.",
11
+ "defaults": { "density": 0.44, "mutate": 0.0 },
12
+ "slots": [
13
+ { "label": "Rotate", "default": 0.0, "steps": 16 },
14
+ { "label": "Gate", "default": 0.35, "hint": "Note length, as a share of the step" },
15
+ { "label": "Accent", "default": 0.5, "hint": "How many of the hits play accented" },
16
+ { "label": "Layer", "default": 0.0, "steps": 4, "stepLabels": ["Off", "OR", "XOR", "SUB"] }
17
+ ]
18
+ },
19
+ "2": {
20
+ "name": "KIT",
21
+ "tag": "drum",
22
+ "replay": false,
23
+ "doc": "Genre-prior threshold masking from RandomizerPatternPriors.h for the cell's default role, played live: onset probability x metric weight, velocity from the prior's mean, ghosts as low-velocity prob steps, ratchets on the retrigger fields.",
24
+ "blurb": "Plays this cell's drum role in the feel of a genre. Ghost notes and ratchets fill the gaps between the main hits.",
25
+ "defaults": { "density": 0.5, "mutate": 0.0 },
26
+ "slots": [
27
+ { "label": "Genre", "default": 0.0, "steps": 7, "stepLabels": ["Trap", "Drill", "Boom Bap", "DnB", "House", "Techno", "IDM"] },
28
+ { "label": "Ghosts", "default": 0.3, "hint": "How many quiet extra hits fill the gaps" },
29
+ { "label": "Ratchet", "default": 0.15, "hint": "How often a hit becomes a short double burst" },
30
+ { "label": "Feel", "default": 0.5, "center": true, "hint": "Drag behind or push ahead of the beat — the centre is straight" }
31
+ ]
32
+ },
33
+ "3": {
34
+ "name": "TURING",
35
+ "tag": "melodic",
36
+ "replay": true,
37
+ "doc": "Looping shift register over the hardware's musical length set, one full rotation per cycle; MUTATE is the bit-flip probability (full mutate = the Mobius double-length inverted loop). Pitch comes from LSB-in/MSB-out bit weighting mapped into the cell scale.",
38
+ "blurb": "A looping bit pattern read out as a melody. Mutate flips bits, so the loop drifts a little further every time round.",
39
+ "defaults": { "density": 0.6, "mutate": 0.15 },
40
+ "slots": [
41
+ { "label": "Length", "default": 0.4444444444444444, "steps": 10, "stepLabels": ["2", "3", "4", "5", "6", "8", "12", "16", "24", "32"] },
42
+ { "label": "Range", "default": 0.35, "hint": "Pitch range, up to four octaves" },
43
+ { "label": "Gate", "default": 0.5, "hint": "Which notes survive low density — full favours the strong beats" },
44
+ { "label": "Slide", "default": 0.0, "hint": "How often a note holds legato into the next" },
45
+ { "label": "Chord", "default": 0.0, "steps": 6, "stepLabels": ["Off", "Oct", "5th", "Triad", "7th", "Quartal"] }
46
+ ]
47
+ },
48
+ "4": {
49
+ "name": "WALK",
50
+ "tag": "melodic",
51
+ "replay": true,
52
+ "doc": "Bounded drunk walk over scale degrees: weighted interval table (seconds/thirds dominant), gravity toward the root, leap-then-step-back voice leading, rests from (1-DENSITY).",
53
+ "blurb": "Wanders up and down the scale in small steps. Gravity pulls it back toward the root, and low density turns steps into rests.",
54
+ "defaults": { "density": 0.6, "mutate": 0.3 },
55
+ "slots": [
56
+ { "label": "Step", "default": 0.4, "hint": "Interval size, small steps to wide leaps" },
57
+ { "label": "Gravity", "default": 0.5, "hint": "Pull toward the root; high keeps it close to home" },
58
+ { "label": "Rests", "default": 0.25, "hint": "How often a step becomes a rest" },
59
+ { "label": "Range", "default": 0.4, "hint": "How far above and below the root it can wander" },
60
+ { "label": "Chord", "default": 0.0, "steps": 6, "stepLabels": ["Off", "Oct", "5th", "Triad", "7th", "Quartal"] }
61
+ ]
62
+ },
63
+ "5": {
64
+ "name": "MARKOV",
65
+ "tag": "melodic",
66
+ "replay": true,
67
+ "doc": "Order-1 chain over scale-degree intervals learned from the cell's own drawn pattern, blended toward the metric-hierarchy prior when the clip is thin. P2 is the temperature (argmax replay to uniform).",
68
+ "blurb": "Learns from the pattern you drew and improvises around it. Fidelity holds the line, Freedom loosens it.",
69
+ "defaults": { "density": 0.6, "mutate": 0.3 },
70
+ "slots": [
71
+ { "label": "Fidelity", "default": 0.7, "hint": "How closely it follows the pattern it learnt" },
72
+ { "label": "Freedom", "default": 0.5, "steps": 5, "stepLabels": ["Lock", "Tight", "As Learnt", "Loose", "Free"] },
73
+ { "label": "Rests", "default": 0.25, "hint": "How often a step becomes a rest" },
74
+ { "label": "Range", "default": 0.4, "hint": "Octave span of the improvisation" },
75
+ { "label": "Chord", "default": 0.0, "steps": 6, "stepLabels": ["Off", "Oct", "5th", "Triad", "7th", "Quartal"] }
76
+ ]
77
+ },
78
+ "6": {
79
+ "name": "RATCHET",
80
+ "tag": "drum",
81
+ "replay": false,
82
+ "doc": "Sparse archetype skeleton grown by threshold masking, plus per-cycle fills and retrigger bursts baked from the cycle hash. Emits the grid an Elektron-style player freezes into.",
83
+ "blurb": "A sparse skeleton with fills and retrigger bursts. Every cycle puts them somewhere new.",
84
+ "defaults": { "density": 0.45, "mutate": 0.1 },
85
+ "slots": [
86
+ { "label": "Skeleton", "default": 0.0, "steps": 4, "stepLabels": ["Downbeat", "Backbeat", "Offbeat", "Rolling"] },
87
+ { "label": "Fills", "default": 0.25, "hint": "How often a cycle grows a fill" },
88
+ { "label": "Ratchet", "default": 0.3, "hint": "How often a hit becomes a retrigger burst" },
89
+ { "label": "Ramp", "default": 0.5, "hint": "Burst speed, and how hard the repeats hit" }
90
+ ]
91
+ },
92
+ "7": {
93
+ "name": "PHASE",
94
+ "tag": "both",
95
+ "replay": false,
96
+ "doc": "A sub-loop of L steps tiled against the pattern window and rotated by a fixed number of steps per cycle (discrete Reich phasing - loop-safe and bounce-exact, unlike continuous drift).",
97
+ "blurb": "A short loop of odd length that slides against the bar. The two pull apart, then meet up again.",
98
+ "defaults": { "density": 0.5, "mutate": 0.0 },
99
+ "slots": [
100
+ { "label": "Loop", "default": 0.0, "steps": 5, "stepLabels": ["3", "5", "6", "7", "9"] },
101
+ { "label": "Drift", "default": 0.25, "steps": 5, "stepLabels": ["0", "1", "2", "3", "4"] },
102
+ { "label": "Accent", "default": 0.3333333333333333, "steps": 4, "stepLabels": ["1", "2", "3", "4"] },
103
+ { "label": "Alternate", "default": 0.0, "steps": 2, "stepLabels": ["Off", "On"] }
104
+ ]
105
+ },
106
+ "8": {
107
+ "name": "RIFF",
108
+ "tag": "melodic",
109
+ "replay": false,
110
+ "doc": "Scale-degree arp automaton: a chord-tone pool cycling through a short progression per cycle, traversed by shape over an octave span, with skips from (1-DENSITY).",
111
+ "blurb": "Arpeggios over a short chord progression. Shape picks the path up and down, Octaves sets the range.",
112
+ "defaults": { "density": 0.7, "mutate": 0.15 },
113
+ "slots": [
114
+ { "label": "Shape", "default": 0.0, "steps": 4, "stepLabels": ["Up", "Down", "Orbit", "Converge"] },
115
+ { "label": "Prog", "default": 0.0, "steps": 4, "stepLabels": ["Static", "i-VI", "i-iv-V", "i-VII-VI-V"] },
116
+ { "label": "Octaves", "default": 0.3333333333333333, "steps": 4, "stepLabels": ["1", "2", "3", "4"] },
117
+ { "label": "Gate", "default": 0.4, "hint": "Note length, as a share of the step" },
118
+ { "label": "Chord", "default": 0.0, "steps": 6, "stepLabels": ["Off", "Oct", "5th", "Triad", "7th", "Quartal"] }
119
+ ]
120
+ },
121
+ "9": {
122
+ "name": "MASK",
123
+ "tag": "both",
124
+ "replay": false,
125
+ "doc": "The cell's own drawn pattern, morphed. Per-step weights seeded from the clip (velocity on their notes, metric hierarchy on their rests) under one monotone threshold whose CENTER DETENT reproduces the clip exactly; MUTATE is a per-cycle latched perturbation depth.",
126
+ "blurb": "Your drawn pattern, thinned out or filled in. The centre of Density plays it back exactly as written.",
127
+ "defaults": { "density": 0.5, "mutate": 0.0 },
128
+ "slots": [
129
+ { "label": "Accent", "default": 0.5, "hint": "How far the off-beats duck under the strong beats" },
130
+ { "label": "Gate", "default": 0.35, "hint": "Note length, as a share of the step" }
131
+ ]
132
+ }
133
+ }
134
+ }
@@ -8438,7 +8438,7 @@
8438
8438
  "cell": "cell1",
8439
8439
  "effect": "wavefold",
8440
8440
  "suffix": "%",
8441
- "tooltip": "Extra fold density on top of Drive — deepens the reflective harmonic generation",
8441
+ "tooltip": "Extra gain on top of Drive — pushes past the last fold into the saturated end of travel",
8442
8442
  "version": 51,
8443
8443
  "macroVersion": 38,
8444
8444
  "isPluginParameter": true,
@@ -8513,7 +8513,7 @@
8513
8513
  "cell": "cell1",
8514
8514
  "effect": "wavefold",
8515
8515
  "suffix": "%",
8516
- "tooltip": "Fold character morph — smooth 259 sine (0%) through the warm Serge diode blend (50%) to the bright triangle reflector (100%)",
8516
+ "tooltip": "Fold ladder stagger — evenly spaced Serge folds (0%) through to the unequal, formant-like Buchla 259 spacing (100%)",
8517
8517
  "version": 53,
8518
8518
  "macroVersion": 40,
8519
8519
  "isPluginParameter": true,