@oxy.so/bloom 7.1.4 → 7.2.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/assets/character-runtime/README.md +19 -114
- package/assets/character-runtime/legacy-engine.mjs +54 -406
- package/assets/character-runtime/legacy-geometry.mjs +85 -242
- package/assets/character-runtime/legacy-worker.mjs +23 -82
- package/assets/character-runtime/managed-avatar.mjs +18 -12
- package/assets/character-runtime/render-budget.mjs +11 -6
- package/assets/character-runtime/runtime.mjs +295 -744
- package/docs/adoption-matrix.mdx +12 -11
- package/docs/agent-avatar.mdx +8 -45
- package/docs/agent-creator.mdx +3 -13
- package/docs/app-shell.mdx +26 -2
- package/docs/appearance.mdx +16 -1
- package/docs/content-panel.mdx +4 -0
- package/docs/mail-thread.mdx +8 -0
- package/docs/page-footer.mdx +60 -0
- package/docs/sidebar.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 +1 -2
- package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -1
- package/lib/commonjs/agent-avatar/config-character.js +0 -4
- package/lib/commonjs/agent-avatar/config-character.js.map +1 -1
- package/lib/commonjs/agent-avatar/legacy-recipe.js +6 -19
- package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -1
- package/lib/commonjs/agent-creator/AgentCreatorBase.js +107 -67
- package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
- package/lib/commonjs/agent-creator/CharacterControls.js +5 -23
- package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -1
- package/lib/commonjs/agent-creator/EmotionPicker.js +1 -8
- package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
- package/lib/commonjs/agent-creator/ShapeSilhouette.js +1 -8
- package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -1
- package/lib/commonjs/agent-creator/constants.js +17 -16
- 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/app-shell/AppShell.js +3 -2
- package/lib/commonjs/app-shell/AppShell.js.map +1 -1
- package/lib/commonjs/app-shell/AppShellBars.js +8 -5
- package/lib/commonjs/app-shell/AppShellBars.js.map +1 -1
- package/lib/commonjs/app-shell/AppShellEngine.js +81 -36
- package/lib/commonjs/app-shell/AppShellEngine.js.map +1 -1
- package/lib/commonjs/appearance/BloomScope.js +8 -3
- package/lib/commonjs/appearance/BloomScope.js.map +1 -1
- package/lib/commonjs/appearance/context.js.map +1 -1
- package/lib/commonjs/content-panel/ContentPanel.js +34 -23
- package/lib/commonjs/content-panel/ContentPanel.js.map +1 -1
- package/lib/commonjs/content-panel/ContentPanel.web.js +39 -17
- package/lib/commonjs/content-panel/ContentPanel.web.js.map +1 -1
- package/lib/commonjs/design-tokens/shapes.js +2 -2
- package/lib/commonjs/design-tokens/shapes.js.map +1 -1
- package/lib/commonjs/design-tokens/tokens.json +2 -2
- package/lib/commonjs/index.js +939 -927
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +939 -927
- package/lib/commonjs/index.web.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/mail-thread/MailMessage.js +8 -14
- package/lib/commonjs/mail-thread/MailMessage.js.map +1 -1
- package/lib/commonjs/mail-thread/MailThread.js +6 -2
- package/lib/commonjs/mail-thread/MailThread.js.map +1 -1
- package/lib/commonjs/mail-thread/shared.js +2 -1
- package/lib/commonjs/mail-thread/shared.js.map +1 -1
- package/lib/commonjs/page-footer/PageFooter.js +137 -0
- package/lib/commonjs/page-footer/PageFooter.js.map +1 -0
- package/lib/commonjs/page-footer/PageFooterProvider.js +22 -0
- package/lib/commonjs/page-footer/PageFooterProvider.js.map +1 -0
- package/lib/commonjs/page-footer/context.js +11 -0
- package/lib/commonjs/page-footer/context.js.map +1 -0
- package/lib/commonjs/page-footer/index.js +27 -0
- package/lib/commonjs/page-footer/index.js.map +1 -0
- package/lib/commonjs/page-footer/types.js +6 -0
- package/lib/commonjs/page-footer/types.js.map +1 -0
- package/lib/commonjs/page-footer/use-page-footer-inset.js +19 -0
- package/lib/commonjs/page-footer/use-page-footer-inset.js.map +1 -0
- package/lib/commonjs/sidebar/Sidebar.js +6 -5
- package/lib/commonjs/sidebar/Sidebar.js.map +1 -1
- package/lib/commonjs/styles/panel-chrome.js +15 -1
- package/lib/commonjs/styles/panel-chrome.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 +1 -2
- package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -1
- package/lib/module/agent-avatar/config-character.js +0 -4
- package/lib/module/agent-avatar/config-character.js.map +1 -1
- package/lib/module/agent-avatar/legacy-recipe.js +6 -19
- package/lib/module/agent-avatar/legacy-recipe.js.map +1 -1
- package/lib/module/agent-creator/AgentCreatorBase.js +109 -69
- package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
- package/lib/module/agent-creator/CharacterControls.js +6 -24
- package/lib/module/agent-creator/CharacterControls.js.map +1 -1
- package/lib/module/agent-creator/EmotionPicker.js +1 -8
- package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
- package/lib/module/agent-creator/ShapeSilhouette.js +1 -8
- package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -1
- package/lib/module/agent-creator/constants.js +16 -8
- 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/app-shell/AppShell.js +3 -2
- package/lib/module/app-shell/AppShell.js.map +1 -1
- package/lib/module/app-shell/AppShellBars.js +8 -5
- package/lib/module/app-shell/AppShellBars.js.map +1 -1
- package/lib/module/app-shell/AppShellEngine.js +81 -36
- package/lib/module/app-shell/AppShellEngine.js.map +1 -1
- package/lib/module/appearance/BloomScope.js +8 -3
- package/lib/module/appearance/BloomScope.js.map +1 -1
- package/lib/module/appearance/context.js.map +1 -1
- package/lib/module/content-panel/ContentPanel.js +35 -24
- package/lib/module/content-panel/ContentPanel.js.map +1 -1
- package/lib/module/content-panel/ContentPanel.web.js +41 -19
- package/lib/module/content-panel/ContentPanel.web.js.map +1 -1
- package/lib/module/design-tokens/shapes.js +2 -2
- package/lib/module/design-tokens/shapes.js.map +1 -1
- package/lib/module/design-tokens/tokens.json +2 -2
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -0
- package/lib/module/index.web.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/mail-thread/MailMessage.js +8 -14
- package/lib/module/mail-thread/MailMessage.js.map +1 -1
- package/lib/module/mail-thread/MailThread.js +6 -2
- package/lib/module/mail-thread/MailThread.js.map +1 -1
- package/lib/module/mail-thread/shared.js +2 -1
- package/lib/module/mail-thread/shared.js.map +1 -1
- package/lib/module/page-footer/PageFooter.js +132 -0
- package/lib/module/page-footer/PageFooter.js.map +1 -0
- package/lib/module/page-footer/PageFooterProvider.js +18 -0
- package/lib/module/page-footer/PageFooterProvider.js.map +1 -0
- package/lib/module/page-footer/context.js +7 -0
- package/lib/module/page-footer/context.js.map +1 -0
- package/lib/module/page-footer/index.js +6 -0
- package/lib/module/page-footer/index.js.map +1 -0
- package/lib/module/page-footer/types.js +4 -0
- package/lib/module/page-footer/types.js.map +1 -0
- package/lib/module/page-footer/use-page-footer-inset.js +16 -0
- package/lib/module/page-footer/use-page-footer-inset.js.map +1 -0
- package/lib/module/sidebar/Sidebar.js +6 -5
- package/lib/module/sidebar/Sidebar.js.map +1 -1
- package/lib/module/styles/panel-chrome.js +14 -1
- package/lib/module/styles/panel-chrome.js.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +0 -4
- package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +10 -2
- 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 +1 -2
- package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -1
- package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +0 -1
- 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/constants.d.ts +15 -7
- 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/app-shell/AppShellBars.d.ts +4 -0
- package/lib/typescript/commonjs/app-shell/AppShellBars.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/AppShellEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/types.d.ts +11 -3
- package/lib/typescript/commonjs/app-shell/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/appearance/BloomScope.d.ts +1 -1
- package/lib/typescript/commonjs/appearance/BloomScope.d.ts.map +1 -1
- package/lib/typescript/commonjs/appearance/context.d.ts +2 -2
- package/lib/typescript/commonjs/appearance/context.d.ts.map +1 -1
- package/lib/typescript/commonjs/appearance/types.d.ts +4 -1
- package/lib/typescript/commonjs/appearance/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/ContentPanel.d.ts +3 -4
- package/lib/typescript/commonjs/content-panel/ContentPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/ContentPanel.web.d.ts +1 -1
- package/lib/typescript/commonjs/content-panel/ContentPanel.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/types.d.ts +2 -2
- package/lib/typescript/commonjs/design-tokens/shapes.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/mail-thread/MailMessage.d.ts.map +1 -1
- package/lib/typescript/commonjs/mail-thread/MailThread.d.ts +1 -1
- package/lib/typescript/commonjs/mail-thread/MailThread.d.ts.map +1 -1
- package/lib/typescript/commonjs/mail-thread/shared.d.ts +1 -1
- package/lib/typescript/commonjs/mail-thread/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/mail-thread/types.d.ts +2 -0
- package/lib/typescript/commonjs/mail-thread/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/page-footer/PageFooter.d.ts +7 -0
- package/lib/typescript/commonjs/page-footer/PageFooter.d.ts.map +1 -0
- package/lib/typescript/commonjs/page-footer/PageFooterProvider.d.ts +4 -0
- package/lib/typescript/commonjs/page-footer/PageFooterProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/page-footer/context.d.ts +3 -0
- package/lib/typescript/commonjs/page-footer/context.d.ts.map +1 -0
- package/lib/typescript/commonjs/page-footer/index.d.ts +5 -0
- package/lib/typescript/commonjs/page-footer/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/page-footer/types.d.ts +26 -0
- package/lib/typescript/commonjs/page-footer/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/page-footer/use-page-footer-inset.d.ts +7 -0
- package/lib/typescript/commonjs/page-footer/use-page-footer-inset.d.ts.map +1 -0
- package/lib/typescript/commonjs/sidebar/Sidebar.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/types.d.ts +1 -1
- package/lib/typescript/commonjs/styles/panel-chrome.d.ts +5 -0
- package/lib/typescript/commonjs/styles/panel-chrome.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/config-character.d.ts +0 -4
- package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -1
- package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +10 -2
- 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 +1 -2
- package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -1
- package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +0 -1
- 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/constants.d.ts +15 -7
- 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/app-shell/AppShellBars.d.ts +4 -0
- package/lib/typescript/module/app-shell/AppShellBars.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/AppShellEngine.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/types.d.ts +11 -3
- package/lib/typescript/module/app-shell/types.d.ts.map +1 -1
- package/lib/typescript/module/appearance/BloomScope.d.ts +1 -1
- package/lib/typescript/module/appearance/BloomScope.d.ts.map +1 -1
- package/lib/typescript/module/appearance/context.d.ts +2 -2
- package/lib/typescript/module/appearance/context.d.ts.map +1 -1
- package/lib/typescript/module/appearance/types.d.ts +4 -1
- package/lib/typescript/module/appearance/types.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/ContentPanel.d.ts +3 -4
- package/lib/typescript/module/content-panel/ContentPanel.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/ContentPanel.web.d.ts +1 -1
- package/lib/typescript/module/content-panel/ContentPanel.web.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/types.d.ts +2 -2
- package/lib/typescript/module/design-tokens/shapes.d.ts +2 -2
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/mail-thread/MailMessage.d.ts.map +1 -1
- package/lib/typescript/module/mail-thread/MailThread.d.ts +1 -1
- package/lib/typescript/module/mail-thread/MailThread.d.ts.map +1 -1
- package/lib/typescript/module/mail-thread/shared.d.ts +1 -1
- package/lib/typescript/module/mail-thread/shared.d.ts.map +1 -1
- package/lib/typescript/module/mail-thread/types.d.ts +2 -0
- package/lib/typescript/module/mail-thread/types.d.ts.map +1 -1
- package/lib/typescript/module/page-footer/PageFooter.d.ts +7 -0
- package/lib/typescript/module/page-footer/PageFooter.d.ts.map +1 -0
- package/lib/typescript/module/page-footer/PageFooterProvider.d.ts +4 -0
- package/lib/typescript/module/page-footer/PageFooterProvider.d.ts.map +1 -0
- package/lib/typescript/module/page-footer/context.d.ts +3 -0
- package/lib/typescript/module/page-footer/context.d.ts.map +1 -0
- package/lib/typescript/module/page-footer/index.d.ts +5 -0
- package/lib/typescript/module/page-footer/index.d.ts.map +1 -0
- package/lib/typescript/module/page-footer/types.d.ts +26 -0
- package/lib/typescript/module/page-footer/types.d.ts.map +1 -0
- package/lib/typescript/module/page-footer/use-page-footer-inset.d.ts +7 -0
- package/lib/typescript/module/page-footer/use-page-footer-inset.d.ts.map +1 -0
- package/lib/typescript/module/sidebar/Sidebar.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/types.d.ts +1 -1
- package/lib/typescript/module/styles/panel-chrome.d.ts +5 -0
- package/lib/typescript/module/styles/panel-chrome.d.ts.map +1 -1
- package/package.json +18 -1
- package/src/__tests__/support/adoption-matrix.ts +683 -0
- package/src/__tests__/support/card-surface.ts +25 -0
- package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
- package/src/__tests__/support/commerce-harness.tsx +97 -0
- package/src/__tests__/support/composite.ts +68 -0
- package/src/__tests__/support/constructed-style-sheets.ts +68 -0
- package/src/__tests__/support/messages-in.ts +10 -0
- package/src/__tests__/support/press-host.ts +30 -0
- package/src/__tests__/support/rendered-style.ts +99 -0
- package/src/__tests__/support/unread-hook-fixture.ts +33 -0
- package/src/__tests__/support/worklet-capture-fixture.tsx +28 -0
- package/src/agent-avatar/AgentAvatar.tsx +1 -1
- package/src/agent-avatar/CharacterAvatar.tsx +1 -4
- package/src/agent-avatar/__tests__/artwork-golden.json +774 -0
- package/src/agent-avatar/config-character.ts +6 -39
- package/src/agent-avatar/legacy-recipe.ts +6 -34
- package/src/agent-creator/AgentCreatorBase.tsx +152 -121
- package/src/agent-creator/CharacterControls.tsx +14 -39
- package/src/agent-creator/EmotionPicker.tsx +16 -55
- package/src/agent-creator/ShapeSilhouette.tsx +1 -16
- package/src/agent-creator/__tests__/support/character-runtime-fixture.tsx +26 -0
- package/src/agent-creator/constants.ts +14 -47
- package/src/agent-creator/messages.ts +1 -2
- package/src/app-shell/AppShell.tsx +2 -2
- package/src/app-shell/AppShellBars.tsx +6 -4
- package/src/app-shell/AppShellEngine.tsx +51 -18
- package/src/app-shell/types.ts +11 -3
- package/src/appearance/BloomScope.tsx +5 -2
- package/src/appearance/context.ts +2 -2
- package/src/appearance/types.ts +4 -1
- package/src/content-panel/ContentPanel.tsx +32 -25
- package/src/content-panel/ContentPanel.web.tsx +32 -23
- package/src/content-panel/types.ts +2 -2
- package/src/design-tokens/shapes.ts +1 -1
- package/src/design-tokens/tokens.json +2 -2
- package/src/index.ts +1 -0
- package/src/index.web.ts +1 -0
- 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/mail-thread/MailMessage.tsx +9 -11
- package/src/mail-thread/MailThread.tsx +3 -1
- package/src/mail-thread/shared.ts +2 -1
- package/src/mail-thread/types.ts +2 -0
- package/src/page-footer/PageFooter.tsx +96 -0
- package/src/page-footer/PageFooterProvider.tsx +9 -0
- package/src/page-footer/context.ts +6 -0
- package/src/page-footer/index.ts +4 -0
- package/src/page-footer/types.ts +26 -0
- package/src/page-footer/use-page-footer-inset.ts +17 -0
- package/src/sidebar/Sidebar.tsx +5 -4
- package/src/sidebar/types.ts +1 -1
- package/src/styles/panel-chrome.ts +9 -1
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +9346 -0
- package/src/theme/__tests__/__fixtures__/tonal-glass-primary-failures.json +69 -0
- package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
- package/assets/character-runtime/authored-parts.mjs +0 -754
- package/assets/character-runtime/catalog-parts.mjs +0 -362
- package/assets/character-runtime/character-recipe.mjs +0 -247
- package/assets/character-runtime/clippo-geometry.mjs +0 -679
- package/assets/character-runtime/controller-mode.mjs +0 -208
- package/assets/character-runtime/cyclops-geometry.mjs +0 -180
- package/assets/character-runtime/migrated-contours.mjs +0 -2067
- package/assets/character-runtime/migrated-faces.mjs +0 -59
- package/assets/character-runtime/pose-transition.mjs +0 -523
- package/assets/character-runtime/preparation-cache.mjs +0 -60
- package/assets/character-runtime/render-errors.mjs +0 -180
- package/assets/character-runtime/resolution.mjs +0 -10
- package/assets/character-runtime/sha256.mjs +0 -44
- package/assets/character-runtime/shared-programs.mjs +0 -534
- package/assets/character-runtime/shared-surface.mjs +0 -490
- package/assets/character-runtime/shared-textures.mjs +0 -420
- package/assets/character-runtime/thumbnails/eyes/todd.png +0 -0
- package/lib/commonjs/agent-avatar/character-colors.js +0 -19
- package/lib/commonjs/agent-avatar/character-colors.js.map +0 -1
- package/lib/commonjs/agent-avatar/character-shapes.js +0 -106
- package/lib/commonjs/agent-avatar/character-shapes.js.map +0 -1
- package/lib/commonjs/agent-creator/ClippoArtwork.js +0 -63
- package/lib/commonjs/agent-creator/ClippoArtwork.js.map +0 -1
- package/lib/commonjs/agent-creator/CyclopsArtwork.js +0 -45
- package/lib/commonjs/agent-creator/CyclopsArtwork.js.map +0 -1
- package/lib/commonjs/agent-creator/ToddArtwork.js +0 -29
- package/lib/commonjs/agent-creator/ToddArtwork.js.map +0 -1
- package/lib/module/agent-avatar/character-colors.js +0 -15
- package/lib/module/agent-avatar/character-colors.js.map +0 -1
- package/lib/module/agent-avatar/character-shapes.js +0 -97
- package/lib/module/agent-avatar/character-shapes.js.map +0 -1
- package/lib/module/agent-creator/ClippoArtwork.js +0 -59
- package/lib/module/agent-creator/ClippoArtwork.js.map +0 -1
- package/lib/module/agent-creator/CyclopsArtwork.js +0 -41
- package/lib/module/agent-creator/CyclopsArtwork.js.map +0 -1
- package/lib/module/agent-creator/ToddArtwork.js +0 -25
- package/lib/module/agent-creator/ToddArtwork.js.map +0 -1
- package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts +0 -13
- package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts.map +0 -1
- package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts +0 -19
- package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts.map +0 -1
- package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts +0 -6
- package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts.map +0 -1
- package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts +0 -5
- package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts.map +0 -1
- package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts +0 -6
- package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts.map +0 -1
- package/lib/typescript/module/agent-avatar/character-colors.d.ts +0 -13
- package/lib/typescript/module/agent-avatar/character-colors.d.ts.map +0 -1
- package/lib/typescript/module/agent-avatar/character-shapes.d.ts +0 -19
- package/lib/typescript/module/agent-avatar/character-shapes.d.ts.map +0 -1
- package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts +0 -6
- package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts.map +0 -1
- package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts +0 -5
- package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts.map +0 -1
- package/lib/typescript/module/agent-creator/ToddArtwork.d.ts +0 -6
- package/lib/typescript/module/agent-creator/ToddArtwork.d.ts.map +0 -1
- package/src/agent-avatar/character-colors.ts +0 -12
- package/src/agent-avatar/character-shapes.ts +0 -122
- package/src/agent-creator/ClippoArtwork.tsx +0 -49
- package/src/agent-creator/CyclopsArtwork.tsx +0 -27
- package/src/agent-creator/ToddArtwork.tsx +0 -24
|
@@ -1,420 +0,0 @@
|
|
|
1
|
-
// Exact-content sharing for the original engine's two immutable 512px assets
|
|
2
|
-
// and its 576x960 RGBA8 atlas. Only these observed storage layouts are admitted.
|
|
3
|
-
// All other textures retain independent native storage. Render targets never
|
|
4
|
-
// share. Logical objects keep Emscripten's mutable metadata (.name) independent.
|
|
5
|
-
export function createSharedTexturePool(gl) {
|
|
6
|
-
const textures = new WeakMap(),
|
|
7
|
-
physicalEntries = new WeakMap(),
|
|
8
|
-
live = new Set(),
|
|
9
|
-
entries = new Set();
|
|
10
|
-
const cache = new Map(),
|
|
11
|
-
bindings = new Map(),
|
|
12
|
-
methods = new Map();
|
|
13
|
-
const unpackNames = [
|
|
14
|
-
'UNPACK_ALIGNMENT',
|
|
15
|
-
'UNPACK_FLIP_Y_WEBGL',
|
|
16
|
-
'UNPACK_PREMULTIPLY_ALPHA_WEBGL',
|
|
17
|
-
'UNPACK_COLORSPACE_CONVERSION_WEBGL',
|
|
18
|
-
'UNPACK_ROW_LENGTH',
|
|
19
|
-
'UNPACK_IMAGE_HEIGHT',
|
|
20
|
-
'UNPACK_SKIP_PIXELS',
|
|
21
|
-
'UNPACK_SKIP_ROWS',
|
|
22
|
-
'UNPACK_SKIP_IMAGES',
|
|
23
|
-
];
|
|
24
|
-
const unpack = new Map(
|
|
25
|
-
unpackNames.map((name) => [gl[name], gl.getParameter(gl[name])]),
|
|
26
|
-
);
|
|
27
|
-
let unit = gl.getParameter(gl.ACTIVE_TEXTURE),
|
|
28
|
-
unpackBuffer = null,
|
|
29
|
-
disposed = false;
|
|
30
|
-
let hits = 0,
|
|
31
|
-
copies = 0;
|
|
32
|
-
const key = (target) => `${unit}:${target}`;
|
|
33
|
-
const current = (target) => bindings.get(key(target));
|
|
34
|
-
function equalBytes(a, b) {
|
|
35
|
-
if (!a || !b || a.length !== b.length) return false;
|
|
36
|
-
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
function removeCache(entry) {
|
|
40
|
-
if (!entry.key) return;
|
|
41
|
-
const bucket = cache.get(entry.key);
|
|
42
|
-
bucket?.delete(entry);
|
|
43
|
-
if (!bucket?.size) cache.delete(entry.key);
|
|
44
|
-
entry.key = null;
|
|
45
|
-
entry.snapshot = null;
|
|
46
|
-
}
|
|
47
|
-
function release(entry, record) {
|
|
48
|
-
entry.refs.delete(record);
|
|
49
|
-
if (entry.refs.size) return;
|
|
50
|
-
removeCache(entry);
|
|
51
|
-
entries.delete(entry);
|
|
52
|
-
physicalEntries.delete(entry.real);
|
|
53
|
-
gl.deleteTexture(entry.real);
|
|
54
|
-
}
|
|
55
|
-
function own(real, record) {
|
|
56
|
-
const entry = { real, refs: new Set([record]), key: null, snapshot: null };
|
|
57
|
-
entries.add(entry);
|
|
58
|
-
physicalEntries.set(real, entry);
|
|
59
|
-
return entry;
|
|
60
|
-
}
|
|
61
|
-
function rebind(record) {
|
|
62
|
-
for (const [binding, value] of bindings) {
|
|
63
|
-
if (value !== record) continue;
|
|
64
|
-
const [at, target] = binding.split(':').map(Number);
|
|
65
|
-
gl.activeTexture(at);
|
|
66
|
-
gl.bindTexture(target, record.entry.real);
|
|
67
|
-
}
|
|
68
|
-
gl.activeTexture(unit);
|
|
69
|
-
}
|
|
70
|
-
function makePrivate(record) {
|
|
71
|
-
if (!record || record.deleted) return;
|
|
72
|
-
const previous = record.entry;
|
|
73
|
-
if (previous.refs.size === 1) {
|
|
74
|
-
removeCache(previous);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// Only a completed, fully captured candidate can have multiple owners.
|
|
78
|
-
const previousBinding = gl.getParameter(gl.TEXTURE_BINDING_2D);
|
|
79
|
-
const real = gl.createTexture();
|
|
80
|
-
gl.bindTexture(record.target, real);
|
|
81
|
-
gl.texStorage2D(...record.storage);
|
|
82
|
-
if (unpackBuffer) gl.bindBuffer(gl.PIXEL_UNPACK_BUFFER, null);
|
|
83
|
-
for (const [parameter, value] of record.uploadUnpack)
|
|
84
|
-
gl.pixelStorei(parameter, value);
|
|
85
|
-
gl.texSubImage2D(
|
|
86
|
-
record.target,
|
|
87
|
-
0,
|
|
88
|
-
0,
|
|
89
|
-
0,
|
|
90
|
-
record.storage[3],
|
|
91
|
-
record.storage[4],
|
|
92
|
-
gl.RGBA,
|
|
93
|
-
gl.UNSIGNED_BYTE,
|
|
94
|
-
record.pixels,
|
|
95
|
-
);
|
|
96
|
-
if (unpackBuffer) gl.bindBuffer(gl.PIXEL_UNPACK_BUFFER, unpackBuffer);
|
|
97
|
-
for (const [parameter, value] of unpack) gl.pixelStorei(parameter, value);
|
|
98
|
-
for (const [parameter, value] of record.parameters)
|
|
99
|
-
gl.texParameteri(record.target, parameter, value);
|
|
100
|
-
if (record.mipmaps) gl.generateMipmap(record.target);
|
|
101
|
-
record.entry = own(real, record);
|
|
102
|
-
release(previous, record);
|
|
103
|
-
rebind(record);
|
|
104
|
-
gl.bindTexture(
|
|
105
|
-
record.target,
|
|
106
|
-
current(record.target)?.entry.real ?? previousBinding,
|
|
107
|
-
);
|
|
108
|
-
copies++;
|
|
109
|
-
}
|
|
110
|
-
function finish(record) {
|
|
111
|
-
if (
|
|
112
|
-
!record?.eligible ||
|
|
113
|
-
!record.pixels ||
|
|
114
|
-
(!record.mipmaps && record.storage[1] !== 1) ||
|
|
115
|
-
record.renderTarget
|
|
116
|
-
)
|
|
117
|
-
return;
|
|
118
|
-
const descriptor = JSON.stringify([
|
|
119
|
-
record.storage,
|
|
120
|
-
[...record.parameters].sort((a, b) => a[0] - b[0]),
|
|
121
|
-
[...record.uploadUnpack].sort((a, b) => a[0] - b[0]),
|
|
122
|
-
]);
|
|
123
|
-
const bucket = cache.get(descriptor);
|
|
124
|
-
let match;
|
|
125
|
-
for (const entry of bucket || [])
|
|
126
|
-
if (equalBytes(entry.snapshot.pixels, record.pixels)) {
|
|
127
|
-
match = entry;
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
if (match) {
|
|
131
|
-
if (match === record.entry) return;
|
|
132
|
-
const previous = record.entry;
|
|
133
|
-
match.refs.add(record);
|
|
134
|
-
record.entry = match;
|
|
135
|
-
record.pixels = match.snapshot.pixels;
|
|
136
|
-
release(previous, record);
|
|
137
|
-
rebind(record);
|
|
138
|
-
hits++;
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
removeCache(record.entry);
|
|
142
|
-
record.entry.key = descriptor;
|
|
143
|
-
let allocatedBytes = 0;
|
|
144
|
-
for (let level = 0; level < record.storage[1]; level++)
|
|
145
|
-
allocatedBytes +=
|
|
146
|
-
4 *
|
|
147
|
-
Math.max(1, record.storage[3] >> level) *
|
|
148
|
-
Math.max(1, record.storage[4] >> level);
|
|
149
|
-
record.entry.snapshot = { pixels: record.pixels, allocatedBytes };
|
|
150
|
-
const next = bucket || new Set();
|
|
151
|
-
next.add(record.entry);
|
|
152
|
-
cache.set(descriptor, next);
|
|
153
|
-
}
|
|
154
|
-
function unknownMutation(target, method, args) {
|
|
155
|
-
const record = current(target);
|
|
156
|
-
if (record) {
|
|
157
|
-
makePrivate(record);
|
|
158
|
-
record.eligible = false;
|
|
159
|
-
record.pixels = null;
|
|
160
|
-
}
|
|
161
|
-
return gl[method](...args);
|
|
162
|
-
}
|
|
163
|
-
const api = {
|
|
164
|
-
createTexture() {
|
|
165
|
-
const virtual = Object.create(WebGLTexture.prototype);
|
|
166
|
-
const record = {
|
|
167
|
-
virtual,
|
|
168
|
-
target: null,
|
|
169
|
-
entry: null,
|
|
170
|
-
storage: null,
|
|
171
|
-
pixels: null,
|
|
172
|
-
uploadUnpack: null,
|
|
173
|
-
parameters: new Map(),
|
|
174
|
-
mipmaps: false,
|
|
175
|
-
eligible: false,
|
|
176
|
-
renderTarget: false,
|
|
177
|
-
deleted: false,
|
|
178
|
-
};
|
|
179
|
-
record.entry = own(gl.createTexture(), record);
|
|
180
|
-
textures.set(virtual, record);
|
|
181
|
-
live.add(record);
|
|
182
|
-
return virtual;
|
|
183
|
-
},
|
|
184
|
-
bindTexture(target, texture) {
|
|
185
|
-
const record = textures.get(texture);
|
|
186
|
-
if (record?.deleted)
|
|
187
|
-
throw new Error('Cannot bind a deleted logical texture');
|
|
188
|
-
if (record && !record.target) record.target = target;
|
|
189
|
-
bindings.set(key(target), record || null);
|
|
190
|
-
return gl.bindTexture(target, record ? record.entry.real : texture);
|
|
191
|
-
},
|
|
192
|
-
activeTexture(value) {
|
|
193
|
-
unit = value;
|
|
194
|
-
return gl.activeTexture(value);
|
|
195
|
-
},
|
|
196
|
-
pixelStorei(parameter, value) {
|
|
197
|
-
if (unpack.has(parameter)) unpack.set(parameter, value);
|
|
198
|
-
return gl.pixelStorei(parameter, value);
|
|
199
|
-
},
|
|
200
|
-
bindBuffer(target, buffer) {
|
|
201
|
-
if (target === gl.PIXEL_UNPACK_BUFFER) unpackBuffer = buffer;
|
|
202
|
-
return gl.bindBuffer(target, buffer);
|
|
203
|
-
},
|
|
204
|
-
texStorage2D(...args) {
|
|
205
|
-
const record = current(args[0]);
|
|
206
|
-
if (record) {
|
|
207
|
-
makePrivate(record);
|
|
208
|
-
record.storage = [...args];
|
|
209
|
-
record.pixels = null;
|
|
210
|
-
record.mipmaps = false;
|
|
211
|
-
record.eligible =
|
|
212
|
-
args[0] === gl.TEXTURE_2D &&
|
|
213
|
-
args[2] === gl.RGBA8 &&
|
|
214
|
-
((args[1] === 10 && args[3] === 512 && args[4] === 512) ||
|
|
215
|
-
(args[1] === 1 && args[3] === 576 && args[4] === 960)) &&
|
|
216
|
-
!record.renderTarget;
|
|
217
|
-
}
|
|
218
|
-
return gl.texStorage2D(...args);
|
|
219
|
-
},
|
|
220
|
-
texSubImage2D(...args) {
|
|
221
|
-
const record = current(args[0]);
|
|
222
|
-
const full =
|
|
223
|
-
record?.eligible &&
|
|
224
|
-
args.length >= 9 &&
|
|
225
|
-
args[1] === 0 &&
|
|
226
|
-
args[2] === 0 &&
|
|
227
|
-
args[3] === 0 &&
|
|
228
|
-
args[4] === record.storage[3] &&
|
|
229
|
-
args[5] === record.storage[4] &&
|
|
230
|
-
args[6] === gl.RGBA &&
|
|
231
|
-
args[7] === gl.UNSIGNED_BYTE &&
|
|
232
|
-
args[8] instanceof Uint8Array &&
|
|
233
|
-
!unpackBuffer &&
|
|
234
|
-
[
|
|
235
|
-
'UNPACK_ROW_LENGTH',
|
|
236
|
-
'UNPACK_IMAGE_HEIGHT',
|
|
237
|
-
'UNPACK_SKIP_PIXELS',
|
|
238
|
-
'UNPACK_SKIP_ROWS',
|
|
239
|
-
'UNPACK_SKIP_IMAGES',
|
|
240
|
-
].every((name) => !unpack.get(gl[name]));
|
|
241
|
-
if (!full) return unknownMutation(args[0], 'texSubImage2D', args);
|
|
242
|
-
const offset = args[9] || 0,
|
|
243
|
-
length = args[4] * args[5] * 4;
|
|
244
|
-
if (
|
|
245
|
-
!Number.isInteger(offset) ||
|
|
246
|
-
offset < 0 ||
|
|
247
|
-
offset + length > args[8].length
|
|
248
|
-
)
|
|
249
|
-
return unknownMutation(args[0], 'texSubImage2D', args);
|
|
250
|
-
makePrivate(record);
|
|
251
|
-
const result = gl.texSubImage2D(...args);
|
|
252
|
-
record.pixels = args[8].slice(offset, offset + length); // Never identify mutable WASM memory by pointer.
|
|
253
|
-
record.uploadUnpack = new Map(unpack);
|
|
254
|
-
record.mipmaps = false;
|
|
255
|
-
finish(record);
|
|
256
|
-
return result;
|
|
257
|
-
},
|
|
258
|
-
texParameteri(target, parameter, value) {
|
|
259
|
-
const record = current(target);
|
|
260
|
-
if (record && record.parameters.get(parameter) !== value) {
|
|
261
|
-
makePrivate(record);
|
|
262
|
-
record.parameters.set(parameter, value);
|
|
263
|
-
}
|
|
264
|
-
const result = gl.texParameteri(target, parameter, value);
|
|
265
|
-
finish(record);
|
|
266
|
-
return result;
|
|
267
|
-
},
|
|
268
|
-
texParameterf(...args) {
|
|
269
|
-
return unknownMutation(args[0], 'texParameterf', args);
|
|
270
|
-
},
|
|
271
|
-
generateMipmap(target) {
|
|
272
|
-
const record = current(target);
|
|
273
|
-
if (record?.eligible && record.mipmaps) return;
|
|
274
|
-
if (record) makePrivate(record);
|
|
275
|
-
const result = gl.generateMipmap(target);
|
|
276
|
-
if (record) {
|
|
277
|
-
record.mipmaps = true;
|
|
278
|
-
finish(record);
|
|
279
|
-
}
|
|
280
|
-
return result;
|
|
281
|
-
},
|
|
282
|
-
framebufferTexture2D(target, attachment, textureTarget, texture, level) {
|
|
283
|
-
const record = textures.get(texture);
|
|
284
|
-
if (record) {
|
|
285
|
-
makePrivate(record);
|
|
286
|
-
record.renderTarget = true;
|
|
287
|
-
record.eligible = false;
|
|
288
|
-
record.pixels = null;
|
|
289
|
-
}
|
|
290
|
-
return gl.framebufferTexture2D(
|
|
291
|
-
target,
|
|
292
|
-
attachment,
|
|
293
|
-
textureTarget,
|
|
294
|
-
record ? record.entry.real : texture,
|
|
295
|
-
level,
|
|
296
|
-
);
|
|
297
|
-
},
|
|
298
|
-
framebufferTextureLayer(target, attachment, texture, level, layer) {
|
|
299
|
-
const record = textures.get(texture);
|
|
300
|
-
if (record) {
|
|
301
|
-
makePrivate(record);
|
|
302
|
-
record.renderTarget = true;
|
|
303
|
-
record.eligible = false;
|
|
304
|
-
record.pixels = null;
|
|
305
|
-
}
|
|
306
|
-
return gl.framebufferTextureLayer(
|
|
307
|
-
target,
|
|
308
|
-
attachment,
|
|
309
|
-
record ? record.entry.real : texture,
|
|
310
|
-
level,
|
|
311
|
-
layer,
|
|
312
|
-
);
|
|
313
|
-
},
|
|
314
|
-
getFramebufferAttachmentParameter(...args) {
|
|
315
|
-
const value = gl.getFramebufferAttachmentParameter(...args);
|
|
316
|
-
const entry =
|
|
317
|
-
value && typeof value === 'object'
|
|
318
|
-
? physicalEntries.get(value)
|
|
319
|
-
: undefined;
|
|
320
|
-
// FBO attachment always makes a texture private before it is attached.
|
|
321
|
-
return entry?.refs.size === 1
|
|
322
|
-
? entry.refs.values().next().value.virtual
|
|
323
|
-
: value;
|
|
324
|
-
},
|
|
325
|
-
deleteTexture(texture) {
|
|
326
|
-
if (!texture) return;
|
|
327
|
-
const record = textures.get(texture);
|
|
328
|
-
if (!record) return gl.deleteTexture(texture);
|
|
329
|
-
if (record.deleted) return;
|
|
330
|
-
record.deleted = true;
|
|
331
|
-
for (const [binding, value] of bindings)
|
|
332
|
-
if (value === record) {
|
|
333
|
-
const [at, target] = binding.split(':').map(Number);
|
|
334
|
-
gl.activeTexture(at);
|
|
335
|
-
gl.bindTexture(target, null);
|
|
336
|
-
bindings.set(binding, null);
|
|
337
|
-
}
|
|
338
|
-
gl.activeTexture(unit);
|
|
339
|
-
release(record.entry, record);
|
|
340
|
-
live.delete(record);
|
|
341
|
-
record.pixels = null;
|
|
342
|
-
},
|
|
343
|
-
isTexture(texture) {
|
|
344
|
-
const record = textures.get(texture);
|
|
345
|
-
return record
|
|
346
|
-
? !record.deleted && gl.isTexture(record.entry.real)
|
|
347
|
-
: gl.isTexture(texture);
|
|
348
|
-
},
|
|
349
|
-
getParameter(parameter) {
|
|
350
|
-
const targets = new Map([
|
|
351
|
-
[gl.TEXTURE_BINDING_2D, gl.TEXTURE_2D],
|
|
352
|
-
[gl.TEXTURE_BINDING_3D, gl.TEXTURE_3D],
|
|
353
|
-
[gl.TEXTURE_BINDING_CUBE_MAP, gl.TEXTURE_CUBE_MAP],
|
|
354
|
-
[gl.TEXTURE_BINDING_2D_ARRAY, gl.TEXTURE_2D_ARRAY],
|
|
355
|
-
]);
|
|
356
|
-
if (targets.has(parameter))
|
|
357
|
-
return (
|
|
358
|
-
current(targets.get(parameter))?.virtual || gl.getParameter(parameter)
|
|
359
|
-
);
|
|
360
|
-
return gl.getParameter(parameter);
|
|
361
|
-
},
|
|
362
|
-
};
|
|
363
|
-
const writes = new Set([
|
|
364
|
-
'texImage2D',
|
|
365
|
-
'copyTexImage2D',
|
|
366
|
-
'copyTexSubImage2D',
|
|
367
|
-
'compressedTexImage2D',
|
|
368
|
-
'compressedTexSubImage2D',
|
|
369
|
-
'texStorage3D',
|
|
370
|
-
'texImage3D',
|
|
371
|
-
'texSubImage3D',
|
|
372
|
-
'copyTexSubImage3D',
|
|
373
|
-
'compressedTexImage3D',
|
|
374
|
-
'compressedTexSubImage3D',
|
|
375
|
-
]);
|
|
376
|
-
const context = new Proxy(gl, {
|
|
377
|
-
get(target, property) {
|
|
378
|
-
if (Object.hasOwn(api, property)) return api[property];
|
|
379
|
-
if (methods.has(property)) return methods.get(property);
|
|
380
|
-
const value = Reflect.get(target, property, target);
|
|
381
|
-
if (typeof value !== 'function') return value;
|
|
382
|
-
if (!methods.has(property))
|
|
383
|
-
methods.set(
|
|
384
|
-
property,
|
|
385
|
-
writes.has(property)
|
|
386
|
-
? (...args) => unknownMutation(args[0], property, args)
|
|
387
|
-
: value.bind(target),
|
|
388
|
-
);
|
|
389
|
-
return methods.get(property);
|
|
390
|
-
},
|
|
391
|
-
});
|
|
392
|
-
return {
|
|
393
|
-
context,
|
|
394
|
-
stats: () => ({
|
|
395
|
-
logicalTextures: live.size,
|
|
396
|
-
physicalTextures: entries.size,
|
|
397
|
-
pooledTextures: [...cache.values()].reduce((n, v) => n + v.size, 0),
|
|
398
|
-
// RGBA8 storage across allocated levels, including each asset's base level.
|
|
399
|
-
mipBytesSaved: [...cache.values()].reduce(
|
|
400
|
-
(total, bucket) =>
|
|
401
|
-
total +
|
|
402
|
-
[...bucket].reduce(
|
|
403
|
-
(sum, entry) =>
|
|
404
|
-
sum + (entry.refs.size - 1) * entry.snapshot.allocatedBytes,
|
|
405
|
-
0,
|
|
406
|
-
),
|
|
407
|
-
0,
|
|
408
|
-
),
|
|
409
|
-
hits,
|
|
410
|
-
copies,
|
|
411
|
-
}),
|
|
412
|
-
dispose() {
|
|
413
|
-
if (disposed) return;
|
|
414
|
-
disposed = true;
|
|
415
|
-
for (const record of [...live]) api.deleteTexture(record.virtual);
|
|
416
|
-
methods.clear();
|
|
417
|
-
bindings.clear();
|
|
418
|
-
},
|
|
419
|
-
};
|
|
420
|
-
}
|
|
Binary file
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
|
@@ -1,106 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ClippoArtwork = ClippoArtwork;
|
|
7
|
-
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
8
|
-
var _constants = require("./constants.js");
|
|
9
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
-
/** Selector artwork only. The avatar itself uses Clippo's actual 3D meshes. */
|
|
12
|
-
function ClippoArtwork({
|
|
13
|
-
kind,
|
|
14
|
-
opacity = 1
|
|
15
|
-
}) {
|
|
16
|
-
const eyes = kind === 'eyes';
|
|
17
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
|
|
18
|
-
width: eyes ? 27 : 56,
|
|
19
|
-
height: eyes ? 27 : 56,
|
|
20
|
-
viewBox: eyes ? '0 0 104 100' : '0 -4 90 170',
|
|
21
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
22
|
-
opacity: opacity,
|
|
23
|
-
accessible: false,
|
|
24
|
-
pointerEvents: "none",
|
|
25
|
-
children: eyes ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
26
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
27
|
-
cx: 27,
|
|
28
|
-
cy: 44,
|
|
29
|
-
r: 21,
|
|
30
|
-
fill: "#f4f3ee"
|
|
31
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
32
|
-
cx: 77,
|
|
33
|
-
cy: 58,
|
|
34
|
-
r: 21,
|
|
35
|
-
fill: "#f4f3ee"
|
|
36
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
37
|
-
cx: 27,
|
|
38
|
-
cy: 44,
|
|
39
|
-
r: 15,
|
|
40
|
-
fill: "#3c2b2d"
|
|
41
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
42
|
-
cx: 77,
|
|
43
|
-
cy: 58,
|
|
44
|
-
r: 15,
|
|
45
|
-
fill: "#3c2b2d"
|
|
46
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
|
|
47
|
-
d: "M11 8 C18 5 29 5 38 9 M63 21 C72 21 82 26 88 32",
|
|
48
|
-
fill: "none",
|
|
49
|
-
stroke: "#3c2b2d",
|
|
50
|
-
strokeWidth: 12,
|
|
51
|
-
strokeLinecap: "round"
|
|
52
|
-
})]
|
|
53
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
|
|
54
|
-
d: "M25.4 79 C23 102 24 115 35 120 C46 125 53 119 52 105 C48 84 46 63 56 40 C67 16 63 6 46 3 C27 -1 20 15 14 30 C5 51 2 70 5 91 C8 128 19 151 40 157 C57 162 72 153 75 134 C80 114 69 107 72 93 C73 83 76 75 80 71",
|
|
55
|
-
fill: "none",
|
|
56
|
-
stroke: _constants.CHARACTER_COLORS.pink,
|
|
57
|
-
strokeWidth: 8.5,
|
|
58
|
-
strokeLinecap: "round",
|
|
59
|
-
strokeLinejoin: "round"
|
|
60
|
-
})
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=ClippoArtwork.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSvg","_interopRequireWildcard","require","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ClippoArtwork","kind","opacity","eyes","jsx","width","height","viewBox","preserveAspectRatio","accessible","pointerEvents","children","jsxs","Fragment","Circle","cx","cy","fill","Path","d","stroke","strokeWidth","strokeLinecap","CHARACTER_COLORS","pink","strokeLinejoin"],"sourceRoot":"../../../src","sources":["agent-creator/ClippoArtwork.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CyclopsArtwork = CyclopsArtwork;
|
|
7
|
-
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
8
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
|
-
/** Static selector artwork; the runtime renders the fitted single-eye mesh. */
|
|
11
|
-
function CyclopsArtwork({
|
|
12
|
-
opacity = 1
|
|
13
|
-
}) {
|
|
14
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSvg.default, {
|
|
15
|
-
width: 27,
|
|
16
|
-
height: 27,
|
|
17
|
-
viewBox: "0 0 100 100",
|
|
18
|
-
opacity: opacity,
|
|
19
|
-
accessible: false,
|
|
20
|
-
pointerEvents: "none",
|
|
21
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Ellipse, {
|
|
22
|
-
cx: 50,
|
|
23
|
-
cy: 50,
|
|
24
|
-
rx: 46,
|
|
25
|
-
ry: 44,
|
|
26
|
-
fill: "#f4f5ee"
|
|
27
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
28
|
-
cx: 50,
|
|
29
|
-
cy: 50,
|
|
30
|
-
r: 24,
|
|
31
|
-
fill: "#148a78",
|
|
32
|
-
stroke: "#174e45",
|
|
33
|
-
strokeWidth: 3
|
|
34
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
35
|
-
cx: 50,
|
|
36
|
-
cy: 50,
|
|
37
|
-
r: 14,
|
|
38
|
-
fill: "#101918"
|
|
39
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
|
|
40
|
-
d: "M61 31 L71 38 L65 46 L57 40 Z",
|
|
41
|
-
fill: "#ffffff"
|
|
42
|
-
})]
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=CyclopsArtwork.js.map
|