@oxy.so/bloom 7.1.1 → 7.1.4

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 (246) hide show
  1. package/assets/character-runtime/README.md +114 -19
  2. package/assets/character-runtime/authored-parts.mjs +754 -0
  3. package/assets/character-runtime/catalog-parts.mjs +362 -0
  4. package/assets/character-runtime/character-recipe.mjs +247 -0
  5. package/assets/character-runtime/clippo-geometry.mjs +679 -0
  6. package/assets/character-runtime/controller-mode.mjs +208 -0
  7. package/assets/character-runtime/cyclops-geometry.mjs +180 -0
  8. package/assets/character-runtime/legacy-engine.mjs +406 -54
  9. package/assets/character-runtime/legacy-geometry.mjs +242 -85
  10. package/assets/character-runtime/legacy-worker.mjs +82 -23
  11. package/assets/character-runtime/managed-avatar.mjs +12 -17
  12. package/assets/character-runtime/migrated-contours.mjs +2067 -0
  13. package/assets/character-runtime/migrated-faces.mjs +59 -0
  14. package/assets/character-runtime/pose-transition.mjs +523 -0
  15. package/assets/character-runtime/preparation-cache.mjs +60 -0
  16. package/assets/character-runtime/render-budget.mjs +5 -3
  17. package/assets/character-runtime/render-errors.mjs +180 -0
  18. package/assets/character-runtime/resolution.mjs +10 -0
  19. package/assets/character-runtime/runtime.mjs +744 -295
  20. package/assets/character-runtime/sha256.mjs +44 -0
  21. package/assets/character-runtime/shared-programs.mjs +534 -0
  22. package/assets/character-runtime/shared-surface.mjs +490 -0
  23. package/assets/character-runtime/shared-textures.mjs +420 -0
  24. package/assets/character-runtime/thumbnails/eyes/todd.png +0 -0
  25. package/docs/adoption-matrix.mdx +2 -2
  26. package/docs/agent-avatar.mdx +45 -8
  27. package/docs/agent-creator.mdx +13 -3
  28. package/docs/bottom-sheet.mdx +1 -1
  29. package/lib/commonjs/agent-avatar/AgentAvatar.js +1 -1
  30. package/lib/commonjs/agent-avatar/AgentAvatar.js.map +1 -1
  31. package/lib/commonjs/agent-avatar/CharacterAvatar.js +2 -1
  32. package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -1
  33. package/lib/commonjs/agent-avatar/character-colors.js +19 -0
  34. package/lib/commonjs/agent-avatar/character-colors.js.map +1 -0
  35. package/lib/commonjs/agent-avatar/character-shapes.js +106 -0
  36. package/lib/commonjs/agent-avatar/character-shapes.js.map +1 -0
  37. package/lib/commonjs/agent-avatar/config-character.js +4 -0
  38. package/lib/commonjs/agent-avatar/config-character.js.map +1 -1
  39. package/lib/commonjs/agent-avatar/legacy-recipe.js +19 -6
  40. package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -1
  41. package/lib/commonjs/agent-creator/AgentCreatorBase.js +67 -107
  42. package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
  43. package/lib/commonjs/agent-creator/CharacterControls.js +23 -5
  44. package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -1
  45. package/lib/commonjs/agent-creator/ClippoArtwork.js +63 -0
  46. package/lib/commonjs/agent-creator/ClippoArtwork.js.map +1 -0
  47. package/lib/commonjs/agent-creator/CyclopsArtwork.js +45 -0
  48. package/lib/commonjs/agent-creator/CyclopsArtwork.js.map +1 -0
  49. package/lib/commonjs/agent-creator/EmotionPicker.js +8 -1
  50. package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
  51. package/lib/commonjs/agent-creator/ShapeSilhouette.js +8 -1
  52. package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -1
  53. package/lib/commonjs/agent-creator/ToddArtwork.js +29 -0
  54. package/lib/commonjs/agent-creator/ToddArtwork.js.map +1 -0
  55. package/lib/commonjs/agent-creator/constants.js +16 -17
  56. package/lib/commonjs/agent-creator/constants.js.map +1 -1
  57. package/lib/commonjs/agent-creator/messages.js +1 -1
  58. package/lib/commonjs/agent-creator/messages.js.map +1 -1
  59. package/lib/commonjs/bottom-sheet/BottomSheetBase.js +33 -49
  60. package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
  61. package/lib/commonjs/dialog/DialogBottomSheet.js +1 -1
  62. package/lib/commonjs/dialog/DialogBottomSheet.js.map +1 -1
  63. package/lib/commonjs/locale/translations/ar.js +1 -1
  64. package/lib/commonjs/locale/translations/ar.js.map +1 -1
  65. package/lib/commonjs/locale/translations/bn.js +1 -1
  66. package/lib/commonjs/locale/translations/bn.js.map +1 -1
  67. package/lib/commonjs/locale/translations/ca.js +1 -1
  68. package/lib/commonjs/locale/translations/ca.js.map +1 -1
  69. package/lib/commonjs/locale/translations/de.js +1 -1
  70. package/lib/commonjs/locale/translations/de.js.map +1 -1
  71. package/lib/commonjs/locale/translations/es.js +1 -1
  72. package/lib/commonjs/locale/translations/es.js.map +1 -1
  73. package/lib/commonjs/locale/translations/fr.js +1 -1
  74. package/lib/commonjs/locale/translations/fr.js.map +1 -1
  75. package/lib/commonjs/locale/translations/hi.js +1 -1
  76. package/lib/commonjs/locale/translations/hi.js.map +1 -1
  77. package/lib/commonjs/locale/translations/id.js +1 -1
  78. package/lib/commonjs/locale/translations/id.js.map +1 -1
  79. package/lib/commonjs/locale/translations/it.js +1 -1
  80. package/lib/commonjs/locale/translations/it.js.map +1 -1
  81. package/lib/commonjs/locale/translations/ja.js +1 -1
  82. package/lib/commonjs/locale/translations/ja.js.map +1 -1
  83. package/lib/commonjs/locale/translations/pt.js +1 -1
  84. package/lib/commonjs/locale/translations/pt.js.map +1 -1
  85. package/lib/commonjs/locale/translations/ru.js +1 -1
  86. package/lib/commonjs/locale/translations/ru.js.map +1 -1
  87. package/lib/commonjs/locale/translations/tr.js +1 -1
  88. package/lib/commonjs/locale/translations/tr.js.map +1 -1
  89. package/lib/commonjs/locale/translations/zh.js +1 -1
  90. package/lib/commonjs/locale/translations/zh.js.map +1 -1
  91. package/lib/commonjs/surface/SurfacePaint.js +17 -4
  92. package/lib/commonjs/surface/SurfacePaint.js.map +1 -1
  93. package/lib/module/agent-avatar/AgentAvatar.js +1 -1
  94. package/lib/module/agent-avatar/AgentAvatar.js.map +1 -1
  95. package/lib/module/agent-avatar/CharacterAvatar.js +2 -1
  96. package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -1
  97. package/lib/module/agent-avatar/character-colors.js +15 -0
  98. package/lib/module/agent-avatar/character-colors.js.map +1 -0
  99. package/lib/module/agent-avatar/character-shapes.js +97 -0
  100. package/lib/module/agent-avatar/character-shapes.js.map +1 -0
  101. package/lib/module/agent-avatar/config-character.js +4 -0
  102. package/lib/module/agent-avatar/config-character.js.map +1 -1
  103. package/lib/module/agent-avatar/legacy-recipe.js +19 -6
  104. package/lib/module/agent-avatar/legacy-recipe.js.map +1 -1
  105. package/lib/module/agent-creator/AgentCreatorBase.js +69 -109
  106. package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
  107. package/lib/module/agent-creator/CharacterControls.js +24 -6
  108. package/lib/module/agent-creator/CharacterControls.js.map +1 -1
  109. package/lib/module/agent-creator/ClippoArtwork.js +59 -0
  110. package/lib/module/agent-creator/ClippoArtwork.js.map +1 -0
  111. package/lib/module/agent-creator/CyclopsArtwork.js +41 -0
  112. package/lib/module/agent-creator/CyclopsArtwork.js.map +1 -0
  113. package/lib/module/agent-creator/EmotionPicker.js +8 -1
  114. package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
  115. package/lib/module/agent-creator/ShapeSilhouette.js +8 -1
  116. package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -1
  117. package/lib/module/agent-creator/ToddArtwork.js +25 -0
  118. package/lib/module/agent-creator/ToddArtwork.js.map +1 -0
  119. package/lib/module/agent-creator/constants.js +8 -16
  120. package/lib/module/agent-creator/constants.js.map +1 -1
  121. package/lib/module/agent-creator/messages.js +1 -1
  122. package/lib/module/agent-creator/messages.js.map +1 -1
  123. package/lib/module/bottom-sheet/BottomSheetBase.js +33 -49
  124. package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
  125. package/lib/module/dialog/DialogBottomSheet.js +1 -1
  126. package/lib/module/dialog/DialogBottomSheet.js.map +1 -1
  127. package/lib/module/locale/translations/ar.js +1 -1
  128. package/lib/module/locale/translations/ar.js.map +1 -1
  129. package/lib/module/locale/translations/bn.js +1 -1
  130. package/lib/module/locale/translations/bn.js.map +1 -1
  131. package/lib/module/locale/translations/ca.js +1 -1
  132. package/lib/module/locale/translations/ca.js.map +1 -1
  133. package/lib/module/locale/translations/de.js +1 -1
  134. package/lib/module/locale/translations/de.js.map +1 -1
  135. package/lib/module/locale/translations/es.js +1 -1
  136. package/lib/module/locale/translations/es.js.map +1 -1
  137. package/lib/module/locale/translations/fr.js +1 -1
  138. package/lib/module/locale/translations/fr.js.map +1 -1
  139. package/lib/module/locale/translations/hi.js +1 -1
  140. package/lib/module/locale/translations/hi.js.map +1 -1
  141. package/lib/module/locale/translations/id.js +1 -1
  142. package/lib/module/locale/translations/id.js.map +1 -1
  143. package/lib/module/locale/translations/it.js +1 -1
  144. package/lib/module/locale/translations/it.js.map +1 -1
  145. package/lib/module/locale/translations/ja.js +1 -1
  146. package/lib/module/locale/translations/ja.js.map +1 -1
  147. package/lib/module/locale/translations/pt.js +1 -1
  148. package/lib/module/locale/translations/pt.js.map +1 -1
  149. package/lib/module/locale/translations/ru.js +1 -1
  150. package/lib/module/locale/translations/ru.js.map +1 -1
  151. package/lib/module/locale/translations/tr.js +1 -1
  152. package/lib/module/locale/translations/tr.js.map +1 -1
  153. package/lib/module/locale/translations/zh.js +1 -1
  154. package/lib/module/locale/translations/zh.js.map +1 -1
  155. package/lib/module/surface/SurfacePaint.js +18 -5
  156. package/lib/module/surface/SurfacePaint.js.map +1 -1
  157. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts +13 -0
  159. package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts +19 -0
  161. package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +4 -0
  163. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +2 -10
  165. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts +2 -1
  168. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts +6 -0
  170. package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts +5 -0
  172. package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +1 -0
  174. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts +6 -0
  177. package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/agent-creator/constants.d.ts +7 -15
  179. package/lib/typescript/commonjs/agent-creator/constants.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/agent-creator/messages.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/bottom-sheet/types.d.ts +1 -0
  183. package/lib/typescript/commonjs/bottom-sheet/types.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/surface/SurfacePaint.d.ts.map +1 -1
  185. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -1
  186. package/lib/typescript/module/agent-avatar/character-colors.d.ts +13 -0
  187. package/lib/typescript/module/agent-avatar/character-colors.d.ts.map +1 -0
  188. package/lib/typescript/module/agent-avatar/character-shapes.d.ts +19 -0
  189. package/lib/typescript/module/agent-avatar/character-shapes.d.ts.map +1 -0
  190. package/lib/typescript/module/agent-avatar/config-character.d.ts +4 -0
  191. package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -1
  192. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +2 -10
  193. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts.map +1 -1
  194. package/lib/typescript/module/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  195. package/lib/typescript/module/agent-creator/CharacterControls.d.ts +2 -1
  196. package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -1
  197. package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts +6 -0
  198. package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts.map +1 -0
  199. package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts +5 -0
  200. package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts.map +1 -0
  201. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +1 -0
  202. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts.map +1 -1
  203. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts.map +1 -1
  204. package/lib/typescript/module/agent-creator/ToddArtwork.d.ts +6 -0
  205. package/lib/typescript/module/agent-creator/ToddArtwork.d.ts.map +1 -0
  206. package/lib/typescript/module/agent-creator/constants.d.ts +7 -15
  207. package/lib/typescript/module/agent-creator/constants.d.ts.map +1 -1
  208. package/lib/typescript/module/agent-creator/messages.d.ts.map +1 -1
  209. package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
  210. package/lib/typescript/module/bottom-sheet/types.d.ts +1 -0
  211. package/lib/typescript/module/bottom-sheet/types.d.ts.map +1 -1
  212. package/lib/typescript/module/surface/SurfacePaint.d.ts.map +1 -1
  213. package/package.json +1 -1
  214. package/src/agent-avatar/AgentAvatar.tsx +1 -1
  215. package/src/agent-avatar/CharacterAvatar.tsx +4 -1
  216. package/src/agent-avatar/character-colors.ts +12 -0
  217. package/src/agent-avatar/character-shapes.ts +122 -0
  218. package/src/agent-avatar/config-character.ts +39 -6
  219. package/src/agent-avatar/legacy-recipe.ts +34 -6
  220. package/src/agent-creator/AgentCreatorBase.tsx +121 -152
  221. package/src/agent-creator/CharacterControls.tsx +39 -14
  222. package/src/agent-creator/ClippoArtwork.tsx +49 -0
  223. package/src/agent-creator/CyclopsArtwork.tsx +27 -0
  224. package/src/agent-creator/EmotionPicker.tsx +55 -16
  225. package/src/agent-creator/ShapeSilhouette.tsx +16 -1
  226. package/src/agent-creator/ToddArtwork.tsx +24 -0
  227. package/src/agent-creator/constants.ts +47 -14
  228. package/src/agent-creator/messages.ts +2 -1
  229. package/src/bottom-sheet/BottomSheetBase.tsx +24 -34
  230. package/src/bottom-sheet/types.ts +1 -0
  231. package/src/dialog/DialogBottomSheet.tsx +1 -1
  232. package/src/locale/translations/ar.ts +1 -1
  233. package/src/locale/translations/bn.ts +1 -1
  234. package/src/locale/translations/ca.ts +1 -1
  235. package/src/locale/translations/de.ts +1 -1
  236. package/src/locale/translations/es.ts +1 -1
  237. package/src/locale/translations/fr.ts +1 -1
  238. package/src/locale/translations/hi.ts +1 -1
  239. package/src/locale/translations/id.ts +1 -1
  240. package/src/locale/translations/it.ts +1 -1
  241. package/src/locale/translations/ja.ts +1 -1
  242. package/src/locale/translations/pt.ts +1 -1
  243. package/src/locale/translations/ru.ts +1 -1
  244. package/src/locale/translations/tr.ts +1 -1
  245. package/src/locale/translations/zh.ts +1 -1
  246. package/src/surface/SurfacePaint.tsx +14 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_messages","_styledPrimitives","_index","_context","_characterHtml","_characterRuntimeModule","_characterWebview","_legacyRecipe","_messages2","_jsxRuntime","WebCharacter","runtimeUrl","value","onError","reportCapabilities","useContext","CharacterRuntimeContext","report","useRef","current","host","controller","latest","fail","useEffect","element","document","stopped","started","canvas","createElement","setAttribute","Object","assign","style","width","height","display","touchAction","appendChild","start","module","loadCharacterRuntime","instance","createAvatar","onCapabilities","info","dispose","update","observer","IntersectionObserver","entries","some","entry","isIntersecting","observe","disconnect","remove","jsx","StyledView","ref","flex","NativeCharacter","WebView","characterWebView","initial","source","useMemo","html","characterHtml","baseUrl","send","injectJavaScript","scriptJson","backgroundColor","scrollEnabled","javaScriptEnabled","originWhitelist","onMessage","event","nativeEvent","data","startsWith","JSON","parse","slice","CharacterAvatar","props","messages","useMessages","AGENT_AVATAR_MESSAGES","locale","initialReduced","useReducedMotion","reduced","setReduced","useState","active","setActive","AppState","currentState","failed","setFailed","config","paused","portrait","workingKey","reactionKey","entranceKey","workingCycles","interactive","size","motion","AccessibilityInfo","addEventListener","state","next","media","Platform","OS","window","matchMedia","undefined","change","matches","removeEventListener","character","legacy","preset","legacyRecipe","Renderer","className","accessible","accessibilityRole","accessibilityLabel","label","testID","children","Text","numberOfLines","fontSize","unavailable"],"sourceRoot":"../../../src","sources":["agent-avatar/CharacterAvatar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_messages","_styledPrimitives","_index","_context","_characterHtml","_characterRuntimeModule","_characterWebview","_legacyRecipe","_characterShapes","_messages2","_jsxRuntime","WebCharacter","runtimeUrl","value","onError","reportCapabilities","useContext","CharacterRuntimeContext","report","useRef","current","host","controller","latest","fail","useEffect","element","document","stopped","started","canvas","createElement","setAttribute","Object","assign","style","width","height","display","touchAction","appendChild","start","module","loadCharacterRuntime","instance","createAvatar","onCapabilities","info","dispose","update","observer","IntersectionObserver","entries","some","entry","isIntersecting","observe","disconnect","remove","jsx","StyledView","ref","flex","NativeCharacter","WebView","characterWebView","initial","source","useMemo","html","characterHtml","baseUrl","send","injectJavaScript","scriptJson","backgroundColor","scrollEnabled","javaScriptEnabled","originWhitelist","onMessage","event","nativeEvent","data","startsWith","JSON","parse","slice","CharacterAvatar","props","messages","useMessages","AGENT_AVATAR_MESSAGES","locale","initialReduced","useReducedMotion","reduced","setReduced","useState","active","setActive","AppState","currentState","failed","setFailed","config","paused","portrait","workingKey","reactionKey","entranceKey","workingCycles","interactive","size","motion","AccessibilityInfo","addEventListener","state","next","media","Platform","OS","window","matchMedia","undefined","change","matches","removeEventListener","character","legacy","preset","isMigratedCharacterShape","selections","shape","legacyRecipe","Renderer","className","accessible","accessibilityRole","accessibilityLabel","label","testID","children","Text","numberOfLines","fontSize","unavailable"],"sourceRoot":"../../../src","sources":["agent-avatar/CharacterAvatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CHARACTER_COLORS = void 0;
