@actioneer/ads 0.3.1 → 0.4.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.
@@ -1,41 +1,51 @@
1
1
  import * as React from "react";
2
2
  /**
3
- * Voice — the approved ADS voice visualizers and controls.
3
+ * Voice — the ADS voice orb and its session controls.
4
4
  *
5
- * `Voice` renders three volume-reactive WebGL visuals: the original ADS orb,
6
- * plus LiveKit Agents UI's Aura and Wave shaders. All are driven by props, so
7
- * consumers keep a transport-neutral integration surface.
5
+ * `Voice` renders one volume-reactive WebGL orb, driven entirely by props so
6
+ * consumers keep a transport-neutral integration surface. Its colourway is set
7
+ * by `palette`; every palette is chromatic — the orb never renders greyscale —
8
+ * and an optional `seed` gives each agent/voice a distinct hue through the
9
+ * `identity` palette, so a list of voices reads as distinct rather than repeated.
8
10
  *
9
11
  * The controls (VoiceControl + friends) are standalone and props-driven — no
10
12
  * assistant-ui runtime — so they compose with any transport.
11
13
  *
12
- * Reduced motion: honored through `<MotionConfig reducedMotion="user">` for the
13
- * personas and a `reduced` freeze for every shader.
14
+ * Reduced motion: the shader freezes its noise field and drops volume
15
+ * reactivity, keeping the static coloured orb.
14
16
  */
15
17
  export type VoiceState = "idle" | "connecting" | "listening" | "thinking" | "speaking" | "muted" | "asleep";
16
- export type VoiceVariant = "orb" | "aura" | "wave";
17
- export declare const VOICE_PALETTES: readonly ["default", "identity", "mono", "blue", "violet", "emerald", "sunset"];
18
+ /** The orb is the sole visual; `variant` is retained for API stability. */
19
+ export type VoiceVariant = "orb";
20
+ export declare const VOICE_PALETTES: readonly ["default", "identity", "blue", "violet", "emerald", "sunset"];
18
21
  export type VoicePalette = (typeof VOICE_PALETTES)[number];
19
22
  /** Backwards-compatible name for the palette type originally used by Orb. */
20
23
  export type VoiceOrbPalette = VoicePalette;
21
- export declare const VOICE_VARIANTS: readonly ["orb", "aura", "wave"];
24
+ export declare const VOICE_VARIANTS: readonly ["orb"];
22
25
  export declare const VOICE_STATES: readonly ["idle", "connecting", "listening", "thinking", "speaking", "muted", "asleep"];
23
26
  export interface VoiceProps extends React.HTMLAttributes<HTMLDivElement> {
24
27
  /** Reactive animation state. */
25
28
  state?: VoiceState;
26
- /** Visualizer style. */
29
+ /** Visualizer style. The orb is the only visual. */
27
30
  variant?: VoiceVariant;
28
31
  className?: string;
29
- /** Normalized audio energy 0–1, shared by every visualizer. Default 0. */
32
+ /** Normalized audio energy 0–1. Default 0. */
30
33
  volume?: number;
31
- /** Shared shader colorway. Default "default". */
34
+ /** Shader colorway. Every palette is chromatic. Default "default". */
32
35
  palette?: VoiceOrbPalette;
33
36
  /**
34
- * Optional identity. Two orbs given different seeds render distinguishable
35
- * patterns, so a list of agents/voices reads as distinct rather than
37
+ * Optional identity. With `palette="identity"`, the seed becomes a distinct
38
+ * hue per subject, so a list of agents/voices reads as distinct rather than
36
39
  * repeated. Omit for the generic orb.
37
40
  */
38
41
  seed?: string | number;
42
+ /**
43
+ * Fill the box. By default the orb disc occupies ~42% of its box (a legacy
44
+ * proportion left from when a glow halo filled the surround); at avatar sizes
45
+ * that leaves the disc tiny inside empty padding. Set `fill` so the disc
46
+ * fills its box — the correct choice for any small/avatar-sized orb.
47
+ */
48
+ fill?: boolean;
39
49
  /** Fired once on mount (API parity with the old Persona `onReady`). */
40
50
  onReady?: () => void;
41
51
  "aria-label"?: string;