@oxy.so/bloom 7.1.3 → 7.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/assets/character-runtime/README.md +19 -114
  2. package/assets/character-runtime/legacy-engine.mjs +54 -406
  3. package/assets/character-runtime/legacy-geometry.mjs +85 -242
  4. package/assets/character-runtime/legacy-worker.mjs +23 -82
  5. package/assets/character-runtime/managed-avatar.mjs +18 -12
  6. package/assets/character-runtime/render-budget.mjs +11 -6
  7. package/assets/character-runtime/runtime.mjs +295 -744
  8. package/docs/agent-avatar.mdx +8 -45
  9. package/docs/agent-creator.mdx +3 -13
  10. package/lib/commonjs/agent-avatar/AgentAvatar.js +1 -1
  11. package/lib/commonjs/agent-avatar/AgentAvatar.js.map +1 -1
  12. package/lib/commonjs/agent-avatar/CharacterAvatar.js +1 -2
  13. package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -1
  14. package/lib/commonjs/agent-avatar/config-character.js +0 -4
  15. package/lib/commonjs/agent-avatar/config-character.js.map +1 -1
  16. package/lib/commonjs/agent-avatar/legacy-recipe.js +6 -19
  17. package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -1
  18. package/lib/commonjs/agent-creator/AgentCreatorBase.js +107 -67
  19. package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
  20. package/lib/commonjs/agent-creator/CharacterControls.js +5 -23
  21. package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -1
  22. package/lib/commonjs/agent-creator/EmotionPicker.js +1 -8
  23. package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
  24. package/lib/commonjs/agent-creator/ShapeSilhouette.js +1 -8
  25. package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -1
  26. package/lib/commonjs/agent-creator/constants.js +17 -16
  27. package/lib/commonjs/agent-creator/constants.js.map +1 -1
  28. package/lib/commonjs/agent-creator/messages.js +1 -1
  29. package/lib/commonjs/agent-creator/messages.js.map +1 -1
  30. package/lib/commonjs/locale/translations/ar.js +1 -1
  31. package/lib/commonjs/locale/translations/ar.js.map +1 -1
  32. package/lib/commonjs/locale/translations/bn.js +1 -1
  33. package/lib/commonjs/locale/translations/bn.js.map +1 -1
  34. package/lib/commonjs/locale/translations/ca.js +1 -1
  35. package/lib/commonjs/locale/translations/ca.js.map +1 -1
  36. package/lib/commonjs/locale/translations/de.js +1 -1
  37. package/lib/commonjs/locale/translations/de.js.map +1 -1
  38. package/lib/commonjs/locale/translations/es.js +1 -1
  39. package/lib/commonjs/locale/translations/es.js.map +1 -1
  40. package/lib/commonjs/locale/translations/fr.js +1 -1
  41. package/lib/commonjs/locale/translations/fr.js.map +1 -1
  42. package/lib/commonjs/locale/translations/hi.js +1 -1
  43. package/lib/commonjs/locale/translations/hi.js.map +1 -1
  44. package/lib/commonjs/locale/translations/id.js +1 -1
  45. package/lib/commonjs/locale/translations/id.js.map +1 -1
  46. package/lib/commonjs/locale/translations/it.js +1 -1
  47. package/lib/commonjs/locale/translations/it.js.map +1 -1
  48. package/lib/commonjs/locale/translations/ja.js +1 -1
  49. package/lib/commonjs/locale/translations/ja.js.map +1 -1
  50. package/lib/commonjs/locale/translations/pt.js +1 -1
  51. package/lib/commonjs/locale/translations/pt.js.map +1 -1
  52. package/lib/commonjs/locale/translations/ru.js +1 -1
  53. package/lib/commonjs/locale/translations/ru.js.map +1 -1
  54. package/lib/commonjs/locale/translations/tr.js +1 -1
  55. package/lib/commonjs/locale/translations/tr.js.map +1 -1
  56. package/lib/commonjs/locale/translations/zh.js +1 -1
  57. package/lib/commonjs/locale/translations/zh.js.map +1 -1
  58. package/lib/module/agent-avatar/AgentAvatar.js +1 -1
  59. package/lib/module/agent-avatar/AgentAvatar.js.map +1 -1
  60. package/lib/module/agent-avatar/CharacterAvatar.js +1 -2
  61. package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -1
  62. package/lib/module/agent-avatar/config-character.js +0 -4
  63. package/lib/module/agent-avatar/config-character.js.map +1 -1
  64. package/lib/module/agent-avatar/legacy-recipe.js +6 -19
  65. package/lib/module/agent-avatar/legacy-recipe.js.map +1 -1
  66. package/lib/module/agent-creator/AgentCreatorBase.js +109 -69
  67. package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
  68. package/lib/module/agent-creator/CharacterControls.js +6 -24
  69. package/lib/module/agent-creator/CharacterControls.js.map +1 -1
  70. package/lib/module/agent-creator/EmotionPicker.js +1 -8
  71. package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
  72. package/lib/module/agent-creator/ShapeSilhouette.js +1 -8
  73. package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -1
  74. package/lib/module/agent-creator/constants.js +16 -8
  75. package/lib/module/agent-creator/constants.js.map +1 -1
  76. package/lib/module/agent-creator/messages.js +1 -1
  77. package/lib/module/agent-creator/messages.js.map +1 -1
  78. package/lib/module/locale/translations/ar.js +1 -1
  79. package/lib/module/locale/translations/ar.js.map +1 -1
  80. package/lib/module/locale/translations/bn.js +1 -1
  81. package/lib/module/locale/translations/bn.js.map +1 -1
  82. package/lib/module/locale/translations/ca.js +1 -1
  83. package/lib/module/locale/translations/ca.js.map +1 -1
  84. package/lib/module/locale/translations/de.js +1 -1
  85. package/lib/module/locale/translations/de.js.map +1 -1
  86. package/lib/module/locale/translations/es.js +1 -1
  87. package/lib/module/locale/translations/es.js.map +1 -1
  88. package/lib/module/locale/translations/fr.js +1 -1
  89. package/lib/module/locale/translations/fr.js.map +1 -1
  90. package/lib/module/locale/translations/hi.js +1 -1
  91. package/lib/module/locale/translations/hi.js.map +1 -1
  92. package/lib/module/locale/translations/id.js +1 -1
  93. package/lib/module/locale/translations/id.js.map +1 -1
  94. package/lib/module/locale/translations/it.js +1 -1
  95. package/lib/module/locale/translations/it.js.map +1 -1
  96. package/lib/module/locale/translations/ja.js +1 -1
  97. package/lib/module/locale/translations/ja.js.map +1 -1
  98. package/lib/module/locale/translations/pt.js +1 -1
  99. package/lib/module/locale/translations/pt.js.map +1 -1
  100. package/lib/module/locale/translations/ru.js +1 -1
  101. package/lib/module/locale/translations/ru.js.map +1 -1
  102. package/lib/module/locale/translations/tr.js +1 -1
  103. package/lib/module/locale/translations/tr.js.map +1 -1
  104. package/lib/module/locale/translations/zh.js +1 -1
  105. package/lib/module/locale/translations/zh.js.map +1 -1
  106. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +0 -4
  108. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +10 -2
  110. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts +1 -2
  113. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +0 -1
  115. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/agent-creator/constants.d.ts +15 -7
  118. package/lib/typescript/commonjs/agent-creator/constants.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/agent-creator/messages.d.ts.map +1 -1
  120. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -1
  121. package/lib/typescript/module/agent-avatar/config-character.d.ts +0 -4
  122. package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -1
  123. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +10 -2
  124. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts.map +1 -1
  125. package/lib/typescript/module/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  126. package/lib/typescript/module/agent-creator/CharacterControls.d.ts +1 -2
  127. package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -1
  128. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +0 -1
  129. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts.map +1 -1
  130. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts.map +1 -1
  131. package/lib/typescript/module/agent-creator/constants.d.ts +15 -7
  132. package/lib/typescript/module/agent-creator/constants.d.ts.map +1 -1
  133. package/lib/typescript/module/agent-creator/messages.d.ts.map +1 -1
  134. package/package.json +1 -1
  135. package/src/agent-avatar/AgentAvatar.tsx +1 -1
  136. package/src/agent-avatar/CharacterAvatar.tsx +1 -4
  137. package/src/agent-avatar/config-character.ts +6 -39
  138. package/src/agent-avatar/legacy-recipe.ts +6 -34
  139. package/src/agent-creator/AgentCreatorBase.tsx +152 -121
  140. package/src/agent-creator/CharacterControls.tsx +14 -39
  141. package/src/agent-creator/EmotionPicker.tsx +16 -55
  142. package/src/agent-creator/ShapeSilhouette.tsx +1 -16
  143. package/src/agent-creator/constants.ts +14 -47
  144. package/src/agent-creator/messages.ts +1 -2
  145. package/src/locale/translations/ar.ts +1 -1
  146. package/src/locale/translations/bn.ts +1 -1
  147. package/src/locale/translations/ca.ts +1 -1
  148. package/src/locale/translations/de.ts +1 -1
  149. package/src/locale/translations/es.ts +1 -1
  150. package/src/locale/translations/fr.ts +1 -1
  151. package/src/locale/translations/hi.ts +1 -1
  152. package/src/locale/translations/id.ts +1 -1
  153. package/src/locale/translations/it.ts +1 -1
  154. package/src/locale/translations/ja.ts +1 -1
  155. package/src/locale/translations/pt.ts +1 -1
  156. package/src/locale/translations/ru.ts +1 -1
  157. package/src/locale/translations/tr.ts +1 -1
  158. package/src/locale/translations/zh.ts +1 -1
  159. package/assets/character-runtime/authored-parts.mjs +0 -754
  160. package/assets/character-runtime/catalog-parts.mjs +0 -362
  161. package/assets/character-runtime/character-recipe.mjs +0 -247
  162. package/assets/character-runtime/clippo-geometry.mjs +0 -679
  163. package/assets/character-runtime/controller-mode.mjs +0 -208
  164. package/assets/character-runtime/cyclops-geometry.mjs +0 -180
  165. package/assets/character-runtime/migrated-contours.mjs +0 -2067
  166. package/assets/character-runtime/migrated-faces.mjs +0 -59
  167. package/assets/character-runtime/pose-transition.mjs +0 -523
  168. package/assets/character-runtime/preparation-cache.mjs +0 -60
  169. package/assets/character-runtime/render-errors.mjs +0 -180
  170. package/assets/character-runtime/resolution.mjs +0 -10
  171. package/assets/character-runtime/sha256.mjs +0 -44
  172. package/assets/character-runtime/shared-programs.mjs +0 -534
  173. package/assets/character-runtime/shared-surface.mjs +0 -490
  174. package/assets/character-runtime/shared-textures.mjs +0 -420
  175. package/assets/character-runtime/thumbnails/eyes/todd.png +0 -0
  176. package/lib/commonjs/agent-avatar/character-colors.js +0 -19
  177. package/lib/commonjs/agent-avatar/character-colors.js.map +0 -1
  178. package/lib/commonjs/agent-avatar/character-shapes.js +0 -106
  179. package/lib/commonjs/agent-avatar/character-shapes.js.map +0 -1
  180. package/lib/commonjs/agent-creator/ClippoArtwork.js +0 -63
  181. package/lib/commonjs/agent-creator/ClippoArtwork.js.map +0 -1
  182. package/lib/commonjs/agent-creator/CyclopsArtwork.js +0 -45
  183. package/lib/commonjs/agent-creator/CyclopsArtwork.js.map +0 -1
  184. package/lib/commonjs/agent-creator/ToddArtwork.js +0 -29
  185. package/lib/commonjs/agent-creator/ToddArtwork.js.map +0 -1
  186. package/lib/module/agent-avatar/character-colors.js +0 -15
  187. package/lib/module/agent-avatar/character-colors.js.map +0 -1
  188. package/lib/module/agent-avatar/character-shapes.js +0 -97
  189. package/lib/module/agent-avatar/character-shapes.js.map +0 -1
  190. package/lib/module/agent-creator/ClippoArtwork.js +0 -59
  191. package/lib/module/agent-creator/ClippoArtwork.js.map +0 -1
  192. package/lib/module/agent-creator/CyclopsArtwork.js +0 -41
  193. package/lib/module/agent-creator/CyclopsArtwork.js.map +0 -1
  194. package/lib/module/agent-creator/ToddArtwork.js +0 -25
  195. package/lib/module/agent-creator/ToddArtwork.js.map +0 -1
  196. package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts +0 -13
  197. package/lib/typescript/commonjs/agent-avatar/character-colors.d.ts.map +0 -1
  198. package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts +0 -19
  199. package/lib/typescript/commonjs/agent-avatar/character-shapes.d.ts.map +0 -1
  200. package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts +0 -6
  201. package/lib/typescript/commonjs/agent-creator/ClippoArtwork.d.ts.map +0 -1
  202. package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts +0 -5
  203. package/lib/typescript/commonjs/agent-creator/CyclopsArtwork.d.ts.map +0 -1
  204. package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts +0 -6
  205. package/lib/typescript/commonjs/agent-creator/ToddArtwork.d.ts.map +0 -1
  206. package/lib/typescript/module/agent-avatar/character-colors.d.ts +0 -13
  207. package/lib/typescript/module/agent-avatar/character-colors.d.ts.map +0 -1
  208. package/lib/typescript/module/agent-avatar/character-shapes.d.ts +0 -19
  209. package/lib/typescript/module/agent-avatar/character-shapes.d.ts.map +0 -1
  210. package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts +0 -6
  211. package/lib/typescript/module/agent-creator/ClippoArtwork.d.ts.map +0 -1
  212. package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts +0 -5
  213. package/lib/typescript/module/agent-creator/CyclopsArtwork.d.ts.map +0 -1
  214. package/lib/typescript/module/agent-creator/ToddArtwork.d.ts +0 -6
  215. package/lib/typescript/module/agent-creator/ToddArtwork.d.ts.map +0 -1
  216. package/src/agent-avatar/character-colors.ts +0 -12
  217. package/src/agent-avatar/character-shapes.ts +0 -122
  218. package/src/agent-creator/ClippoArtwork.tsx +0 -49
  219. package/src/agent-creator/CyclopsArtwork.tsx +0 -27
  220. 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
- }
@@ -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