7
+ /** RGB swatches returned by the recovered engine's Color catalog. */
8
+ const CHARACTER_COLORS = exports.CHARACTER_COLORS = {
9
+ pink: '#fa70ab',
10
+ orchid: '#dd6adc',
11
+ violet: '#a25bff',
12
+ blue: '#4778ff',
13
+ cyan: '#00b1ff',
14
+ teal: '#04bb9f',
15
+ lime: '#b6d80b',
16
+ yellow: '#ffcc38',
17
+ coral: '#ff8066'
18
+ };
19
+ //# sourceMappingURL=character-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CHARACTER_COLORS","exports","pink","orchid","violet","blue","cyan","teal","lime","yellow","coral"],"sourceRoot":"../../../src","sources":["agent-avatar/character-colors.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,IAAI,EAAE,SAAS;EACfC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE;AACT,CAAU","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NATIVE_CHARACTER_SHAPES = exports.MIGRATED_CHARACTER_SHAPES = exports.CHARACTER_SHAPES = void 0;
7
+ exports.characterShapeGeometry = characterShapeGeometry;
8
+ exports.createConfigForShape = createConfigForShape;
9
+ exports.currentCharacterShape = currentCharacterShape;
10
+ exports.isMigratedCharacterShape = isMigratedCharacterShape;
11
+ exports.materializeCharacter = materializeCharacter;
12
+ var _avatarColor = require("./avatar-color.js");
13
+ const NATIVE_CHARACTER_SHAPES = exports.NATIVE_CHARACTER_SHAPES = [['clippo', 'Clippo'], ['todd', 'Todd'], ['circle', 'Circle'], ['rounded_triangle', 'Rounded triangle'], ['capsule', 'Capsule'], ['rounded_head_two_ears', 'Rounded head with two ears'], ['six_lobed_flower', 'Six lobed flower'], ['heart', 'Heart'], ['four_lobed_butterfly', 'Four lobed butterfly'], ['circle_two_ears', 'Circle with two ears'], ['twelve_scalloped_rosette', 'Twelve scalloped rosette'], ['rounded_cube', 'Hexagon'], ['rounded_diamond', 'Rounded diamond']];
14
+ const MIGRATED_CHARACTER_SHAPES = exports.MIGRATED_CHARACTER_SHAPES = [['slender', 'Slender'], ['pocket', 'Pocket'], ['petal', 'Petal'], ['star', 'Star'], ['cloud', 'Cloud'], ['shield', 'Shield'], ['pebble', 'Pebble'], ['squircle', 'Squircle']];
15
+ const CHARACTER_SHAPES = exports.CHARACTER_SHAPES = [...NATIVE_CHARACTER_SHAPES, ...MIGRATED_CHARACTER_SHAPES];
16
+ function isMigratedCharacterShape(id) {
17
+ return MIGRATED_CHARACTER_SHAPES.some(([shape]) => shape === id);
18
+ }
19
+
20
+ /** The saved paper/blob fields remain readable; canonical shape IDs own new edits. */
21
+ function currentCharacterShape(config) {
22
+ if (config.character?.selections?.shape) return config.character.selections.shape;
23
+ const shape = config.family === 'fold' ? config.foldShape : config.shape;
24
+ const equivalent = {
25
+ triangle: 'rounded_triangle',
26
+ flower: 'six_lobed_flower',
27
+ diamond: 'rounded_diamond'
28
+ };
29
+ return equivalent[shape] ?? shape;
30
+ }
31
+
32
+ /** Geometry-only view of one of the eight migrated contours. */
33
+ function characterShapeGeometry(config) {
34
+ const shape = config.character?.selections?.shape;
35
+ if (!isMigratedCharacterShape(shape)) return config;
36
+ return shape === 'pebble' || shape === 'squircle' ? {
37
+ ...config,
38
+ family: 'blob',
39
+ shape
40
+ } : {
41
+ ...config,
42
+ family: 'fold',
43
+ foldShape: shape
44
+ };
45
+ }
46
+
47
+ /** Retain effective authored parts while preparing the next body. An old recipe
48
+ * is promoted once, with its actual paint and contour rather than Felipe defaults.
49
+ */
50
+ function materializeCharacter(config, selected = {}) {
51
+ const saved = config.character;
52
+ if (!saved || saved.preset === 'bloom') return {
53
+ ...saved,
54
+ preset: 'legacy',
55
+ ...(saved?.bodyColor ? {
56
+ bodyColor: saved.bodyColor
57
+ } : !saved?.selections?.color ? {
58
+ bodyColor: (0, _avatarColor.avatarHex)(config)
59
+ } : {}),
60
+ selections: {
61
+ shape: currentCharacterShape(config),
62
+ eyes: 'oval',
63
+ eyewear: 'none',
64
+ accessory: 'none',
65
+ ...saved?.selections
66
+ }
67
+ };
68
+ const defaults = {};
69
+ for (const part of ['eyes', 'eyewear', 'accessory']) if (selected[part]) defaults[part] = selected[part];
70
+ // These virtual parts are absent from the backing native catalog.
71
+ if (!defaults.eyes && saved.preset === 'clippo') defaults.eyes = 'clippo';
72
+ if (!defaults.eyes && saved.preset === 'lime_frog') defaults.eyes = 'todd';
73
+ if (!defaults.accessory && saved.preset === 'blue_beret') defaults.accessory = 'felipe_beret';
74
+ return {
75
+ ...saved,
76
+ selections: {
77
+ ...defaults,
78
+ ...saved.selections
79
+ }
80
+ };
81
+ }
82
+
83
+ /** All 21 bodies change the same character recipe. Named paint and explicit RGB
84
+ * keep their precedence; a body never supplies a replacement color or face.
85
+ */
86
+ function createConfigForShape(config, shape, selected = {}) {
87
+ if (!CHARACTER_SHAPES.some(([id]) => id === shape)) throw new Error('Unknown character shape.');
88
+ const character = materializeCharacter(config, selected);
89
+ if (!character.bodyColor && !character.selections?.color) {
90
+ if (character.preset === 'clippo') character.bodyColor = '#999b9d';else if (selected.color) character.selections = {
91
+ ...character.selections,
92
+ color: selected.color
93
+ };else if (selected.bodyColor) character.bodyColor = selected.bodyColor;
94
+ }
95
+ return characterShapeGeometry({
96
+ ...config,
97
+ character: {
98
+ ...character,
99
+ selections: {
100
+ ...character.selections,
101
+ shape
102
+ }
103
+ }
104
+ });
105
+ }
106
+ //# sourceMappingURL=character-shapes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_avatarColor","require","NATIVE_CHARACTER_SHAPES","exports","MIGRATED_CHARACTER_SHAPES","CHARACTER_SHAPES","isMigratedCharacterShape","id","some","shape","currentCharacterShape","config","character","selections","family","foldShape","equivalent","triangle","flower","diamond","characterShapeGeometry","materializeCharacter","selected","saved","preset","bodyColor","color","avatarHex","eyes","eyewear","accessory","defaults","part","createConfigForShape","Error"],"sourceRoot":"../../../src","sources":["agent-avatar/character-shapes.ts"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,10 @@ function parseCharacterConfig(value) {
17
17
  const result = {
18
18
  preset: candidate.preset
19
19
  };
