@usenavii/core 0.5.0 → 0.6.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.
package/dist/parts.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as Palette, d as BodyShapeId, E as EyeStyleId, M as MouthStyleId, a as AntennaStyleId, A as AccessoryId, B as BackgroundId, T as TopperId, O as OutfitId } from './types-CF0rfKly.cjs';
1
+ import { P as Palette, d as BodyShapeId, E as EyeStyleId, e as MouthStyleId, a as AntennaStyleId, A as AccessoryId, B as BackgroundId, T as TopperId, O as OutfitId } from './types-BtX6LIyn.cjs';
2
2
 
3
3
  /**
4
4
  * Palette set seeded from the Comms360 "Pulse" mascot DNA, extended to provide
package/dist/parts.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as Palette, d as BodyShapeId, E as EyeStyleId, M as MouthStyleId, a as AntennaStyleId, A as AccessoryId, B as BackgroundId, T as TopperId, O as OutfitId } from './types-CF0rfKly.js';
1
+ import { P as Palette, d as BodyShapeId, E as EyeStyleId, e as MouthStyleId, a as AntennaStyleId, A as AccessoryId, B as BackgroundId, T as TopperId, O as OutfitId } from './types-BtX6LIyn.js';
2
2
 
3
3
  /**
4
4
  * Palette set seeded from the Comms360 "Pulse" mascot DNA, extended to provide
@@ -30,6 +30,18 @@ type OutfitId = 'none' | 'collar' | 'scarf' | 'bowtie' | 'sunflower' | 'necklace
30
30
  * Packs that don't declare styleHints simply ignore this option.
31
31
  */
32
32
  type StyleHint = 'masc' | 'femme' | 'neutral';
33
+ /**
34
+ * Expression overlay for the seed flow. Overrides the seed-derived `eyes` +
35
+ * `mouth` selections with a curated pair that conveys a specific mood.
36
+ *
37
+ * Same seed + same mood = same avatar. Different mood = same body, different
38
+ * face. Pack pick constraints on eyes/mouth are bypassed by design — the
39
+ * mood IS the override, so Office + `happy` legitimately produces wide eyes
40
+ * even though Office normally restricts to dot/sleepy/squint.
41
+ *
42
+ * `neutral` (or undefined) leaves picks seed-derived (current behavior).
43
+ */
44
+ type MoodId = 'neutral' | 'happy' | 'serious' | 'sleepy' | 'wink';
33
45
  interface AvatarSpec {
34
46
  seed: string;
35
47
  palette: Palette;
@@ -105,6 +117,13 @@ interface AvatarOptions {
105
117
  * Determinism preserved: same seed + same style = same output.
106
118
  */
107
119
  style?: StyleHint;
120
+ /**
121
+ * Expression overlay. Overrides seed-derived eyes + mouth with a curated
122
+ * pair conveying a specific mood (happy / serious / sleepy / wink). Same
123
+ * seed + mood = same avatar; different moods on the same seed share body,
124
+ * palette, topper, etc. Bypasses pack pick constraints on eyes/mouth.
125
+ */
126
+ mood?: MoodId;
108
127
  /** Add `role="img"` and `aria-label`. */
109
128
  title?: string;
110
129
  /** Emit idle animations (float, blink, antenna pulse, sparkle twinkle). Default false. */
@@ -117,4 +136,4 @@ interface AvatarOptions {
117
136
  tileBg?: string;
118
137
  }
119
138
 
120
- export type { AccessoryId as A, BackgroundId as B, EyeStyleId as E, MouthStyleId as M, OutfitId as O, Palette as P, StyleHint as S, TopperId as T, AntennaStyleId as a, AvatarOptions as b, AvatarSpec as c, BodyShapeId as d };
139
+ export type { AccessoryId as A, BackgroundId as B, EyeStyleId as E, MoodId as M, OutfitId as O, Palette as P, StyleHint as S, TopperId as T, AntennaStyleId as a, AvatarOptions as b, AvatarSpec as c, BodyShapeId as d, MouthStyleId as e };
@@ -30,6 +30,18 @@ type OutfitId = 'none' | 'collar' | 'scarf' | 'bowtie' | 'sunflower' | 'necklace
30
30
  * Packs that don't declare styleHints simply ignore this option.
31
31
  */
32
32
  type StyleHint = 'masc' | 'femme' | 'neutral';
33
+ /**
34
+ * Expression overlay for the seed flow. Overrides the seed-derived `eyes` +
35
+ * `mouth` selections with a curated pair that conveys a specific mood.
36
+ *
37
+ * Same seed + same mood = same avatar. Different mood = same body, different
38
+ * face. Pack pick constraints on eyes/mouth are bypassed by design — the
39
+ * mood IS the override, so Office + `happy` legitimately produces wide eyes
40
+ * even though Office normally restricts to dot/sleepy/squint.
41
+ *
42
+ * `neutral` (or undefined) leaves picks seed-derived (current behavior).
43
+ */
44
+ type MoodId = 'neutral' | 'happy' | 'serious' | 'sleepy' | 'wink';
33
45
  interface AvatarSpec {
34
46
  seed: string;
35
47
  palette: Palette;
@@ -105,6 +117,13 @@ interface AvatarOptions {
105
117
  * Determinism preserved: same seed + same style = same output.
106
118
  */
107
119
  style?: StyleHint;
120
+ /**
121
+ * Expression overlay. Overrides seed-derived eyes + mouth with a curated
122
+ * pair conveying a specific mood (happy / serious / sleepy / wink). Same
123
+ * seed + mood = same avatar; different moods on the same seed share body,
124
+ * palette, topper, etc. Bypasses pack pick constraints on eyes/mouth.
125
+ */
126
+ mood?: MoodId;
108
127
  /** Add `role="img"` and `aria-label`. */
109
128
  title?: string;
110
129
  /** Emit idle animations (float, blink, antenna pulse, sparkle twinkle). Default false. */
@@ -117,4 +136,4 @@ interface AvatarOptions {
117
136
  tileBg?: string;
118
137
  }
119
138
 
120
- export type { AccessoryId as A, BackgroundId as B, EyeStyleId as E, MouthStyleId as M, OutfitId as O, Palette as P, StyleHint as S, TopperId as T, AntennaStyleId as a, AvatarOptions as b, AvatarSpec as c, BodyShapeId as d };
139
+ export type { AccessoryId as A, BackgroundId as B, EyeStyleId as E, MoodId as M, OutfitId as O, Palette as P, StyleHint as S, TopperId as T, AntennaStyleId as a, AvatarOptions as b, AvatarSpec as c, BodyShapeId as d, MouthStyleId as e };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usenavii/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Deterministic mascot avatar engine. Pass any seed, get back a clean, designed SVG that's the same every time.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",