@fungi.computer/grove 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/Effect-TOXKEWei.js +76 -0
- package/dist/assets/{anthropic-messages-BC32dQ9I.js → anthropic-messages-B10kEhdr.js} +3 -3
- package/dist/assets/{azure-openai-responses-CxbiKRMB.js → azure-openai-responses-BfXWvSIh.js} +1 -1
- package/dist/assets/{base-face-BEjKYyJe.js → base-face-CD4oLBv-.js} +1 -1
- package/dist/assets/burger-qdnxdNXn.js +1 -0
- package/dist/assets/cat-B_uav_x5.js +1 -0
- package/dist/assets/compat-CbK3PtOb.js +2 -0
- package/dist/assets/{document-CI1e8oXD.js → document-aOA3zT2S.js} +1 -1
- package/dist/assets/extension-hook-DLTz1137.js +819 -0
- package/dist/assets/extensions-IZr7giz2.js +1 -0
- package/dist/assets/{google-generative-ai-0DBJk_8o.js → google-generative-ai-Fu8V-yz7.js} +1 -1
- package/dist/assets/{google-shared-BL1Pe-wK.js → google-shared-wlIfh6j_.js} +1 -1
- package/dist/assets/{google-vertex-CPgYcjfH.js → google-vertex-BgvHA6C2.js} +1 -1
- package/dist/assets/index-DRqG5MfY.css +1 -0
- package/dist/assets/index-cUekAmc6.js +174 -0
- package/dist/assets/{mistral-conversations-C3vHwl30.js → mistral-conversations-BrU-wxK0.js} +1 -1
- package/dist/assets/{mushroom-D2oxknl9.js → mushroom-D6oZV5NT.js} +1 -1
- package/dist/assets/{node.browser-C4Y5T0IC.js → node.browser-Baqa49m1.js} +1 -1
- package/dist/assets/{openai-codex-responses-BJGSPctB.js → openai-codex-responses-i1IzQiR2.js} +1 -1
- package/dist/assets/{openai-completions-2akGjxPU.js → openai-completions-DuCQ84Dy.js} +1 -1
- package/dist/assets/{openai-responses-D6H3TRtV.js → openai-responses-Vdmgof2r.js} +1 -1
- package/dist/assets/{openai-responses-shared-DZesysou.js → openai-responses-shared-BgYppAGR.js} +1 -1
- package/dist/assets/parakeet-conversation-Bnw6qiL2.js +4 -0
- package/dist/assets/renderer-bYZ9SYm9.js +1 -0
- package/dist/assets/runtime-core-CUZBVLjw.js +40 -0
- package/dist/assets/{transform-messages-CgFTI6NF.js → transform-messages-BycyMXl0.js} +1 -1
- package/dist/index.html +6 -6
- package/package.json +19 -9
- package/dist/assets/Effect-BY0T-p9d.js +0 -76
- package/dist/assets/Effect-Bibd7o64.js +0 -76
- package/dist/assets/anthropic-messages-BrTyy87S.js +0 -19
- package/dist/assets/azure-openai-responses-Cxq6500u.js +0 -1
- package/dist/assets/base-face-Dc6wvM5e.js +0 -1
- package/dist/assets/burger-DCM1Ryjl.js +0 -1
- package/dist/assets/burger-Zw2lKYST.js +0 -1
- package/dist/assets/cat-D2ceQOG1.js +0 -1
- package/dist/assets/cat-Dg3HQp8e.js +0 -1
- package/dist/assets/compat-CNGE3olg.js +0 -2
- package/dist/assets/compat-DgqxVOn_.js +0 -2
- package/dist/assets/document-DjWTbvB5.js +0 -1
- package/dist/assets/extension-hook-C8RQgls9.js +0 -741
- package/dist/assets/extension-hook-CBuX_bUG.js +0 -721
- package/dist/assets/extensions-DEfvRHbZ.js +0 -1
- package/dist/assets/extensions-DYjwCmO5.js +0 -1
- package/dist/assets/google-generative-ai-C-fVQ8eG.js +0 -1
- package/dist/assets/google-shared-CRsSlHta.js +0 -8
- package/dist/assets/google-vertex-DFCQBu0N.js +0 -1
- package/dist/assets/index-26gTYfVj.js +0 -171
- package/dist/assets/index-DIRtUgKp.css +0 -1
- package/dist/assets/index-HgPChePI.js +0 -171
- package/dist/assets/index-u-fIUxtz.css +0 -1
- package/dist/assets/mistral-conversations-Dx6vubnB.js +0 -4
- package/dist/assets/mushroom-DcQ2lek6.js +0 -1
- package/dist/assets/node.browser-DF9afU1k.js +0 -1
- package/dist/assets/openai-codex-responses-CK2Z6kMm.js +0 -9
- package/dist/assets/openai-completions-C35dP-q-.js +0 -5
- package/dist/assets/openai-responses-DPFd_3HO.js +0 -1
- package/dist/assets/openai-responses-shared-DaKV5GAS.js +0 -10
- package/dist/assets/parakeet-conversation-DKtvvfd-.js +0 -4
- package/dist/assets/parakeet-conversation-Di3EPCdu.js +0 -4
- package/dist/assets/renderer-BHU7Ec4o.js +0 -1
- package/dist/assets/renderer-cVoUiOqk.js +0 -1
- package/dist/assets/runtime-core-COw0PWwZ.js +0 -1
- package/dist/assets/runtime-core-DOL1texL.js +0 -1
- package/dist/assets/transform-messages-utWG7TCG.js +0 -1
package/dist/assets/{azure-openai-responses-CxbiKRMB.js → azure-openai-responses-BfXWvSIh.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e,o as t,u as n}from"./preload-helper-DY31Aviq.js";import{a as r}from"./diagnostics-CxvqSC4Q.js";import{n as i}from"./models-BM_0GHMS.js";import{t as a}from"./headers-FK4rgixo.js";import{h as o,i as s,s as c,u as l}from"./transform-messages-
|
|
1
|
+
import{d as e,o as t,u as n}from"./preload-helper-DY31Aviq.js";import{a as r}from"./diagnostics-CxvqSC4Q.js";import{n as i}from"./models-BM_0GHMS.js";import{t as a}from"./headers-FK4rgixo.js";import{h as o,i as s,s as c,u as l}from"./transform-messages-BycyMXl0.js";import{t as u}from"./provider-retry-RVfYd5Vz.js";import{t as d}from"./openai-Cpe0uoXQ.js";import{n as f,t as p}from"./error-body-pkrba6pf.js";import{t as m}from"./openai-prompt-cache-DXo9f3w5.js";import{n as h,r as g,t as _}from"./openai-responses-shared-BgYppAGR.js";import{n as v,t as y}from"./compat-CbK3PtOb.js";var b=new Set([`openai`,`openai-codex`,`opencode`,`azure`]),x=16;function S(e){return p(f(e),`Azure OpenAI API error`)}var C=(e,i,o)=>{let s=new r,c=n(i,e.compat?.supportsMidConvoSystemMessages);return(async()=>{let n=v(e,o),r={role:`assistant`,content:[],api:`azure-openai-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let i=o?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let d=T(e,i,o),f=l(t(c.messages),e.compat?.supportsOpenAIGrammarTools??!1),p=E(e,c,o,n,f),m=await o?.onPayload?.(p,e);m!==void 0&&(p=m);let h={...o?.signal?{signal:o.signal}:{},...o?.timeoutMs===void 0?{}:{timeout:o.timeoutMs},maxRetries:0},{data:_,response:v}=await u(()=>d.responses.create(p,h).withResponse(),{maxRetries:o?.maxRetries,maxRetryDelayMs:o?.maxRetryDelayMs,signal:o?.signal});if(await o?.onResponse?.({status:v.status,headers:a(v.headers)},e),s.push({type:`start`,partial:r}),await g(_,r,s,e,{onProviderStreamEvent:o?.onProviderStreamEvent,grammarToolInputProperties:f}),o?.signal?.aborted)throw Error(`Request was aborted`);if(r.stopReason===`pending`)throw Error(`Azure OpenAI Responses stream ended without a stop reason`);if(r.stopReason===`aborted`||r.stopReason===`error`)throw Error(r.errorMessage||`An unknown error occurred`);s.push({type:`done`,reason:r.stopReason,message:r}),s.end()}catch(e){for(let e of r.content)delete e.index,delete e.partialJson,delete e.customInput;r.stopReason=o?.signal?.aborted?`aborted`:`error`,r.errorMessage=S(e),s.push({type:`error`,reason:r.stopReason,error:r}),s.end()}})(),s},w=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let a={...s(e,t,n,r),toolChoice:n?.toolChoice},o=n?.reasoning?i(e,n.reasoning):void 0,c=o===`off`?void 0:o;return C(e,t,{...a,reasoningEffort:c})};function T(e,t,n){let r={"User-Agent":o(),...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:i,apiVersion:a}=y(e,n);return new d({apiKey:t,apiVersion:a,dangerouslyAllowBrowser:!0,fetch:n?.fetch,defaultHeaders:r,baseURL:i})}function E(n,r,i,a,o=l(t(r.messages),n.compat?.supportsOpenAIGrammarTools??!1)){let s=n.compat?.supportsAdditionalTools??!1,u=n.compat?.supportsToolSearch??!1,d=e(r.messages,s||u),f={model:a,input:_(n,r,b,{grammarToolInputProperties:o,supportsMidConvoSystemMessages:n.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools:s,supportsToolSearch:u,toolOptions:{supportsStrictMode:n.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:n.compat?.supportsOpenAIGrammarTools??!1}}),stream:!0,prompt_cache_key:m(i?.sessionId),store:!1};i?.maxTokens&&(f.max_output_tokens=Math.max(i.maxTokens,x)),i?.temperature!==void 0&&(f.temperature=i?.temperature),d.requestTools.length>0&&(f.tools=h(d.requestTools,{supportsStrictMode:n.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:n.compat?.supportsOpenAIGrammarTools??!1})),i?.toolChoice!==void 0&&(f.tool_choice=i.toolChoice);let p=i?.reasoningEffort??(i?.reasoningSummary?`medium`:void 0);n.reasoning&&(p?(f.reasoning={effort:i?.reasoningEffort?n.thinkingLevelMap?.[i.reasoningEffort]??i.reasoningEffort:p,summary:i?.reasoningSummary||`auto`},f.include=[`reasoning.encrypted_content`]):n.thinkingLevelMap?.off!==null&&(f.reasoning={effort:n.thinkingLevelMap?.off??`none`}));let g=c(n,p??`off`,i?.samplingParams);return g&&Object.assign(f,g),f}export{C as stream,w as streamSimple};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,n as t,r as n,t as r}from"./document-CI1e8oXD.js";var i=new WeakMap,a=new WeakMap,o=(e,t)=>{a.set(e,t)},s=(e,t)=>{i.set(e,t)},c=e=>{let t=i.get(e);if(!t)throw Error(`Invalid Sprite definition`);return t},l=e=>{let t=a.get(e);if(t===void 0)throw Error(`Invalid Sprite scene node`);return t};function u(n){let i=c(n),a=new Map,o=[],s=(e,n)=>{let r=`node-${String(a.size)}`;a.set(e,r);let i=n===void 0?{id:r,kind:e.kind,options:e.options}:{id:r,parent:n,kind:e.kind,options:e.options};o.push(t.parse(i));for(let t of e.children)s(t,r)};s(i.root);let l=Object.fromEntries([...i.variants].map(([e,t])=>[e,Object.fromEntries([...t].map(([e,t])=>{let n=a.get(t);if(!n)throw Error(`Cannot export a variant outside the scene root`);return[e,n]}))])),u=r.parse({root:a.get(i.root),nodes:o,variants:l,palette:i.palette,expressions:i.expressions,activities:i.activities,defaultPresentation:{activity:i.defaultActivity,expression:i.defaultExpression}});return e.parse(JSON.parse(JSON.stringify({version:1,name:n.name,renderer:`zdog`,controls:Object.fromEntries(Object.entries(i.palette).map(([e,t])=>[e,{type:`color`,label:e,default:t.length===4?`#${t.slice(1).split(``).map(e=>e+e).join(``)}`:t}])),data:u})))}var d=Symbol(`Sprite.SceneNode`),f=(e,t)=>{if(!Number.isFinite(e))throw Error(`Sprite ${t} must be finite`)},p=(e,t)=>{if(e)for(let n of[`x`,`y`,`z`]){let r=e[n];r!==void 0&&f(r,`${t}.${n}`)}},m=(e,t)=>{if(!e.target.trim())throw Error(`Sprite ${t}.target cannot be empty`);if(p(e.translate,`${t}.translate`),p(e.rotate,`${t}.rotate`),e.durationMs!==void 0&&(f(e.durationMs,`${t}.durationMs`),e.durationMs<0))throw Error(`Sprite ${t}.durationMs cannot be negative`)};function h(e){return Array.isArray(e)}function g(e,t=new WeakMap){if(e===null||!(e instanceof Object)||e instanceof Function)return e;let n=e,r=t.get(n);if(r!==void 0)return r;if(h(e)){let r=e.map(e=>g(e,t));return t.set(n,r),Object.freeze(r)}let i={};t.set(n,i);for(let[n,r]of Object.entries(e))i[n]=g(r,t);return Object.freeze(i)}var _=(e,t=new Set)=>{if(e==null||!v(e)||t.has(e))return;let n=e;t.add(n);let r=Object.values(e);for(let e of r)_(e,t);Object.freeze(e)},v=e=>Object(e)===e&&!(e instanceof Function),y=e=>{let t=new Set,n=e=>{if(!t.has(e)){t.add(e);for(let t of e.children)n(t);_(e.options),Object.freeze(e.children),Object.freeze(e)}};n(e)},b=(e,t)=>{for(let[n,r]of e.entries())if(`bezier`in r)for(let[e,i]of r.bezier.entries())f(i.x,`${t}[${String(n)}].bezier[${String(e)}].x`),f(i.y,`${t}[${String(n)}].bezier[${String(e)}].y`),i.z!==void 0&&f(i.z,`${t}[${String(n)}].bezier[${String(e)}].z`);else f(r.x,`${t}[${String(n)}].x`),f(r.y,`${t}[${String(n)}].y`),r.z!==void 0&&f(r.z,`${t}[${String(n)}].z`)},x=e=>e?e<=.5?`small`:e<=.8?`medium`:`big`:`off`,S=(e,t,n)=>{let r=e.get(t);if(!r)throw Error(`Unknown Sprite variant channel: ${t}`);if(!r.has(n))throw Error(`Unknown Sprite variant: ${t}.${n}`)},C=(e,t,n,r)=>{if(e){if(e.expression!==void 0&&!(e.expression in n))throw Error(`Unknown Sprite ${t}.expression: ${e.expression}`);e.eyes!==void 0&&S(r,`eyes`,e.eyes),e.mouth!==void 0&&S(r,`mouth`,e.mouth),e.blush!==void 0&&(f(e.blush,`${t}.blush`),S(r,`blush`,x(e.blush)))}},w=[`idle`,`listening`,`processing`,`speaking`,`thinking`,`error`];new Set(w);var T=()=>{let e=Symbol(`sprite-scene`),t=new Map,n=new Map,r=(n,r={})=>{let i=r.name;if(r.name!==void 0&&(!i||i.trim()===``))throw Error(`Sprite node name cannot be empty`);if(i&&t.has(i))throw Error(`Duplicate Sprite node name: ${i}`);let{parent:a,...s}=r,c=a?l(a):void 0;if(c&&c.owner!==e)throw Error(`Sprite nodes cannot cross scene definitions`);p(r.translate,`translate`),p(r.rotate,`rotate`),p(r.scale,`scale`),r.stroke!==void 0&&r.stroke!==!1&&f(r.stroke,`stroke`);let u={owner:e,kind:n,name:i,parent:c,children:[],options:{...s,translate:r.x!==void 0||r.y!==void 0||r.z!==void 0?{...r.translate,x:r.x??r.translate?.x,y:r.y??r.translate?.y,z:r.z??r.translate?.z}:r.translate}};c&&c.children.push(u),i&&t.set(i,u);let m={[d]:!0};return o(m,u),m};return{scene:{group:(e={})=>r(`group`,e),path:e=>(e.path&&b(e.path,`shape.path`),r(`shape`,e)),ellipse:e=>(f(e.width,`ellipse.width`),f(e.height,`ellipse.height`),r(`ellipse`,e)),hemisphere:e=>(f(e.diameter,`hemisphere.diameter`),r(`hemisphere`,e)),cylinder:e=>(f(e.diameter,`cylinder.diameter`),f(e.length,`cylinder.length`),r(`cylinder`,e))},owner:e,nodes:t,variants:n}};function E(e){if(!Object.is(e.apiVersion,1))throw Error(`Sprite definitions must declare apiVersion: 1`);if(!e.name.trim())throw Error(`Sprite definition name cannot be empty`);if(!Object.keys(e.palette).length)throw Error(`Sprite definitions need a palette`);for(let[t,n]of Object.entries(e.palette))if(!t.trim()||!n.trim())throw Error(`Invalid Sprite palette entry: ${t}`);if(!Object.keys(e.expressions).length)throw Error(`Sprite definitions need an expression`);let t=g({...e,palette:e.palette,expressions:e.expressions,activities:e.activities??{}}),r=T(),i=t.build({scene:r.scene,color:e=>{if(!(e in t.palette))throw Error(`Unknown Sprite palette slot: ${e}`);return`${n}${e}`}});if(Object.is(i,null)||Object.is(i,void 0)||!Object.hasOwn(i,`root`)||Object.is(i.root,null)||Object.is(i.root,void 0))throw Error(`Sprite build must return a root node`);let a=l(i.root);if(a.owner!==r.owner)throw Error(`Sprite root belongs to another definition`);for(let[e,t]of Object.entries(i.variants??{})){let n=new Map;for(let[i,a]of Object.entries(t)){let t=l(a);if(t.owner!==r.owner)throw Error(`Sprite variant is from another definition: ${e}.${i}`);n.set(i,t)}r.variants.set(e,n)}for(let[e,n]of Object.entries(t.expressions)){for(let[e,t]of Object.entries(n.variants??{})){let n=r.variants.get(e);if(!n)throw Error(`Unknown Sprite variant channel: ${e}`);if(!n.has(t))throw Error(`Unknown Sprite variant: ${e}.${t}`)}for(let[t,i]of Object.entries(n.variantChoices??{})){let n=r.variants.get(t);if(!n)throw Error(`Unknown Sprite variant channel: ${t}`);if(!i.length)throw Error(`Sprite expression choices cannot be empty: ${e}.${t}`);for(let e of i)if(!n.has(e))throw Error(`Unknown Sprite variant: ${t}.${e}`)}if(!e.trim())throw Error(`Sprite expression name cannot be empty`)}let o=t.activities;for(let[e,n]of Object.entries(o)){if(!e.trim())throw Error(`Sprite activity name cannot be empty`);if(n.motion&&(m(n.motion,`activity.${e}.motion`),!r.nodes.has(n.motion.target)))throw Error(`Unknown Sprite activity target: ${n.motion.target}`);n.mouseInfluence!==void 0&&f(n.mouseInfluence,`activity.${e}.mouseInfluence`),C(n.geometry,`activity.${e}.geometry`,t.expressions,r.variants);for(let[t,r]of(n.mouthCycle??[]).entries())if(f(r.durationMs,`activity.${e}.mouthCycle[${String(t)}].durationMs`),r.durationMs<0)throw Error(`Sprite activity.${e}.mouthCycle[${String(t)}].durationMs cannot be negative`)}for(let[e,n]of Object.entries(t.expressions))if(n.blush!==void 0&&(f(n.blush,`expression.${e}.blush`),S(r.variants,`blush`,x(n.blush))),n.motion&&(m(n.motion,`expression.${e}.motion`),!r.nodes.has(n.motion.target)))throw Error(`Unknown Sprite expression target: ${n.motion.target}`);let c=Object.keys(t.expressions)[0],u=t.defaultPresentation?.expression??c;if(!u||!(u in t.expressions))throw Error(`Unknown Sprite default expression: ${String(u)}`);let d=t.defaultPresentation?.activity??`idle`;if(t.defaultPresentation?.activity!==void 0&&!w.some(e=>e===d)&&!(d in o))throw Error(`Unknown Sprite default activity: ${d}`);for(let e of r.nodes.values())y(e);let p=t,h=new Set;for(let e of r.variants.values())for(let t of e.values())h.add(t);return s(p,{owner:r.owner,root:a,nodesByName:r.nodes,variants:r.variants,variantNodes:h,palette:t.palette,activities:o,expressions:t.expressions,defaultActivity:d,defaultExpression:u}),p}var D=(e,t,n,r={})=>{let i=e.group({parent:n,name:`eyes`}),a={parent:n,name:`mouth`};r.mouthTranslate!==void 0&&Object.assign(a,{translate:r.mouthTranslate});let o=r.hideMouth?void 0:e.group(a),s=(n,r,a,o,s,c,l)=>{let u=e.group({parent:i,name:`eyes.${n}`});for(let n of[-1,1]){let i={parent:u,translate:{x:6*n,y:o}};s&&Object.assign(i,{rotate:{z:s*n}});let d=e.group(i);e.ellipse({parent:d,width:r,height:a,stroke:1.5,fill:!0,color:t(`eye`)}),e.ellipse({parent:d,width:c,height:l,stroke:.5,fill:!0,color:t(`white`),translate:{y:-l/2,z:1}})}return u},c={normal:s(`normal`,3,5,-2,0,1.5,2),sad:s(`sad`,3,4,-1,-.2,1.5,2),surprised:s(`surprised`,4,5,-2,0,1.5,2)},l=e.group({parent:i,name:`eyes.happy`});for(let n of[-1,1])e.path({parent:l,path:[{x:-2.5,y:2},{bezier:[{x:-1,y:-1.5},{x:1,y:-1.5},{x:2.5,y:2}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*n,y:-2}});let u=e.group({parent:i,name:`eyes.angry`});for(let n of[-1,1]){let r=e.group({parent:u,rotate:{z:.3*n},translate:{x:6*n,y:-1}});e.ellipse({parent:r,width:3,height:4,stroke:1.5,fill:!0,color:t(`eye`)}),e.path({parent:r,path:[{x:-3,y:-3},{x:3,y:-2}],stroke:1.5,color:t(`eye`),translate:{y:-1}})}let d=e.group({parent:i,name:`eyes.dead`});for(let n of[-1,1]){let r=e.group({parent:d,translate:{x:6*n,y:-2}});e.path({parent:r,path:[{x:-2,y:-3},{x:2,y:3}],stroke:1.5,color:t(`dead`)}),e.path({parent:r,path:[{x:2,y:-3},{x:-2,y:3}],stroke:1.5,color:t(`dead`)})}let f=e.group({parent:i,name:`eyes.confused`}),p=e.group({parent:f,translate:{x:-6,y:-2}});e.ellipse({parent:p,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)}),e.path({parent:p,path:[{x:-3,y:-4},{x:3,y:-2}],stroke:1.5,color:t(`eye`)});let m=e.group({parent:f,translate:{x:6,y:-2}});e.ellipse({parent:m,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)});let h=e.group({parent:i,name:`eyes.sleepy`});for(let n of[-1,1])e.path({parent:h,path:[{x:-2.5,y:1},{bezier:[{x:-1,y:0},{x:1,y:0},{x:2.5,y:1}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*n,y:-1}});let g=e.group({parent:i,name:`eyes.nervous`});for(let n of[-1,1]){let r=e.group({parent:g,translate:{x:6*n,y:-2}});e.ellipse({parent:r,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)})}let _=e.group({parent:g,translate:{x:10,y:4}});e.path({parent:_,path:[{x:0,y:-4}],stroke:2,color:t(`sweat`)}),e.ellipse({parent:_,width:3,height:4,stroke:0,fill:!0,color:t(`sweat`),translate:{y:2}});let v=e.group({parent:i,name:`eyes.shy`});for(let n of[-1,1])e.ellipse({parent:v,width:2.5,height:2,stroke:1.5,fill:!0,color:t(`eye`),translate:{x:6*n,y:-2}});let y=e.group({parent:i,name:`eyes.cute`});for(let n of[-1,1]){let r=e.group({parent:y,translate:{x:6*n,y:-1}});e.ellipse({parent:r,width:5,height:6,stroke:1.5,fill:!0,color:t(`eye`)}),e.ellipse({parent:r,width:2.5,height:3,stroke:0,fill:!0,color:t(`white`),translate:{y:-1.5,z:1}}),e.ellipse({parent:r,width:1,height:1,stroke:0,fill:!0,color:t(`white`),translate:{x:-1.5,y:1.5,z:1}})}let b=e.group({parent:i,name:`eyes.wink`}),x=n=>{let r=e.group({parent:b,name:`eyes.wink.${n}`}),i=n===`left`?-1:1;return e.path({parent:r,path:[{x:-2.5,y:2},{bezier:[{x:-1,y:-1.5},{x:1,y:-1.5},{x:2.5,y:2}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*i,y:-2}}),e.ellipse({parent:r,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`),translate:{x:-6*i,y:-2}}),r},S=x(`left`),C=x(`right`),w=(()=>{if(!o)return{};let n=(n,r,i=1.5)=>e.path({parent:o,name:`mouth.${n}`,path:r,closed:!1,stroke:i,color:t(`mouth`),translate:{y:2}}),r={normal:n(`normal`,[{x:-2.5,y:0},{x:2.5,y:0}]),happy:n(`happy`,[{x:-2.5,y:2},{bezier:[{x:0,y:4},{x:2.5,y:2},{x:2.5,y:2}]}]),sad:n(`sad`,[{x:-2.5,y:2},{bezier:[{x:0,y:0},{x:2.5,y:2},{x:2.5,y:2}]}]),small:n(`small`,[{x:-1.5,y:0},{x:1.5,y:0}],1),worried:n(`worried`,[{x:-2,y:1},{bezier:[{x:-.5,y:.5},{x:.5,y:.5},{x:2,y:1}]}],1)},i=e.ellipse({parent:o,name:`mouth.pout`,width:2,height:2.5,stroke:1.5,fill:!0,color:t(`mouth`),translate:{y:3}}),a=e.ellipse({parent:o,name:`mouth.surprised`,width:3,height:4,stroke:1.5,fill:!0,color:t(`mouth`),translate:{y:3}}),s=e.group({parent:o,name:`mouth.dead`,translate:{y:5}});e.ellipse({parent:s,width:3,height:2,stroke:1.5,fill:!0,color:t(`dead`)}),e.ellipse({parent:s,width:1.5,height:1,stroke:0,fill:!0,color:t(`deadTongue`),translate:{y:.5}});let c=e.group({parent:o,name:`mouth.open`,translate:{y:2}});return e.ellipse({parent:c,width:6,height:4,stroke:1.5,fill:!0,color:t(`mouth`)}),e.ellipse({parent:c,name:`mouth.tongue`,width:3,height:1.5,stroke:0,fill:!0,color:t(`tongue`),translate:{y:1}}),{normal:r.normal,happy:r.happy,sad:r.sad,angry:r.sad,surprised:a,dead:s,small:r.small,worried:r.worried,pout:i,open:c}})(),T=(r,i,a,o,s)=>{let c=e.group({parent:n,name:`blush.${r}`});for(let n of[-1,1])e.ellipse({parent:c,width:i,height:a,stroke:o,fill:!0,color:t(`blush`),translate:{x:s*n,y:4}});return c},E=e.group({parent:n,name:`blush.off`}),D=r.blushMode===`none`?{off:E,small:E,medium:E,big:E}:(()=>{let e=T(`medium`,5,2.5,1,10);return r.blushMode===`medium-alias`?{off:E,small:e,medium:e,big:e}:{off:E,small:T(`small`,3.5,1.8,1,9),medium:e,big:T(`big`,7,3.5,2,11)}})();return{eyes:{normal:c.normal,happy:l,sad:c.sad,angry:u,surprised:c.surprised,dead:d,confused:f,sleepy:h,nervous:g,shy:v,wink:S,cute:y,"wink.left":S,"wink.right":C},mouth:w,blush:D}},O={angry:{variants:{eyes:`angry`,mouth:`angry`,blush:`off`},motion:{target:`root`,translate:{x:1,y:0},durationMs:150,repeat:`none`}},confused:{variants:{eyes:`confused`,mouth:`normal`,blush:`off`},motion:{target:`root`,translate:{x:0,y:.5},durationMs:150,repeat:`none`}},cute:{variants:{eyes:`cute`,mouth:`happy`,blush:`big`},motion:{target:`root`,translate:{x:0,y:-2.5},durationMs:150,repeat:`none`}},dead:{variants:{eyes:`dead`,mouth:`dead`,blush:`off`}},happy:{variants:{eyes:`happy`,mouth:`happy`,blush:`medium`},motion:{target:`root`,translate:{x:0,y:-2},durationMs:150,repeat:`none`}},nervous:{variants:{eyes:`nervous`,mouth:`worried`,blush:`off`},motion:{target:`root`,translate:{x:-.5,y:-1},durationMs:150,repeat:`none`}},normal:{variants:{eyes:`normal`,mouth:`normal`,blush:`off`},motion:{target:`root`,translate:{x:0,y:1},durationMs:150,repeat:`none`}},pleading:{variants:{eyes:`cute`,mouth:`pout`,blush:`medium`},motion:{target:`root`,translate:{x:0,y:-1},durationMs:150,repeat:`none`}},sad:{variants:{eyes:`sad`,mouth:`sad`,blush:`off`},motion:{target:`root`,translate:{x:0,y:2},durationMs:150,repeat:`none`}},shy:{variants:{eyes:`shy`,mouth:`small`,blush:`small`},motion:{target:`root`,translate:{x:0,y:1.5},durationMs:150,repeat:`none`}},sleepy:{variants:{eyes:`sleepy`,mouth:`small`,blush:`off`},motion:{target:`root`,translate:{x:0,y:2},durationMs:150,repeat:`none`}},surprised:{variants:{eyes:`surprised`,mouth:`surprised`,blush:`off`},motion:{target:`root`,translate:{x:0,y:-3},durationMs:150,repeat:`none`}},wink:{variants:{mouth:`happy`,blush:`small`},variantChoices:{eyes:[`wink.left`,`wink.right`]},motion:{target:`root`,translate:{x:0,y:-1.5},durationMs:150,repeat:`none`}}},k={idle:{motion:{target:`root`,translate:{y:.5},durationMs:2e3,repeat:`yoyo`},mouseInfluence:1},listening:{motion:{target:`root`,rotate:{x:-.2},durationMs:300,repeat:`yoyo`},mouseInfluence:.3},processing:{mouseInfluence:.2},speaking:{motion:{target:`root`,translate:{y:.5},durationMs:1500,repeat:`yoyo`},mouseInfluence:0,mouthCycle:[{durationMs:100,mouth:`open`},{durationMs:150,mouth:`base`},{durationMs:100,mouth:`open`},{durationMs:200,mouth:`base`}]},thinking:{motion:{target:`root`,rotate:{z:.1},durationMs:800,repeat:`yoyo`},mouseInfluence:0},error:{geometry:{expression:`dead`},mouseInfluence:.1}};export{u as a,E as i,O as n,D as r,k as t};
|
|
1
|
+
import{a as e,n as t,r as n,t as r}from"./document-aOA3zT2S.js";var i=new WeakMap,a=new WeakMap,o=(e,t)=>{a.set(e,t)},s=(e,t)=>{i.set(e,t)},c=e=>{let t=i.get(e);if(!t)throw Error(`Invalid Sprite definition`);return t},l=e=>{let t=a.get(e);if(t===void 0)throw Error(`Invalid Sprite scene node`);return t};function u(n){let i=c(n),a=new Map,o=[],s=(e,n)=>{let r=`node-${String(a.size)}`;a.set(e,r);let i=n===void 0?{id:r,kind:e.kind,options:e.options}:{id:r,parent:n,kind:e.kind,options:e.options};o.push(t.parse(i));for(let t of e.children)s(t,r)};s(i.root);let l=Object.fromEntries([...i.variants].map(([e,t])=>[e,Object.fromEntries([...t].map(([e,t])=>{let n=a.get(t);if(!n)throw Error(`Cannot export a variant outside the scene root`);return[e,n]}))])),u=r.parse({root:a.get(i.root),nodes:o,variants:l,palette:i.palette,expressions:i.expressions,activities:i.activities,defaultPresentation:{activity:i.defaultActivity,expression:i.defaultExpression}});return e.parse(JSON.parse(JSON.stringify({version:1,name:n.name,renderer:`zdog`,controls:Object.fromEntries(Object.entries(i.palette).map(([e,t])=>[e,{type:`color`,label:e,default:t.length===4?`#${t.slice(1).split(``).map(e=>e+e).join(``)}`:t}])),data:u})))}var d=Symbol(`Sprite.SceneNode`),f=(e,t)=>{if(!Number.isFinite(e))throw Error(`Sprite ${t} must be finite`)},p=(e,t)=>{if(e)for(let n of[`x`,`y`,`z`]){let r=e[n];r!==void 0&&f(r,`${t}.${n}`)}},m=(e,t)=>{if(!e.target.trim())throw Error(`Sprite ${t}.target cannot be empty`);if(p(e.translate,`${t}.translate`),p(e.rotate,`${t}.rotate`),e.durationMs!==void 0&&(f(e.durationMs,`${t}.durationMs`),e.durationMs<0))throw Error(`Sprite ${t}.durationMs cannot be negative`)};function h(e){return Array.isArray(e)}function g(e,t=new WeakMap){if(e===null||!(e instanceof Object)||e instanceof Function)return e;let n=e,r=t.get(n);if(r!==void 0)return r;if(h(e)){let r=e.map(e=>g(e,t));return t.set(n,r),Object.freeze(r)}let i={};t.set(n,i);for(let[n,r]of Object.entries(e))i[n]=g(r,t);return Object.freeze(i)}var _=(e,t=new Set)=>{if(e==null||!v(e)||t.has(e))return;let n=e;t.add(n);let r=Object.values(e);for(let e of r)_(e,t);Object.freeze(e)},v=e=>Object(e)===e&&!(e instanceof Function),y=e=>{let t=new Set,n=e=>{if(!t.has(e)){t.add(e);for(let t of e.children)n(t);_(e.options),Object.freeze(e.children),Object.freeze(e)}};n(e)},b=(e,t)=>{for(let[n,r]of e.entries())if(`bezier`in r)for(let[e,i]of r.bezier.entries())f(i.x,`${t}[${String(n)}].bezier[${String(e)}].x`),f(i.y,`${t}[${String(n)}].bezier[${String(e)}].y`),i.z!==void 0&&f(i.z,`${t}[${String(n)}].bezier[${String(e)}].z`);else f(r.x,`${t}[${String(n)}].x`),f(r.y,`${t}[${String(n)}].y`),r.z!==void 0&&f(r.z,`${t}[${String(n)}].z`)},x=e=>e?e<=.5?`small`:e<=.8?`medium`:`big`:`off`,S=(e,t,n)=>{let r=e.get(t);if(!r)throw Error(`Unknown Sprite variant channel: ${t}`);if(!r.has(n))throw Error(`Unknown Sprite variant: ${t}.${n}`)},C=(e,t,n,r)=>{if(e){if(e.expression!==void 0&&!(e.expression in n))throw Error(`Unknown Sprite ${t}.expression: ${e.expression}`);e.eyes!==void 0&&S(r,`eyes`,e.eyes),e.mouth!==void 0&&S(r,`mouth`,e.mouth),e.blush!==void 0&&(f(e.blush,`${t}.blush`),S(r,`blush`,x(e.blush)))}},w=[`idle`,`listening`,`processing`,`speaking`,`thinking`,`error`];new Set(w);var T=()=>{let e=Symbol(`sprite-scene`),t=new Map,n=new Map,r=(n,r={})=>{let i=r.name;if(r.name!==void 0&&(!i||i.trim()===``))throw Error(`Sprite node name cannot be empty`);if(i&&t.has(i))throw Error(`Duplicate Sprite node name: ${i}`);let{parent:a,...s}=r,c=a?l(a):void 0;if(c&&c.owner!==e)throw Error(`Sprite nodes cannot cross scene definitions`);p(r.translate,`translate`),p(r.rotate,`rotate`),p(r.scale,`scale`),r.stroke!==void 0&&r.stroke!==!1&&f(r.stroke,`stroke`);let u={owner:e,kind:n,name:i,parent:c,children:[],options:{...s,translate:r.x!==void 0||r.y!==void 0||r.z!==void 0?{...r.translate,x:r.x??r.translate?.x,y:r.y??r.translate?.y,z:r.z??r.translate?.z}:r.translate}};c&&c.children.push(u),i&&t.set(i,u);let m={[d]:!0};return o(m,u),m};return{scene:{group:(e={})=>r(`group`,e),path:e=>(e.path&&b(e.path,`shape.path`),r(`shape`,e)),ellipse:e=>(f(e.width,`ellipse.width`),f(e.height,`ellipse.height`),r(`ellipse`,e)),hemisphere:e=>(f(e.diameter,`hemisphere.diameter`),r(`hemisphere`,e)),cylinder:e=>(f(e.diameter,`cylinder.diameter`),f(e.length,`cylinder.length`),r(`cylinder`,e))},owner:e,nodes:t,variants:n}};function E(e){if(!Object.is(e.apiVersion,1))throw Error(`Sprite definitions must declare apiVersion: 1`);if(!e.name.trim())throw Error(`Sprite definition name cannot be empty`);if(!Object.keys(e.palette).length)throw Error(`Sprite definitions need a palette`);for(let[t,n]of Object.entries(e.palette))if(!t.trim()||!n.trim())throw Error(`Invalid Sprite palette entry: ${t}`);if(!Object.keys(e.expressions).length)throw Error(`Sprite definitions need an expression`);let t=g({...e,palette:e.palette,expressions:e.expressions,activities:e.activities??{}}),r=T(),i=t.build({scene:r.scene,color:e=>{if(!(e in t.palette))throw Error(`Unknown Sprite palette slot: ${e}`);return`${n}${e}`}});if(Object.is(i,null)||Object.is(i,void 0)||!Object.hasOwn(i,`root`)||Object.is(i.root,null)||Object.is(i.root,void 0))throw Error(`Sprite build must return a root node`);let a=l(i.root);if(a.owner!==r.owner)throw Error(`Sprite root belongs to another definition`);for(let[e,t]of Object.entries(i.variants??{})){let n=new Map;for(let[i,a]of Object.entries(t)){let t=l(a);if(t.owner!==r.owner)throw Error(`Sprite variant is from another definition: ${e}.${i}`);n.set(i,t)}r.variants.set(e,n)}for(let[e,n]of Object.entries(t.expressions)){for(let[e,t]of Object.entries(n.variants??{})){let n=r.variants.get(e);if(!n)throw Error(`Unknown Sprite variant channel: ${e}`);if(!n.has(t))throw Error(`Unknown Sprite variant: ${e}.${t}`)}for(let[t,i]of Object.entries(n.variantChoices??{})){let n=r.variants.get(t);if(!n)throw Error(`Unknown Sprite variant channel: ${t}`);if(!i.length)throw Error(`Sprite expression choices cannot be empty: ${e}.${t}`);for(let e of i)if(!n.has(e))throw Error(`Unknown Sprite variant: ${t}.${e}`)}if(!e.trim())throw Error(`Sprite expression name cannot be empty`)}let o=t.activities;for(let[e,n]of Object.entries(o)){if(!e.trim())throw Error(`Sprite activity name cannot be empty`);if(n.motion&&(m(n.motion,`activity.${e}.motion`),!r.nodes.has(n.motion.target)))throw Error(`Unknown Sprite activity target: ${n.motion.target}`);n.mouseInfluence!==void 0&&f(n.mouseInfluence,`activity.${e}.mouseInfluence`),C(n.geometry,`activity.${e}.geometry`,t.expressions,r.variants);for(let[t,r]of(n.mouthCycle??[]).entries())if(f(r.durationMs,`activity.${e}.mouthCycle[${String(t)}].durationMs`),r.durationMs<0)throw Error(`Sprite activity.${e}.mouthCycle[${String(t)}].durationMs cannot be negative`)}for(let[e,n]of Object.entries(t.expressions))if(n.blush!==void 0&&(f(n.blush,`expression.${e}.blush`),S(r.variants,`blush`,x(n.blush))),n.motion&&(m(n.motion,`expression.${e}.motion`),!r.nodes.has(n.motion.target)))throw Error(`Unknown Sprite expression target: ${n.motion.target}`);let c=Object.keys(t.expressions)[0],u=t.defaultPresentation?.expression??c;if(!u||!(u in t.expressions))throw Error(`Unknown Sprite default expression: ${String(u)}`);let d=t.defaultPresentation?.activity??`idle`;if(t.defaultPresentation?.activity!==void 0&&!w.some(e=>e===d)&&!(d in o))throw Error(`Unknown Sprite default activity: ${d}`);for(let e of r.nodes.values())y(e);let p=t,h=new Set;for(let e of r.variants.values())for(let t of e.values())h.add(t);return s(p,{owner:r.owner,root:a,nodesByName:r.nodes,variants:r.variants,variantNodes:h,palette:t.palette,activities:o,expressions:t.expressions,defaultActivity:d,defaultExpression:u}),p}var D=(e,t,n,r={})=>{let i=e.group({parent:n,name:`eyes`}),a={parent:n,name:`mouth`};r.mouthTranslate!==void 0&&Object.assign(a,{translate:r.mouthTranslate});let o=r.hideMouth?void 0:e.group(a),s=(n,r,a,o,s,c,l)=>{let u=e.group({parent:i,name:`eyes.${n}`});for(let n of[-1,1]){let i={parent:u,translate:{x:6*n,y:o}};s&&Object.assign(i,{rotate:{z:s*n}});let d=e.group(i);e.ellipse({parent:d,width:r,height:a,stroke:1.5,fill:!0,color:t(`eye`)}),e.ellipse({parent:d,width:c,height:l,stroke:.5,fill:!0,color:t(`white`),translate:{y:-l/2,z:1}})}return u},c={normal:s(`normal`,3,5,-2,0,1.5,2),sad:s(`sad`,3,4,-1,-.2,1.5,2),surprised:s(`surprised`,4,5,-2,0,1.5,2)},l=e.group({parent:i,name:`eyes.happy`});for(let n of[-1,1])e.path({parent:l,path:[{x:-2.5,y:2},{bezier:[{x:-1,y:-1.5},{x:1,y:-1.5},{x:2.5,y:2}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*n,y:-2}});let u=e.group({parent:i,name:`eyes.angry`});for(let n of[-1,1]){let r=e.group({parent:u,rotate:{z:.3*n},translate:{x:6*n,y:-1}});e.ellipse({parent:r,width:3,height:4,stroke:1.5,fill:!0,color:t(`eye`)}),e.path({parent:r,path:[{x:-3,y:-3},{x:3,y:-2}],stroke:1.5,color:t(`eye`),translate:{y:-1}})}let d=e.group({parent:i,name:`eyes.dead`});for(let n of[-1,1]){let r=e.group({parent:d,translate:{x:6*n,y:-2}});e.path({parent:r,path:[{x:-2,y:-3},{x:2,y:3}],stroke:1.5,color:t(`dead`)}),e.path({parent:r,path:[{x:2,y:-3},{x:-2,y:3}],stroke:1.5,color:t(`dead`)})}let f=e.group({parent:i,name:`eyes.confused`}),p=e.group({parent:f,translate:{x:-6,y:-2}});e.ellipse({parent:p,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)}),e.path({parent:p,path:[{x:-3,y:-4},{x:3,y:-2}],stroke:1.5,color:t(`eye`)});let m=e.group({parent:f,translate:{x:6,y:-2}});e.ellipse({parent:m,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)});let h=e.group({parent:i,name:`eyes.sleepy`});for(let n of[-1,1])e.path({parent:h,path:[{x:-2.5,y:1},{bezier:[{x:-1,y:0},{x:1,y:0},{x:2.5,y:1}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*n,y:-1}});let g=e.group({parent:i,name:`eyes.nervous`});for(let n of[-1,1]){let r=e.group({parent:g,translate:{x:6*n,y:-2}});e.ellipse({parent:r,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`)})}let _=e.group({parent:g,translate:{x:10,y:4}});e.path({parent:_,path:[{x:0,y:-4}],stroke:2,color:t(`sweat`)}),e.ellipse({parent:_,width:3,height:4,stroke:0,fill:!0,color:t(`sweat`),translate:{y:2}});let v=e.group({parent:i,name:`eyes.shy`});for(let n of[-1,1])e.ellipse({parent:v,width:2.5,height:2,stroke:1.5,fill:!0,color:t(`eye`),translate:{x:6*n,y:-2}});let y=e.group({parent:i,name:`eyes.cute`});for(let n of[-1,1]){let r=e.group({parent:y,translate:{x:6*n,y:-1}});e.ellipse({parent:r,width:5,height:6,stroke:1.5,fill:!0,color:t(`eye`)}),e.ellipse({parent:r,width:2.5,height:3,stroke:0,fill:!0,color:t(`white`),translate:{y:-1.5,z:1}}),e.ellipse({parent:r,width:1,height:1,stroke:0,fill:!0,color:t(`white`),translate:{x:-1.5,y:1.5,z:1}})}let b=e.group({parent:i,name:`eyes.wink`}),x=n=>{let r=e.group({parent:b,name:`eyes.wink.${n}`}),i=n===`left`?-1:1;return e.path({parent:r,path:[{x:-2.5,y:2},{bezier:[{x:-1,y:-1.5},{x:1,y:-1.5},{x:2.5,y:2}]}],closed:!1,stroke:1.5,color:t(`eye`),translate:{x:6*i,y:-2}}),e.ellipse({parent:r,width:3,height:5,stroke:1.5,fill:!0,color:t(`eye`),translate:{x:-6*i,y:-2}}),r},S=x(`left`),C=x(`right`),w=(()=>{if(!o)return{};let n=(n,r,i=1.5)=>e.path({parent:o,name:`mouth.${n}`,path:r,closed:!1,stroke:i,color:t(`mouth`),translate:{y:2}}),r={normal:n(`normal`,[{x:-2.5,y:0},{x:2.5,y:0}]),happy:n(`happy`,[{x:-2.5,y:2},{bezier:[{x:0,y:4},{x:2.5,y:2},{x:2.5,y:2}]}]),sad:n(`sad`,[{x:-2.5,y:2},{bezier:[{x:0,y:0},{x:2.5,y:2},{x:2.5,y:2}]}]),small:n(`small`,[{x:-1.5,y:0},{x:1.5,y:0}],1),worried:n(`worried`,[{x:-2,y:1},{bezier:[{x:-.5,y:.5},{x:.5,y:.5},{x:2,y:1}]}],1)},i=e.ellipse({parent:o,name:`mouth.pout`,width:2,height:2.5,stroke:1.5,fill:!0,color:t(`mouth`),translate:{y:3}}),a=e.ellipse({parent:o,name:`mouth.surprised`,width:3,height:4,stroke:1.5,fill:!0,color:t(`mouth`),translate:{y:3}}),s=e.group({parent:o,name:`mouth.dead`,translate:{y:5}});e.ellipse({parent:s,width:3,height:2,stroke:1.5,fill:!0,color:t(`dead`)}),e.ellipse({parent:s,width:1.5,height:1,stroke:0,fill:!0,color:t(`deadTongue`),translate:{y:.5}});let c=e.group({parent:o,name:`mouth.open`,translate:{y:2}});return e.ellipse({parent:c,width:6,height:4,stroke:1.5,fill:!0,color:t(`mouth`)}),e.ellipse({parent:c,name:`mouth.tongue`,width:3,height:1.5,stroke:0,fill:!0,color:t(`tongue`),translate:{y:1}}),{normal:r.normal,happy:r.happy,sad:r.sad,angry:r.sad,surprised:a,dead:s,small:r.small,worried:r.worried,pout:i,open:c}})(),T=(r,i,a,o,s)=>{let c=e.group({parent:n,name:`blush.${r}`});for(let n of[-1,1])e.ellipse({parent:c,width:i,height:a,stroke:o,fill:!0,color:t(`blush`),translate:{x:s*n,y:4}});return c},E=e.group({parent:n,name:`blush.off`}),D=r.blushMode===`none`?{off:E,small:E,medium:E,big:E}:(()=>{let e=T(`medium`,5,2.5,1,10);return r.blushMode===`medium-alias`?{off:E,small:e,medium:e,big:e}:{off:E,small:T(`small`,3.5,1.8,1,9),medium:e,big:T(`big`,7,3.5,2,11)}})();return{eyes:{normal:c.normal,happy:l,sad:c.sad,angry:u,surprised:c.surprised,dead:d,confused:f,sleepy:h,nervous:g,shy:v,wink:S,cute:y,"wink.left":S,"wink.right":C},mouth:w,blush:D}},O={angry:{variants:{eyes:`angry`,mouth:`angry`,blush:`off`},motion:{target:`root`,translate:{x:1,y:0},durationMs:150,repeat:`none`}},confused:{variants:{eyes:`confused`,mouth:`normal`,blush:`off`},motion:{target:`root`,translate:{x:0,y:.5},durationMs:150,repeat:`none`}},cute:{variants:{eyes:`cute`,mouth:`happy`,blush:`big`},motion:{target:`root`,translate:{x:0,y:-2.5},durationMs:150,repeat:`none`}},dead:{variants:{eyes:`dead`,mouth:`dead`,blush:`off`}},happy:{variants:{eyes:`happy`,mouth:`happy`,blush:`medium`},motion:{target:`root`,translate:{x:0,y:-2},durationMs:150,repeat:`none`}},nervous:{variants:{eyes:`nervous`,mouth:`worried`,blush:`off`},motion:{target:`root`,translate:{x:-.5,y:-1},durationMs:150,repeat:`none`}},normal:{variants:{eyes:`normal`,mouth:`normal`,blush:`off`},motion:{target:`root`,translate:{x:0,y:1},durationMs:150,repeat:`none`}},pleading:{variants:{eyes:`cute`,mouth:`pout`,blush:`medium`},motion:{target:`root`,translate:{x:0,y:-1},durationMs:150,repeat:`none`}},sad:{variants:{eyes:`sad`,mouth:`sad`,blush:`off`},motion:{target:`root`,translate:{x:0,y:2},durationMs:150,repeat:`none`}},shy:{variants:{eyes:`shy`,mouth:`small`,blush:`small`},motion:{target:`root`,translate:{x:0,y:1.5},durationMs:150,repeat:`none`}},sleepy:{variants:{eyes:`sleepy`,mouth:`small`,blush:`off`},motion:{target:`root`,translate:{x:0,y:2},durationMs:150,repeat:`none`}},surprised:{variants:{eyes:`surprised`,mouth:`surprised`,blush:`off`},motion:{target:`root`,translate:{x:0,y:-3},durationMs:150,repeat:`none`}},wink:{variants:{mouth:`happy`,blush:`small`},variantChoices:{eyes:[`wink.left`,`wink.right`]},motion:{target:`root`,translate:{x:0,y:-1.5},durationMs:150,repeat:`none`}}},k={idle:{motion:{target:`root`,translate:{y:.5},durationMs:2e3,repeat:`yoyo`},mouseInfluence:1},listening:{motion:{target:`root`,rotate:{x:-.2},durationMs:300,repeat:`yoyo`},mouseInfluence:.3},processing:{mouseInfluence:.2},speaking:{motion:{target:`root`,translate:{y:.5},durationMs:1500,repeat:`yoyo`},mouseInfluence:0,mouthCycle:[{durationMs:100,mouth:`open`},{durationMs:150,mouth:`base`},{durationMs:100,mouth:`open`},{durationMs:200,mouth:`base`}]},thinking:{motion:{target:`root`,rotate:{z:.1},durationMs:800,repeat:`yoyo`},mouseInfluence:0},error:{geometry:{expression:`dead`},mouseInfluence:.1}};export{u as a,E as i,O as n,D as r,k as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./document-aOA3zT2S.js";import{t}from"./renderer-bYZ9SYm9.js";import{a as n,i as r}from"./base-face-CD4oLBv-.js";import{n as i}from"./index-cUekAmc6.js";var a=r(i),o={document:e.parse(n(a)),render:t};export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./document-aOA3zT2S.js";import{t}from"./renderer-bYZ9SYm9.js";import{a as n,i as r}from"./base-face-CD4oLBv-.js";import{t as i}from"./index-cUekAmc6.js";var a=r(i),o={document:e.parse(n(a)),render:t};export{o as default};
|