20
+ if (candidate.eyeSpacing !== undefined) {
21
+ if (typeof candidate.eyeSpacing !== 'number' || !Number.isFinite(candidate.eyeSpacing) || candidate.eyeSpacing < 0.5 || candidate.eyeSpacing > 1.5) throw new Error('Invalid character eye spacing.');
22
+ result.eyeSpacing = candidate.eyeSpacing;
23
+ }
20
24
  if (candidate.bodyColor !== undefined) {
21
25
  if (typeof candidate.bodyColor !== 'string' || candidate.bodyColor.length !== 7 || !/^#[0-9a-f]{6}$/i.test(candidate.bodyColor)) throw new Error('Invalid character body color.');
22
26
  result.bodyColor = candidate.bodyColor.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"names":["categories","validId","value","length","parseCharacterConfig","Array","isArray","Error","candidate","preset","result","bodyColor","undefined","test","toLowerCase","selections","category","id","Object","entries","includes"],"sourceRoot":"../../../src","sources":["agent-avatar/config-character.ts"],"mappings":";;;;;;AAAA;;AAUA,MAAMA,UAA8C,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;AACzG,MAAMC,OAAO,GAAIC,KAAc,IAC7B,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,MAAM,GAAG,CAAC,IAAID,KAAK,CAACC,MAAM,IAAI,EAAE;;AAErE;AACO,SAASC,oBAAoBA,CAACF,KAAc,EAAyB;EAC1E,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAC7D,MAAM,IAAIK,KAAK,CAAC,kCAAkC,CAAC;EACrD,MAAMC,SAAS,GAAGN,KAAgC;EAClD,IAAI,CAACD,OAAO,CAACO,SAAS,CAACC,MAAM,CAAC,EAAE,MAAM,IAAIF,KAAK,CAAC,2BAA2B,CAAC;EAC5E,MAAMG,MAA6B,GAAG;IAAED,MAAM,EAAED,SAAS,CAACC;EAAO,CAAC;EAClE,IAAID,SAAS,CAACG,SAAS,KAAKC,SAAS,EAAE;IACrC,IAAI,OAAOJ,SAAS,CAACG,SAAS,KAAK,QAAQ,IAAIH,SAAS,CAACG,SAAS,CAACR,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAACU,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC,EAC7H,MAAM,IAAIJ,KAAK,CAAC,+BAA+B,CAAC;IAClDG,MAAM,CAACC,SAAS,GAAGH,SAAS,CAACG,SAAS,CAACG,WAAW,CAAC,CAAC;EACtD;EACA,IAAIN,SAAS,CAACO,UAAU,KAAKH,SAAS,EAAE;IACtC,IAAI,CAACJ,SAAS,CAACO,UAAU,IAAI,OAAOP,SAAS,CAACO,UAAU,KAAK,QAAQ,IAAIV,KAAK,CAACC,OAAO,CAACE,SAAS,CAACO,UAAU,CAAC,EAC1G,MAAM,IAAIR,KAAK,CAAC,+BAA+B,CAAC;IAClD,MAAMQ,UAA4D,GAAG,CAAC,CAAC;IACvE,KAAK,MAAM,CAACC,QAAQ,EAAEC,EAAE,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,SAAS,CAACO,UAAU,CAAC,EAAE;MACjE,IAAI,CAACf,UAAU,CAACoB,QAAQ,CAACJ,QAAmC,CAAC,IAAI,CAACf,OAAO,CAACgB,EAAE,CAAC,EAC3E,MAAM,IAAIV,KAAK,CAAC,8BAA8B,CAAC;MACjDQ,UAAU,CAACC,QAAQ,CAA4B,GAAGC,EAAE;IACtD;IACAP,MAAM,CAACK,UAAU,GAAGA,UAAU;EAChC;EACA,IAAI,OAAO,IAAIP,SAAS,EAAE,MAAM,IAAID,KAAK,CAAC,0CAA0C,CAAC;EACrF,OAAOG,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["categories","validId","value","length","parseCharacterConfig","Array","isArray","Error","candidate","preset","result","eyeSpacing","undefined","Number","isFinite","bodyColor","test","toLowerCase","selections","category","id","Object","entries","includes"],"sourceRoot":"../../../src","sources":["agent-avatar/config-character.ts"],"mappings":";;;;;;AAAA;;AAeA,MAAMA,UAA8C,GAAG,CACrD,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,CACZ;AACD,MAAMC,OAAO,GAAIC,KAAc,IAC7B,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,MAAM,GAAG,CAAC,IAAID,KAAK,CAACC,MAAM,IAAI,EAAE;;AAErE;AACO,SAASC,oBAAoBA,CAACF,KAAc,EAAyB;EAC1E,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAC7D,MAAM,IAAIK,KAAK,CAAC,kCAAkC,CAAC;EACrD,MAAMC,SAAS,GAAGN,KAAgC;EAClD,IAAI,CAACD,OAAO,CAACO,SAAS,CAACC,MAAM,CAAC,EAAE,MAAM,IAAIF,KAAK,CAAC,2BAA2B,CAAC;EAC5E,MAAMG,MAA6B,GAAG;IAAED,MAAM,EAAED,SAAS,CAACC;EAAO,CAAC;EAClE,IAAID,SAAS,CAACG,UAAU,KAAKC,SAAS,EAAE;IACtC,IACE,OAAOJ,SAAS,CAACG,UAAU,KAAK,QAAQ,IACxC,CAACE,MAAM,CAACC,QAAQ,CAACN,SAAS,CAACG,UAAU,CAAC,IACtCH,SAAS,CAACG,UAAU,GAAG,GAAG,IAC1BH,SAAS,CAACG,UAAU,GAAG,GAAG,EAE1B,MAAM,IAAIJ,KAAK,CAAC,gCAAgC,CAAC;IACnDG,MAAM,CAACC,UAAU,GAAGH,SAAS,CAACG,UAAU;EAC1C;EACA,IAAIH,SAAS,CAACO,SAAS,KAAKH,SAAS,EAAE;IACrC,IACE,OAAOJ,SAAS,CAACO,SAAS,KAAK,QAAQ,IACvCP,SAAS,CAACO,SAAS,CAACZ,MAAM,KAAK,CAAC,IAChC,CAAC,iBAAiB,CAACa,IAAI,CAACR,SAAS,CAACO,SAAS,CAAC,EAE5C,MAAM,IAAIR,KAAK,CAAC,+BAA+B,CAAC;IAClDG,MAAM,CAACK,SAAS,GAAGP,SAAS,CAACO,SAAS,CAACE,WAAW,CAAC,CAAC;EACtD;EACA,IAAIT,SAAS,CAACU,UAAU,KAAKN,SAAS,EAAE;IACtC,IACE,CAACJ,SAAS,CAACU,UAAU,IACrB,OAAOV,SAAS,CAACU,UAAU,KAAK,QAAQ,IACxCb,KAAK,CAACC,OAAO,CAACE,SAAS,CAACU,UAAU,CAAC,EAEnC,MAAM,IAAIX,KAAK,CAAC,+BAA+B,CAAC;IAClD,MAAMW,UAA4D,GAAG,CAAC,CAAC;IACvE,KAAK,MAAM,CAACC,QAAQ,EAAEC,EAAE,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACd,SAAS,CAACU,UAAU,CAAC,EAAE;MACjE,IACE,CAAClB,UAAU,CAACuB,QAAQ,CAACJ,QAAmC,CAAC,IACzD,CAAClB,OAAO,CAACmB,EAAE,CAAC,EAEZ,MAAM,IAAIb,KAAK,CAAC,8BAA8B,CAAC;MACjDW,UAAU,CAACC,QAAQ,CAA4B,GAAGC,EAAE;IACtD;IACAV,MAAM,CAACQ,UAAU,GAAGA,UAAU;EAChC;EACA,IAAI,OAAO,IAAIV,SAAS,EACtB,MAAM,IAAID,KAAK,CAAC,0CAA0C,CAAC;EAC7D,OAAOG,MAAM;AACf","ignoreList":[]}
@@ -8,10 +8,13 @@ exports.legacyNativeShape = legacyNativeShape;
8
8
  exports.legacyRecipe = legacyRecipe;
9
9
  exports.legacyRecipeUnsupported = legacyRecipeUnsupported;
10
10
  exports.radialContour = radialContour;
11
+ var _characterColors = require("./character-colors.js");
12
+ var _characterShapes = require("./character-shapes.js");
11
13
  var _avatarColor = require("./avatar-color.js");
12
14
  var _legacyContours = require("./legacy-contours.js");
13
15
  /** Saved unsupported artwork stays readable without pretending it was migrated. */
14
16
  function legacyRecipeUnsupported(config) {
17
+ if ((0, _characterShapes.isMigratedCharacterShape)(config.character?.selections?.shape)) return false;
15
18
  return config.family === 'alien' || config.family === 'mascot' || !config.face;
16
19
  }
17
20
 
@@ -58,6 +61,7 @@ function radialContour(polygons, samples = 256) {
58
61
 
59
62
  /** Shared capability identity for the editor and the legacy engine adapter. */
60
63
  function legacyCharacterRecipe(config) {
64
+ if (config.character && config.character.preset !== 'bloom') return config.character;
61
65
  const customization = config.character?.preset === 'bloom' ? config.character : undefined;
62
66
  return {
63
67
  preset: 'legacy',
@@ -71,7 +75,10 @@ function legacyCharacterRecipe(config) {
71
75
  accessory: customization.selections.accessory
72
76
  } : {})
73
77
  },
74
- bodyColor: customization?.bodyColor ?? (0, _avatarColor.avatarHex)(config)
78
+ bodyColor: customization?.bodyColor ?? _characterColors.CHARACTER_COLORS[customization?.selections?.color] ?? (0, _avatarColor.avatarHex)(config),
79
+ ...(customization?.eyeSpacing !== undefined ? {
80
+ eyeSpacing: customization.eyeSpacing
81
+ } : {})
75
82
  };
76
83
  }
77
84
 
@@ -81,19 +88,25 @@ function legacyCharacterRecipe(config) {
81
88
  */
82
89
  function legacyRecipe(config, samples = 256) {
83
90
  if (legacyRecipeUnsupported(config)) throw new Error('Unsupported legacy 3D recipe');
84
- const shape = legacyNativeShape(config);
91
+ const geometry = (0, _characterShapes.characterShapeGeometry)(config);
92
+ const canonical = config.character && config.character.preset !== 'bloom';
93
+ const selectedShape = canonical ? config.character?.selections?.shape : undefined;
94
+ const shape = (0, _characterShapes.isMigratedCharacterShape)(selectedShape) ? undefined : selectedShape ?? legacyNativeShape(geometry);
85
95
  const recipe = legacyCharacterRecipe(config);
86
96
  const {
87
97
  eyewear,
88
98
  accessory
89
- } = recipe.selections;
99
+ } = recipe.selections ?? {};
90
100
  return {
91
101
  ...(shape ? {
92
102
  shape
93
103
  } : {
94
- points: radialContour((0, _legacyContours.legacyContours)(config), samples)
104
+ points: radialContour((0, _legacyContours.legacyContours)(geometry), samples)
95
105
  }),
96
- eyes: recipe.selections.eyes,
106
+ eyes: recipe.selections?.eyes ?? 'oval',
107
+ ...(recipe.eyeSpacing !== undefined ? {
108
+ eyeSpacing: recipe.eyeSpacing
109
+ } : {}),
97
110
  ...(eyewear || accessory ? {
98
111
  selections: {
99
112
  ...(eyewear ? {
@@ -105,7 +118,7 @@ function legacyRecipe(config, samples = 256) {
105
118
  }
106
119
  } : {}),
107
120
  patch: {
108
- bodyColor: recipe.bodyColor
121
+ bodyColor: recipe.bodyColor ?? (0, _avatarColor.avatarHex)(config)
109
122
  }
110
123
  };
111
124
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_avatarColor","require","_legacyContours","legacyRecipeUnsupported","config","family","face","legacyNativeShape","shared","circle","triangle","flower","diamond","heart","foldShape","shape","undefined","radialContour","polygons","samples","Number","isInteger","Error","Array","from","length","_","i","angle","Math","PI","dx","cos","dy","sin","radius","polygon","j","ax","ay","bx","by","ex","ey","denominator","abs","distance","segment","isFinite","legacyCharacterRecipe","customization","character","preset","selections","eyes","eyewear","accessory","bodyColor","avatarHex","legacyRecipe","recipe","points","legacyContours","patch"],"sourceRoot":"../../../src","sources":["agent-avatar/legacy-recipe.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_characterColors","require","_characterShapes","_avatarColor","_legacyContours","legacyRecipeUnsupported","config","isMigratedCharacterShape","character","selections","shape","family","face","legacyNativeShape","shared","circle","triangle","flower","diamond","heart","foldShape","undefined","radialContour","polygons","samples","Number","isInteger","Error","Array","from","length","_","i","angle","Math","PI","dx","cos","dy","sin","radius","polygon","j","ax","ay","bx","by","ex","ey","denominator","abs","distance","segment","isFinite","legacyCharacterRecipe","preset","customization","eyes","eyewear","accessory","bodyColor","CHARACTER_COLORS","color","avatarHex","eyeSpacing","legacyRecipe","geometry","characterShapeGeometry","canonical","selectedShape","recipe","points","legacyContours","patch"],"sourceRoot":"../../../src","sources":["agent-avatar/legacy-recipe.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.AgentCreatorBase = AgentCreatorBase;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _index = require("../agent-avatar/index.js");
10
+ var _characterShapes = require("../agent-avatar/character-shapes.js");
10
11
  var _context = require("../agent-avatar/context.js");
11
12
  var _legacyRecipe = require("../agent-avatar/legacy-recipe.js");
12
13
  var _Button = require("../button/Button");
@@ -60,38 +61,49 @@ function AgentCreatorBase(props) {
60
61
  runtimeUrl
61
62
  } = runtime;
62
63
  const beta = Boolean(c.character && c.character.preset !== 'bloom');
63
- const nativeShape = (0, _legacyRecipe.legacyNativeShape)(c);
64
64
  const key = JSON.stringify(beta ? c.character : (0, _legacyRecipe.legacyCharacterRecipe)(c));
65
- const capabilities = catalog.capabilitiesByKey?.get(key) ?? (catalog.capabilities?.key === key ? catalog.capabilities : undefined);
66
- const betaColor = capabilities?.selected.color ?? c.character?.selections?.color;
67
- const customColorValue = beta ? c.character?.bodyColor ?? _constants.CHARACTER_COLORS[betaColor] ?? (0, _shared.avatarHex)(c) : c.character?.bodyColor ?? (0, _shared.avatarHex)(c);
68
- const selectedEyes = capabilities?.selected.eyes ?? c.character?.selections?.eyes ?? 'oval';
65
+ const currentCapabilities = catalog.capabilitiesByKey?.get(key) ?? (catalog.capabilities?.key === key ? catalog.capabilities : undefined);
66
+ const retained = (0, _react.useRef)({
67
+ owner: '',
68
+ selected: {}
69
+ });
70
+ const owner = JSON.stringify([agent.id, c.character?.preset ?? 'bloom']);
71
+ if (retained.current.owner !== owner) retained.current = {
72
+ owner,
73
+ selected: {}
74
+ };
75
+ if (currentCapabilities) retained.current.selected = currentCapabilities.selected;
76
+ const capabilities = currentCapabilities ?? {
77
+ selected: retained.current.selected,
78
+ available: {}
79
+ };
80
+ const betaColor = c.character?.selections?.color ?? capabilities?.selected.color;
81
+ const betaBodyColor = c.character?.bodyColor ?? (c.character?.preset === 'clippo' && !c.character.selections?.color ? '#999b9d' : undefined) ?? (!betaColor ? capabilities?.selected.bodyColor : undefined);
82
+ const customColorValue = beta ? betaBodyColor ?? (c.character?.selections?.color ? _constants.CHARACTER_COLORS[c.character.selections.color] : undefined) ?? capabilities?.selected.bodyColor ?? _constants.CHARACTER_COLORS[betaColor] ?? (0, _shared.avatarHex)(c) : c.character?.bodyColor ?? _constants.CHARACTER_COLORS[c.character?.selections?.color] ?? (0, _shared.avatarHex)(c);
83
+ const selectedEyes = c.character?.selections?.eyes ?? capabilities?.selected.eyes ?? (c.character?.preset === 'clippo' ? 'clippo' : c.character?.preset === 'lime_frog' ? 'todd' : 'oval');
84
+ const selectedEyewear = c.character?.selections?.eyewear ?? capabilities?.selected.eyewear;
85
+ const selectedAccessory = c.character?.selections?.accessory ?? capabilities?.selected.accessory;
86
+ const selectedParts = {
87
+ ...(c.character?.selections?.eyes || capabilities.selected.eyes || c.character?.preset === 'clippo' || c.character?.preset === 'lime_frog' ? {
88
+ eyes: selectedEyes
89
+ } : {}),
90
+ ...(selectedEyewear ? {
91
+ eyewear: selectedEyewear
92
+ } : {}),
93
+ ...(selectedAccessory ? {
94
+ accessory: selectedAccessory
95
+ } : {})
96
+ };
69
97
  const characterConfig = (category, id) => {
70
- if (!beta && (category === 'eyes' || category === 'eyewear' || category === 'accessory')) return {
71
- ...c,
72
- character: {
73
- ...c.character,
74
- preset: 'bloom',
75
- selections: {
76
- ...c.character?.selections,
77
- [category]: id
78
- }
79
- }
80
- };
81
- const character = beta ? c.character : {
82
- preset: 'blue_beret',
83
- bodyColor: customColorValue,
84
- selections: {
85
- eyewear: c.character?.selections?.eyewear ?? capabilities?.selected.eyewear ?? 'none',
86
- accessory: c.character?.selections?.accessory ?? capabilities?.selected.accessory ?? 'none',
87
- eyes: selectedEyes
88
- }
89
- };
98
+ if (category === 'shape') return (0, _characterShapes.createConfigForShape)(c, id, capabilities.selected);
99
+ const character = (0, _characterShapes.materializeCharacter)(c, capabilities.selected);
100
+ // Choosing a body retains the edited face and the preset's effective parts.
101
+ // Presets supply defaults; their catalog restrictions do not own edits.
90
102
  const selections = {
103
+ ...selectedParts,
91
104
  ...character.selections,
92
105
  [category]: id
93
106
  };
94
- if (category === 'shape') delete selections.eyes;
95
107
  const next = {
96
108
  ...character,
97
109
  selections
@@ -108,77 +120,26 @@ function AgentCreatorBase(props) {
108
120
  });
109
121
  const thumbnailBase = runtimeUrl ? runtimeUrl.slice(0, runtimeUrl.lastIndexOf('/') + 1) : '';
110
122
  const eyeBackground = customColorValue;
111
- const migratedShapes = [...['slender', 'pocket', 'petal', 'star', 'cloud', 'shield'].map(shape => ({
112
- family: 'fold',
113
- shape,
114
- title: messages.shapes[shape]
115
- })), ...[['pebble', 'Pebble'], ['squircle', 'Squircle']].map(([shape, title]) => ({
116
- family: 'blob',
117
- shape,
118
- title: messages.characterOption('shape', shape, title)
119
- }))];
120
- const migratedConfig = (family, shape) => {
121
- const {
122
- character: _character,
123
- ...existing
124
- } = c;
125
- const color = (0, _shared.hexAppearance)(customColorValue);
126
- return {
127
- ...existing,
128
- ...color,
129
- lightEyes: beta ? false : c.lightEyes,
130
- family,
131
- ...(family === 'fold' ? {
132
- foldShape: shape
133
- } : {
134
- shape: shape
135
- }),
136
- ...(runtimeUrl ? {
137
- character: {
138
- preset: 'bloom',
139
- selections: {
140
- eyes: selectedEyes,
141
- ...(capabilities?.selected.eyewear ?? c.character?.selections?.eyewear ? {
142
- eyewear: capabilities?.selected.eyewear ?? c.character?.selections?.eyewear
143
- } : {}),
144
- ...(capabilities?.selected.accessory ?? c.character?.selections?.accessory ? {
145
- accessory: capabilities?.selected.accessory ?? c.character?.selections?.accessory
146
- } : {})
147
- }
148
- }
149
- } : {})
150
- };
151
- };
152
- const shapeChoices = runtimeUrl ? [..._constants.CHARACTER_OPTIONS.shape.map(([id, title]) => ({
123
+ const shapeChoices = runtimeUrl ? _characterShapes.CHARACTER_SHAPES.map(([id, title]) => ({
153
124
  id,
154
- label: messages.characterOption('shape', id, title),
155
- config: characterConfig('shape', id),
156
- thumbnail: `${thumbnailBase}thumbnails/shapes/${id}.png`
157
- })), ...migratedShapes.map(({
158
- family,
159
- shape,
160
- title
161
- }) => ({
162
- id: `legacy:${family}:${shape}`,
163
- label: title,
164
- config: migratedConfig(family, shape)
165
- }))] : undefined;
166
- const shapeValue = beta ? capabilities?.selected.shape ?? c.character?.selections?.shape : nativeShape ?? `legacy:${c.family}:${c.family === 'fold' ? c.foldShape : c.shape}`;
167
- const selectShape = id => {
168
- if (id.startsWith('legacy:')) {
169
- const [, family, shape] = id.split(':');
170
- onChange({
171
- ...agent,
172
- avatar: migratedConfig(family, shape)
173
- });
174
- } else selectCharacter('shape', id);
175
- };
125
+ label: id in messages.shapes ? messages.shapes[id] : messages.characterOption('shape', id, title),
126
+ config: (0, _characterShapes.createConfigForShape)(c, id, capabilities.selected),
127
+ ...(_characterShapes.NATIVE_CHARACTER_SHAPES.some(([shape]) => shape === id) && id !== 'clippo' && id !== 'todd' ? {
128
+ thumbnail: `${thumbnailBase}thumbnails/shapes/${id}.png`
129
+ } : {})
130
+ })) : undefined;
131
+ const shapeValue = c.character?.selections?.shape ?? (beta ? capabilities.selected.shape ?? (c.character?.preset === 'clippo' ? 'clippo' : undefined) : (0, _characterShapes.currentCharacterShape)(c));
132
+ const selectShape = id => selectCharacter('shape', id);
176
133
  const eyeChoices = runtimeUrl ? _constants.CHARACTER_OPTIONS.eyes.map(([id, title]) => ({
177
134
  id,
178
135
  label: messages.characterOption('eyes', id, title),
179
136
  config: characterConfig('eyes', id),
180
- thumbnail: `${thumbnailBase}thumbnails/eyes/${id}.png`,
181
- disabled: !capabilities || capabilities.available[`eyes:${id}`] === false
137
+ ...(id === 'clippo' || id === 'cyclops' ? {
138
+ artwork: id
139
+ } : {
140
+ thumbnail: `${thumbnailBase}thumbnails/eyes/${id}.png`
141
+ }),
142
+ disabled: false
182
143
  })) : undefined;
183
144
  const appearance = patch => {
184
145
  const {
@@ -325,10 +286,9 @@ function AgentCreatorBase(props) {
325
286
  children: messages.working
326
287
  })]
327
288
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CharacterControls.CharacterControls, {
328
- character: c.character ?? {
329
- preset: 'bloom'
330
- },
289
+ character: runtimeUrl ? beta ? c.character : (0, _characterShapes.materializeCharacter)(c, capabilities.selected) : c.character,
331
290
  capabilitiesKey: key,
291
+ selected: capabilities.selected,
332
292
  onChange: character => {
333
293
  if (character) onChange({
334
294
  ...agent,
@@ -349,7 +309,7 @@ function AgentCreatorBase(props) {
349
309
  borderColor: colors.border,
350
310
  boxShadow: '0 1px 2px rgba(0,0,0,.05)'
351
311
  },
352
- children: [!beta && _constants.AVATAR_COLORS.map(([hue, saturation, name, center, edge]) => {
312
+ children: [!runtimeUrl && _constants.AVATAR_COLORS.map(([hue, saturation, name, center, edge]) => {
353
313
  const active = c.hue === hue && c.saturation === saturation && c.lightness === undefined;
354
314
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledPressable, {
355
315
  accessibilityRole: "button",
@@ -371,10 +331,10 @@ function AgentCreatorBase(props) {
371
331
  active: active
372
332
  })
373
333
  }, name);
374
- }), beta && _constants.CHARACTER_OPTIONS.color.map(([id, title]) => {
375
- const active = !c.character?.bodyColor && capabilities?.selected.color === id;
334
+ }), runtimeUrl && _constants.CHARACTER_OPTIONS.color.map(([id, title]) => {
335
+ const active = !betaBodyColor && betaColor === id;
376
336
  const hex = _constants.CHARACTER_COLORS[id];
377
- const disabled = !capabilities || capabilities.available[`color:${id}`] === false;
337
+ const disabled = false;
378
338
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledPressable, {
379
339
  accessibilityRole: "button",
380
340
  accessibilityLabel: messages.avatarColorLabel(messages.characterOption('color', id, title)),
@@ -398,16 +358,16 @@ function AgentCreatorBase(props) {
398
358
  asChild: true,
399
359
  label: messages.customColor,
400
360
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledPressable, {
401
- "aria-pressed": beta ? Boolean(c.character?.bodyColor) : undefined,
361
+ "aria-pressed": runtimeUrl ? Boolean(betaBodyColor) : undefined,
402
362
  accessibilityState: {
403
- selected: beta && Boolean(c.character?.bodyColor)
363
+ selected: Boolean(runtimeUrl) && Boolean(betaBodyColor)
404
364
  },
405
365
  className: "relative size-[26px] shrink-0 overflow-hidden rounded-full",
406
366
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GlossArt.GlossArt, {
407
- rainbow: !beta || !c.character?.bodyColor,
408
- center: beta ? c.character?.bodyColor : undefined,
409
- edge: beta ? c.character?.bodyColor : undefined,
410
- active: beta && Boolean(c.character?.bodyColor)
367
+ rainbow: !runtimeUrl || !betaBodyColor,
368
+ center: runtimeUrl ? betaBodyColor : undefined,
369
+ edge: runtimeUrl ? betaBodyColor : undefined,
370
+ active: Boolean(runtimeUrl) && Boolean(betaBodyColor)
411
371
  })
412
372
  })
413
373
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PopoverContent, {
@@ -421,13 +381,13 @@ function AgentCreatorBase(props) {
421
381
  onChange: hex => {
422
382
  const next = (0, _shared.hexAppearance)(hex);
423
383
  if (!next) return;
424
- if (beta) onChange({
384
+ if (runtimeUrl) onChange({
425
385
  ...agent,
426
386
  avatar: {
427
387
  ...c,
428
388
  ...next,
429
389
  character: {
430
- ...c.character,
390
+ ...(0, _characterShapes.materializeCharacter)(c, capabilities.selected),
431
391
  bodyColor: hex.toLowerCase()
432
392
  }
433
393
  }