@mcptoolshop/claude-sfx 1.1.2 → 1.2.1
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.
- package/CHANGELOG.md +27 -0
- package/dist/player.js +19 -9
- package/dist/profiles.d.ts +93 -25
- package/dist/profiles.js +357 -168
- package/dist/verbs.d.ts +14 -10
- package/dist/verbs.js +367 -262
- package/package.json +1 -1
- package/profiles/minimal.json +902 -123
- package/profiles/retro.json +804 -125
package/dist/verbs.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Verb generation engine — profile-driven.
|
|
3
3
|
* Reads synthesis parameters from a Profile, applies modifiers, generates audio.
|
|
4
|
+
*
|
|
5
|
+
* Architecture: multi-note motifs in A major pentatonic with constrained variation.
|
|
6
|
+
* Each verb has 3 variants. Micro-jitter keeps sounds alive without breaking identity.
|
|
4
7
|
*/
|
|
5
8
|
import type { Profile } from "./profiles.js";
|
|
6
9
|
export type Status = "ok" | "err" | "warn";
|
|
@@ -10,10 +13,12 @@ export interface PlayOptions {
|
|
|
10
13
|
status?: Status;
|
|
11
14
|
scope?: Scope;
|
|
12
15
|
direction?: Direction;
|
|
13
|
-
/** Streak intensity level (1
|
|
16
|
+
/** Streak intensity level (1–5). Higher = richer harmonics, momentum feel. */
|
|
14
17
|
intensity?: number;
|
|
15
|
-
/** Error escalation level (1
|
|
18
|
+
/** Error escalation level (1–5). Higher = more urgent, darker tone. */
|
|
16
19
|
escalation?: number;
|
|
20
|
+
/** Override variant selection (0-indexed). For testing determinism. */
|
|
21
|
+
variantIndex?: number;
|
|
17
22
|
}
|
|
18
23
|
export type Verb = "intake" | "transform" | "commit" | "navigate" | "execute" | "move" | "sync";
|
|
19
24
|
export declare const VERB_LABELS: Record<Verb, string>;
|
|
@@ -24,21 +29,20 @@ export declare function generateVerb(profile: Profile, verb: Verb, options?: Pla
|
|
|
24
29
|
export declare function generateSessionStart(profile: Profile): Float64Array;
|
|
25
30
|
export declare function generateSessionEnd(profile: Profile): Float64Array;
|
|
26
31
|
export interface SessionOutcome {
|
|
27
|
-
/** 0.0 = all errors, 1.0 = all successes */
|
|
32
|
+
/** 0.0 = all errors, 1.0 = all successes. */
|
|
28
33
|
successRatio: number;
|
|
29
|
-
/** Total plays in the session */
|
|
34
|
+
/** Total plays in the session. */
|
|
30
35
|
totalPlays: number;
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
38
|
* Generate an outcome-aware session end sound.
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* Empty session (< 5 plays): standard chime (not enough data)
|
|
39
|
+
* Great (ratio >= 0.8, 5+ plays): A4 → C#5 → E5 ascending fanfare.
|
|
40
|
+
* Normal: standard descending chime.
|
|
41
|
+
* Rough (ratio < 0.6): muted, lower, shorter resolution.
|
|
42
|
+
* Empty (< 5 plays): standard chime.
|
|
39
43
|
*/
|
|
40
44
|
export declare function generateSessionEndWithOutcome(profile: Profile, outcome: SessionOutcome): Float64Array;
|
|
41
45
|
/** Generate a single chunk of the ambient thinking drone. */
|
|
42
46
|
export declare function generateAmbientChunk(profile: Profile): Float64Array;
|
|
43
|
-
/** Generate the resolution stinger (two ascending notes). */
|
|
47
|
+
/** Generate the resolution stinger (two ascending notes, A major). */
|
|
44
48
|
export declare function generateAmbientResolve(profile: Profile): Float64Array;
|