@oxy.so/bloom 7.1.1 → 7.1.3
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/assets/character-runtime/README.md +114 -19
- package/assets/character-runtime/authored-parts.mjs +754 -0
- package/assets/character-runtime/catalog-parts.mjs +362 -0
- package/assets/character-runtime/character-recipe.mjs +247 -0
- package/assets/character-runtime/clippo-geometry.mjs +679 -0
- package/assets/character-runtime/controller-mode.mjs +208 -0
- package/assets/character-runtime/cyclops-geometry.mjs +180 -0
- package/assets/character-runtime/legacy-engine.mjs +406 -54
- package/assets/character-runtime/legacy-geometry.mjs +242 -85
- package/assets/character-runtime/legacy-worker.mjs +82 -23
- package/assets/character-runtime/managed-avatar.mjs +12 -17
- package/assets/character-runtime/migrated-contours.mjs +2067 -0
- package/assets/character-runtime/migrated-faces.mjs +59 -0
- package/assets/character-runtime/pose-transition.mjs +523 -0
- package/assets/character-runtime/preparation-cache.mjs +60 -0
- package/assets/character-runtime/render-budget.mjs +5 -3
- package/assets/character-runtime/render-errors.mjs +180 -0
- package/assets/character-runtime/resolution.mjs +10 -0
- package/assets/character-runtime/runtime.mjs +744 -295
- package/assets/character-runtime/sha256.mjs +44 -0
- package/assets/character-runtime/shared-programs.mjs +534 -0
- package/assets/character-runtime/shared-surface.mjs +490 -0
- package/assets/character-runtime/shared-textures.mjs +420 -0
- package/assets/character-runtime/thumbnails/eyes/todd.png +0 -0
- package/docs/adoption-matrix.mdx +2 -2
- package/docs/agent-avatar.mdx +45 -8
- package/docs/agent-creator.mdx +13 -3
- package/docs/bottom-sheet.mdx +1 -1
- package/lib/commonjs/agent-avatar/AgentAvatar.js +1 -1
- package/lib/commonjs/agent-avatar/AgentAvatar.js.map +1 -1
- package/lib/commonjs/agent-avatar/CharacterAvatar.js +2 -1
- package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -1
- package/lib/commonjs/agent-avatar/character-colors.js +19 -0
- package/lib/commonjs/agent-avatar/character-colors.js.map +1 -0
- package/lib/commonjs/agent-avatar/character-shapes.js +106 -0
- package/lib/commonjs/agent-avatar/character-shapes.js.map +1 -0
- package/lib/commonjs/agent-avatar/config-character.js +4 -0
- package/lib/commonjs/agent-avatar/config-character.js.map +1 -1
- package/lib/commonjs/agent-avatar/legacy-recipe.js +19 -6
- package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -1
- package/lib/commonjs/agent-creator/AgentCreatorBase.js +67 -107
- package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
- package/lib/commonjs/agent-creator/CharacterControls.js +23 -5
- package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -1
- package/lib/commonjs/agent-creator/ClippoArtwork.js +63 -0
- package/lib/commonjs/agent-creator/ClippoArtwork.js.map +1 -0
- package/lib/commonjs/agent-creator/CyclopsArtwork.js +45 -0
- package/lib/commonjs/agent-creator/CyclopsArtwork.js.map +1 -0
- package/lib/commonjs/agent-creator/EmotionPicker.js +8 -1
- package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
- package/lib/commonjs/agent-creator/ShapeSilhouette.js +8 -1
- package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -1
- package/lib/commonjs/agent-creator/ToddArtwork.js +29 -0
- package/lib/commonjs/agent-creator/ToddArtwork.js.map +1 -0
- package/lib/commonjs/agent-creator/constants.js +16 -17
- package/lib/commonjs/agent-creator/constants.js.map +1 -1
- package/lib/commonjs/agent-creator/messages.js +1 -1
- package/lib/commonjs/agent-creator/messages.js.map +1 -1
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js +33 -49
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/commonjs/dialog/DialogBottomSheet.js +1 -1
- package/lib/commonjs/dialog/DialogBottomSheet.js.map +1 -1
- package/lib/commonjs/locale/translations/ar.js +1 -1
- package/lib/commonjs/locale/translations/ar.js.map +1 -1
- package/lib/commonjs/locale/translations/bn.js +1 -1
- package/lib/commonjs/locale/translations/bn.js.map +1 -1
- package/lib/commonjs/locale/translations/ca.js +1 -1
- package/lib/commonjs/locale/translations/ca.js.map +1 -1
- package/lib/commonjs/locale/translations/de.js +1 -1
- package/lib/commonjs/locale/translations/de.js.map +1 -1
- package/lib/commonjs/locale/translations/es.js +1 -1
- package/lib/commonjs/locale/translations/es.js.map +1 -1
- package/lib/commonjs/locale/translations/fr.js +1 -1
- package/lib/commonjs/locale/translations/fr.js.map +1 -1
- package/lib/commonjs/locale/translations/hi.js +1 -1
- package/lib/commonjs/locale/translations/hi.js.map +1 -1
- package/lib/commonjs/locale/translations/id.js +1 -1
- package/lib/commonjs/locale/translations/id.js.map +1 -1
- package/lib/commonjs/locale/translations/it.js +1 -1
- package/lib/commonjs/locale/translations/it.js.map +1 -1
- package/lib/commonjs/locale/translations/ja.js +1 -1
- package/lib/commonjs/locale/translations/ja.js.map +1 -1
- package/lib/commonjs/locale/translations/pt.js +1 -1
- package/lib/commonjs/locale/translations/pt.js.map +1 -1
- package/lib/commonjs/locale/translations/ru.js +1 -1
- package/lib/commonjs/locale/translations/ru.js.map +1 -1
- package/lib/commonjs/locale/translations/tr.js +1 -1
- package/lib/commonjs/locale/translations/tr.js.map +1 -1
- package/lib/commonjs/locale/translations/zh.js +1 -1
- package/lib/commonjs/locale/translations/zh.js.map +1 -1
- package/lib/commonjs/surface/SurfacePaint.js +17 -4
- package/lib/commonjs/surface/SurfacePaint.js.map +1 -1
- package/lib/module/agent-avatar/AgentAvatar.js +1 -1
- package/lib/module/agent-avatar/AgentAvatar.js.map +1 -1
- package/lib/module/agent-avatar/CharacterAvatar.js +2 -1
- package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -1
- package/lib/module/agent-avatar/character-colors.js +15 -0
- package/lib/module/agent-avatar/character-colors.js.map +1 -0
- package/lib/module/agent-avatar/character-shapes.js +97 -0
- package/lib/module/agent-avatar/character-shapes.js.map +1 -0
- package/lib/module/agent-avatar/config-character.js +4 -0
- package/lib/module/agent-avatar/config-character.js.map +1 -1
- package/lib/module/agent-avatar/legacy-recipe.js +19 -6
- package/lib/module/agent-avatar/legacy-recipe.js.map +1 -1
- package/lib/module/agent-creator/AgentCreatorBase.js +69 -109
- package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
- package/lib/module/agent-creator/CharacterControls.js +24 -6
- package/lib/module/agent-creator/CharacterControls.js.map +1 -1
- package/lib/module/agent-creator/ClippoArtwork.js +59 -0
- package/lib/module/agent-creator/ClippoArtwork.js.map +1 -0
- package/lib/module/agent-creator/CyclopsArtwork.js +41 -0
- package/lib/module/agent-creator/CyclopsArtwork.js.map +1 -0
- package/lib/module/agent-creator/EmotionPicker.js +8 -1
- package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
- package/lib/module/agent-creator/ShapeSilhouette.js +8 -1
- package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -1
- package/lib/module/agent-creator/ToddArtwork.js +25 -0
- package/lib/module/agent-creator/ToddArtwork.js.map +1 -0
- package/lib/module/agent-creator/constants.js +8 -16
- package/lib/module/agent-creator/constants.js.map +1 -1
- package/lib/module/agent-creator/messages.js +1 -1
- package/lib/module/agent-creator/messages.js.map +1 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js +33 -49
- package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/module/dialog/DialogBottomSheet.js +1 -1
- package/lib/module/dialog/DialogBottomSheet.js.map +1 -1
- package/lib/module/locale/translations/ar.js +1 -1
- package/lib/module/locale/translations/ar.js.map +1 -1
- package/lib/module/locale/translations/bn.js +1 -1
- package/lib/module/locale/translations/bn.js.map +1 -1
- package/lib/module/locale/translations/ca.js +1 -1
- package/lib/module/locale/translations/ca.js.map +1 -1
- package/lib/module/locale/translations/de.js +1 -1
- package/lib/module/locale/translations/de.js.map +1 -1
- package/lib/module/locale/translations/es.js +1 -1
- package/lib/module/locale/translations/es.js.map +1 -1
- package/lib/module/locale/translations/fr.js +1 -1
- package/lib/module/locale/translations/fr.js.map +1 -1
- package/lib/module/locale/translations/hi.js +1 -1
- package/lib/module/locale/translations/hi.js.map +1 -1
- package/lib/module/locale/translations/id.js +1 -1
- package/lib/module/locale/translations/id.js.map +1 -1
- package/lib/module/locale/translations/it.js +1 -1
- package/lib/module/locale/translations/it.js.map +1 -1
- package/lib/module/locale/translations/ja.js +1 -1
- package/lib/module/locale/translations/ja.js.map +1 -1
- package/lib/module/locale/translations/pt.js +1 -1
- package/lib/module/locale/translations/pt.js.map +1 -1
- package/lib/module/locale/translations/ru.js +1 -1
- package/lib/module/locale/translations/ru.js.map +1 -1
- package/lib/module/locale/translations/tr.js +1 -1
- package/lib/module/locale/translations/tr.js.map +1 -1
- package/lib/module/locale/translations/zh.js +1 -1
- package/lib/module/locale/translations/zh.js.map +1 -1
- package/lib/module/surface/SurfacePaint.js +18 -5
- package/lib/module/surface/SurfacePaint.js.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts +13 -0
- package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts.map +1 -0
- package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts +19 -0
- package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts.map +1 -0
- package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +4 -0
- package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +2 -10
- package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/AgentCreatorBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts +2 -1
- package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts +6 -0
- package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts.map +1 -0
- package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts +5 -0
- package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts.map +1 -0
- package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +1 -0
- package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts +6 -0
- package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts.map +1 -0
- package/lib/typescript/commonjs/agent-creator/constants.d.ts +7 -15
- package/lib/typescript/commonjs/agent-creator/constants.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/messages.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/types.d.ts +1 -0
- package/lib/typescript/commonjs/bottom-sheet/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/surface/SurfacePaint.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/character-colors.d.ts +13 -0
- package/lib/typescript/module/agent-avatar/character-colors.d.ts.map +1 -0
- package/lib/typescript/module/agent-avatar/character-shapes.d.ts +19 -0
- package/lib/typescript/module/agent-avatar/character-shapes.d.ts.map +1 -0
- package/lib/typescript/module/agent-avatar/config-character.d.ts +4 -0
- package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +2 -10
- package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/AgentCreatorBase.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/CharacterControls.d.ts +2 -1
- package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts +6 -0
- package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts.map +1 -0
- package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts +5 -0
- package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts.map +1 -0
- package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +1 -0
- package/lib/typescript/module/agent-creator/EmotionPicker.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/ToddArtwork.d.ts +6 -0
- package/lib/typescript/module/agent-creator/ToddArtwork.d.ts.map +1 -0
- package/lib/typescript/module/agent-creator/constants.d.ts +7 -15
- package/lib/typescript/module/agent-creator/constants.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/messages.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/types.d.ts +1 -0
- package/lib/typescript/module/bottom-sheet/types.d.ts.map +1 -1
- package/lib/typescript/module/surface/SurfacePaint.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent-avatar/AgentAvatar.tsx +1 -1
- package/src/agent-avatar/CharacterAvatar.tsx +4 -1
- package/src/agent-avatar/character-colors.ts +12 -0
- package/src/agent-avatar/character-shapes.ts +122 -0
- package/src/agent-avatar/config-character.ts +39 -6
- package/src/agent-avatar/legacy-recipe.ts +34 -6
- package/src/agent-creator/AgentCreatorBase.tsx +121 -152
- package/src/agent-creator/CharacterControls.tsx +39 -14
- package/src/agent-creator/ClippoArtwork.tsx +49 -0
- package/src/agent-creator/CyclopsArtwork.tsx +27 -0
- package/src/agent-creator/EmotionPicker.tsx +55 -16
- package/src/agent-creator/ShapeSilhouette.tsx +16 -1
- package/src/agent-creator/ToddArtwork.tsx +24 -0
- package/src/agent-creator/constants.ts +47 -14
- package/src/agent-creator/messages.ts +2 -1
- package/src/bottom-sheet/BottomSheetBase.tsx +24 -34
- package/src/bottom-sheet/types.ts +1 -0
- package/src/dialog/DialogBottomSheet.tsx +1 -1
- package/src/locale/translations/ar.ts +1 -1
- package/src/locale/translations/bn.ts +1 -1
- package/src/locale/translations/ca.ts +1 -1
- package/src/locale/translations/de.ts +1 -1
- package/src/locale/translations/es.ts +1 -1
- package/src/locale/translations/fr.ts +1 -1
- package/src/locale/translations/hi.ts +1 -1
- package/src/locale/translations/id.ts +1 -1
- package/src/locale/translations/it.ts +1 -1
- package/src/locale/translations/ja.ts +1 -1
- package/src/locale/translations/pt.ts +1 -1
- package/src/locale/translations/ru.ts +1 -1
- package/src/locale/translations/tr.ts +1 -1
- package/src/locale/translations/zh.ts +1 -1
- 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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AAIA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,
|
|
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","
|
|
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
|
|
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)(
|
|
104
|
+
points: radialContour((0, _legacyContours.legacyContours)(geometry), samples)
|
|
95
105
|
}),
|
|
96
|
-
eyes: recipe.selections
|
|
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":["
|
|
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
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
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 (
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
|
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:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
-
|
|
181
|
-
|
|
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: [!
|
|
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
|
-
}),
|
|
375
|
-
const active = !
|
|
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 =
|
|
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":
|
|
361
|
+
"aria-pressed": runtimeUrl ? Boolean(betaBodyColor) : undefined,
|
|
402
362
|
accessibilityState: {
|
|
403
|
-
selected:
|
|
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: !
|
|
408
|
-
center:
|
|
409
|
-
edge:
|
|
410
|
-
active:
|
|
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 (
|
|
384
|
+
if (runtimeUrl) onChange({
|
|
425
385
|
...agent,
|
|
426
386
|
avatar: {
|
|
427
387
|
...c,
|
|
428
388
|
...next,
|
|
429
389
|
character: {
|
|
430
|
-
...c.
|
|
390
|
+
...(0, _characterShapes.materializeCharacter)(c, capabilities.selected),
|
|
431
391
|
bodyColor: hex.toLowerCase()
|
|
432
392
|
}
|
|
433
393
|
}
|