@ai-game-assets/core 0.5.6 → 0.7.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.
@@ -0,0 +1,37 @@
1
+ export type InGameDesignerPanelOptions = {
2
+ id: string;
3
+ label: string;
4
+ panel: HTMLElement;
5
+ dragHandle?: HTMLElement;
6
+ button?: HTMLButtonElement;
7
+ order?: number;
8
+ ariaLabel?: string;
9
+ onOpenChange?(isOpen: boolean): void;
10
+ };
11
+ export type InGameDesignerPanelRegistration = {
12
+ readonly button: HTMLButtonElement;
13
+ open(): void;
14
+ close(): void;
15
+ toggle(): void;
16
+ isOpen(): boolean;
17
+ destroy(): void;
18
+ };
19
+ export type InGameDesignerToggleOptions = {
20
+ id: string;
21
+ label: string;
22
+ button?: HTMLButtonElement;
23
+ order?: number;
24
+ ariaLabel?: string;
25
+ initialPressed?: boolean;
26
+ onPressedChange?(isPressed: boolean): void;
27
+ };
28
+ export type InGameDesignerToggleRegistration = {
29
+ readonly button: HTMLButtonElement;
30
+ setPressed(isPressed: boolean): void;
31
+ toggle(): void;
32
+ isPressed(): boolean;
33
+ destroy(): void;
34
+ };
35
+ export declare function registerInGameDesignerPanel(options: InGameDesignerPanelOptions): InGameDesignerPanelRegistration;
36
+ export declare function registerInGameDesignerToggle(options: InGameDesignerToggleOptions): InGameDesignerToggleRegistration;
37
+ //# sourceMappingURL=designer-dock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designer-dock.d.ts","sourceRoot":"","sources":["../src/designer-dock.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,OAAO,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,MAAM,IAAI,IAAI,CAAC;IACf,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAoDF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,+BAA+B,CAsFjC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,2BAA2B,GACnC,gCAAgC,CA0DlC"}
@@ -0,0 +1,526 @@
1
+ const dockStatesKey = "__aiGameAssetsInGameDesignerDockStates__";
2
+ const dockStyleId = "ai-game-assets-in-game-designer-dock-styles";
3
+ export function registerInGameDesignerPanel(options) {
4
+ const id = options.id.trim();
5
+ const label = options.label.trim();
6
+ if (!id)
7
+ throw new Error("In-game designer panel id is required.");
8
+ if (!label)
9
+ throw new Error("In-game designer panel label is required.");
10
+ const document = options.panel.ownerDocument;
11
+ const state = ensureDockState(document);
12
+ if (state.items.has(id) || state.toggles.has(id)) {
13
+ throw new Error(`In-game designer tool "${id}" is already registered.`);
14
+ }
15
+ const button = options.button ?? document.createElement("button");
16
+ const sequence = state.nextSequence;
17
+ state.nextSequence += 1;
18
+ const item = {
19
+ id,
20
+ order: options.order ?? sequence,
21
+ sequence,
22
+ button,
23
+ panel: options.panel,
24
+ dragHandle: options.dragHandle,
25
+ resizeHandles: [],
26
+ open: false,
27
+ createdButton: !options.button,
28
+ initialPanelHidden: options.panel.hidden,
29
+ initialPanelStyle: options.panel.getAttribute("style"),
30
+ buttonParent: button.parentNode,
31
+ buttonNextSibling: button.nextSibling,
32
+ onOpenChange: options.onOpenChange,
33
+ onButtonClick: () => activateDockItem(state, state.activeId === id ? undefined : id)
34
+ };
35
+ button.type = "button";
36
+ button.textContent = label;
37
+ button.classList.add("ai-game-assets-in-game-designer-dock__button");
38
+ button.setAttribute("aria-label", options.ariaLabel ?? `Toggle ${label}`);
39
+ button.setAttribute("aria-expanded", "false");
40
+ if (!options.panel.id) {
41
+ options.panel.id = `ai-game-assets-designer-panel-${safeDomId(id)}-${sequence}`;
42
+ }
43
+ button.setAttribute("aria-controls", options.panel.id);
44
+ button.addEventListener("click", item.onButtonClick);
45
+ options.panel.classList.add("ai-game-assets-in-game-designer-dock__panel");
46
+ options.panel.hidden = true;
47
+ if (item.dragHandle) {
48
+ item.dragHandle.classList.add("ai-game-assets-in-game-designer-dock__drag-handle");
49
+ item.onDragPointerDown = (event) => beginPanelDrag(state, item, event);
50
+ item.dragHandle.addEventListener("pointerdown", item.onDragPointerDown);
51
+ }
52
+ for (const edge of ["n", "ne", "e", "se", "s", "sw", "w", "nw"]) {
53
+ const handle = document.createElement("div");
54
+ handle.className = `ai-game-assets-in-game-designer-dock__resize-handle is-${edge}`;
55
+ handle.dataset.edge = edge;
56
+ handle.setAttribute("aria-hidden", "true");
57
+ handle.addEventListener("pointerdown", (event) => beginPanelResize(state, item, edge, event));
58
+ options.panel.append(handle);
59
+ item.resizeHandles.push(handle);
60
+ }
61
+ state.items.set(id, item);
62
+ renderDockButtons(state);
63
+ let destroyed = false;
64
+ return {
65
+ button,
66
+ open() {
67
+ if (!destroyed)
68
+ activateDockItem(state, id);
69
+ },
70
+ close() {
71
+ if (!destroyed && item.open)
72
+ activateDockItem(state, undefined);
73
+ },
74
+ toggle() {
75
+ if (!destroyed)
76
+ activateDockItem(state, item.open ? undefined : id);
77
+ },
78
+ isOpen() {
79
+ return !destroyed && item.open;
80
+ },
81
+ destroy() {
82
+ if (destroyed)
83
+ return;
84
+ destroyed = true;
85
+ removeDockItem(state, item);
86
+ }
87
+ };
88
+ }
89
+ export function registerInGameDesignerToggle(options) {
90
+ const id = options.id.trim();
91
+ const label = options.label.trim();
92
+ if (!id)
93
+ throw new Error("In-game designer toggle id is required.");
94
+ if (!label)
95
+ throw new Error("In-game designer toggle label is required.");
96
+ const document = options.button?.ownerDocument ?? globalThis.document;
97
+ if (!document)
98
+ throw new Error("In-game designer toggles require a document.");
99
+ const state = ensureDockState(document);
100
+ if (state.items.has(id) || state.toggles.has(id)) {
101
+ throw new Error(`In-game designer tool "${id}" is already registered.`);
102
+ }
103
+ const button = options.button ?? document.createElement("button");
104
+ const sequence = state.nextSequence;
105
+ state.nextSequence += 1;
106
+ const item = {
107
+ id,
108
+ order: options.order ?? sequence,
109
+ sequence,
110
+ button,
111
+ pressed: options.initialPressed ?? false,
112
+ createdButton: !options.button,
113
+ buttonParent: button.parentNode,
114
+ buttonNextSibling: button.nextSibling,
115
+ onPressedChange: options.onPressedChange,
116
+ onButtonClick: () => setDockTogglePressed(item, !item.pressed)
117
+ };
118
+ button.type = "button";
119
+ button.textContent = label;
120
+ button.classList.add("ai-game-assets-in-game-designer-dock__button");
121
+ button.setAttribute("aria-label", options.ariaLabel ?? `Toggle ${label}`);
122
+ button.setAttribute("aria-pressed", String(item.pressed));
123
+ button.classList.toggle("is-open", item.pressed);
124
+ button.addEventListener("click", item.onButtonClick);
125
+ state.toggles.set(id, item);
126
+ renderDockButtons(state);
127
+ let destroyed = false;
128
+ return {
129
+ button,
130
+ setPressed(isPressed) {
131
+ if (!destroyed)
132
+ setDockTogglePressed(item, isPressed);
133
+ },
134
+ toggle() {
135
+ if (!destroyed)
136
+ setDockTogglePressed(item, !item.pressed);
137
+ },
138
+ isPressed() {
139
+ return !destroyed && item.pressed;
140
+ },
141
+ destroy() {
142
+ if (destroyed)
143
+ return;
144
+ destroyed = true;
145
+ removeDockToggle(state, item);
146
+ }
147
+ };
148
+ }
149
+ function ensureDockState(document) {
150
+ const host = globalThis;
151
+ let states = host[dockStatesKey];
152
+ if (!states) {
153
+ states = new WeakMap();
154
+ host[dockStatesKey] = states;
155
+ }
156
+ const existing = states.get(document);
157
+ if (existing)
158
+ return existing;
159
+ if (!document.body) {
160
+ throw new Error("In-game designer panels can only be registered after document.body exists.");
161
+ }
162
+ ensureDockStyles(document);
163
+ const root = document.createElement("div");
164
+ root.className = "ai-game-assets-in-game-designer-dock";
165
+ root.setAttribute("role", "toolbar");
166
+ root.setAttribute("aria-label", "Game designer tools");
167
+ document.body.append(root);
168
+ const state = {
169
+ document,
170
+ root,
171
+ items: new Map(),
172
+ toggles: new Map(),
173
+ layoutAnimations: new Map(),
174
+ onWindowResize: () => undefined,
175
+ nextSequence: 0
176
+ };
177
+ state.onWindowResize = () => positionDockForActivePanel(state);
178
+ document.defaultView?.addEventListener("resize", state.onWindowResize);
179
+ states.set(document, state);
180
+ return state;
181
+ }
182
+ function activateDockItem(state, activeId) {
183
+ if (activeId !== undefined && !state.items.has(activeId))
184
+ return;
185
+ state.activeId = activeId;
186
+ setDockPanelOpenState(state, activeId !== undefined);
187
+ const changed = [];
188
+ for (const item of state.items.values()) {
189
+ const isOpen = item.id === activeId;
190
+ if (item.open !== isOpen)
191
+ changed.push(item);
192
+ item.open = isOpen;
193
+ item.panel.hidden = !isOpen;
194
+ item.button.setAttribute("aria-expanded", String(isOpen));
195
+ item.button.classList.toggle("is-open", isOpen);
196
+ }
197
+ for (const item of changed) {
198
+ item.onOpenChange?.(item.open);
199
+ }
200
+ positionDockForActivePanel(state);
201
+ }
202
+ function renderDockButtons(state) {
203
+ const items = [...state.items.values(), ...state.toggles.values()].sort((left, right) => (left.order - right.order || left.sequence - right.sequence));
204
+ state.root.append(...items.map((item) => item.button));
205
+ }
206
+ function removeDockItem(state, item) {
207
+ const wasOpen = item.open;
208
+ state.items.delete(item.id);
209
+ if (state.activeId === item.id)
210
+ state.activeId = undefined;
211
+ setDockPanelOpenState(state, state.activeId !== undefined);
212
+ item.button.removeEventListener("click", item.onButtonClick);
213
+ if (item.dragHandle && item.onDragPointerDown) {
214
+ item.dragHandle.removeEventListener("pointerdown", item.onDragPointerDown);
215
+ item.dragHandle.classList.remove("ai-game-assets-in-game-designer-dock__drag-handle");
216
+ }
217
+ item.resizeHandles.forEach((handle) => handle.remove());
218
+ state.layoutAnimations.get(item.button)?.cancel();
219
+ state.layoutAnimations.delete(item.button);
220
+ item.button.classList.remove("ai-game-assets-in-game-designer-dock__button", "is-open");
221
+ item.button.removeAttribute("aria-controls");
222
+ item.button.setAttribute("aria-expanded", "false");
223
+ item.panel.classList.remove("ai-game-assets-in-game-designer-dock__panel");
224
+ item.panel.hidden = item.initialPanelHidden;
225
+ if (item.initialPanelStyle === null)
226
+ item.panel.removeAttribute("style");
227
+ else
228
+ item.panel.setAttribute("style", item.initialPanelStyle);
229
+ if (item.createdButton) {
230
+ item.button.remove();
231
+ }
232
+ else if (item.buttonParent) {
233
+ item.buttonParent.insertBefore(item.button, item.buttonNextSibling?.parentNode === item.buttonParent ? item.buttonNextSibling : null);
234
+ }
235
+ if (wasOpen)
236
+ item.onOpenChange?.(false);
237
+ removeDockIfEmpty(state);
238
+ if (state.items.size > 0 || state.toggles.size > 0) {
239
+ renderDockButtons(state);
240
+ }
241
+ }
242
+ function setDockTogglePressed(item, isPressed) {
243
+ if (item.pressed === isPressed)
244
+ return;
245
+ item.pressed = isPressed;
246
+ item.button.setAttribute("aria-pressed", String(isPressed));
247
+ item.button.classList.toggle("is-open", isPressed);
248
+ item.onPressedChange?.(isPressed);
249
+ }
250
+ function removeDockToggle(state, item) {
251
+ state.toggles.delete(item.id);
252
+ item.button.removeEventListener("click", item.onButtonClick);
253
+ state.layoutAnimations.get(item.button)?.cancel();
254
+ state.layoutAnimations.delete(item.button);
255
+ item.button.classList.remove("ai-game-assets-in-game-designer-dock__button", "is-open");
256
+ item.button.removeAttribute("aria-pressed");
257
+ if (item.createdButton) {
258
+ item.button.remove();
259
+ }
260
+ else if (item.buttonParent) {
261
+ item.buttonParent.insertBefore(item.button, item.buttonNextSibling?.parentNode === item.buttonParent ? item.buttonNextSibling : null);
262
+ }
263
+ if (item.pressed)
264
+ item.onPressedChange?.(false);
265
+ removeDockIfEmpty(state);
266
+ if (state.items.size > 0 || state.toggles.size > 0) {
267
+ renderDockButtons(state);
268
+ }
269
+ }
270
+ function removeDockIfEmpty(state) {
271
+ if (state.items.size === 0 && state.toggles.size === 0) {
272
+ state.document.defaultView?.removeEventListener("resize", state.onWindowResize);
273
+ state.root.remove();
274
+ const host = globalThis;
275
+ const states = host[dockStatesKey];
276
+ states?.delete(state.document);
277
+ }
278
+ }
279
+ function beginPanelDrag(state, item, event) {
280
+ if (event.button !== 0 || !item.open)
281
+ return;
282
+ event.preventDefault();
283
+ const startRect = item.panel.getBoundingClientRect();
284
+ const startX = event.clientX;
285
+ const startY = event.clientY;
286
+ const move = (moveEvent) => {
287
+ const margin = 8;
288
+ const toolbarOffset = 50;
289
+ const view = state.document.defaultView;
290
+ if (!view)
291
+ return;
292
+ const left = clamp(startRect.left + moveEvent.clientX - startX, margin, view.innerWidth - startRect.width - margin);
293
+ const top = clamp(startRect.top + moveEvent.clientY - startY, margin + toolbarOffset, view.innerHeight - 60);
294
+ item.geometry = { left, top, width: startRect.width, height: startRect.height };
295
+ applyPanelGeometry(item);
296
+ positionDockForActivePanel(state);
297
+ };
298
+ const end = () => {
299
+ state.document.defaultView?.removeEventListener("pointermove", move);
300
+ state.document.defaultView?.removeEventListener("pointerup", end);
301
+ state.document.defaultView?.removeEventListener("pointercancel", end);
302
+ };
303
+ state.document.defaultView?.addEventListener("pointermove", move);
304
+ state.document.defaultView?.addEventListener("pointerup", end, { once: true });
305
+ state.document.defaultView?.addEventListener("pointercancel", end, { once: true });
306
+ }
307
+ function beginPanelResize(state, item, edge, event) {
308
+ if (event.button !== 0 || !item.open)
309
+ return;
310
+ event.preventDefault();
311
+ event.stopPropagation();
312
+ const startRect = item.panel.getBoundingClientRect();
313
+ const startX = event.clientX;
314
+ const startY = event.clientY;
315
+ const move = (moveEvent) => {
316
+ const view = state.document.defaultView;
317
+ if (!view)
318
+ return;
319
+ const margin = 8;
320
+ const minWidth = Math.min(280, view.innerWidth - margin * 2);
321
+ const minHeight = Math.min(180, view.innerHeight - 66);
322
+ const dx = moveEvent.clientX - startX;
323
+ const dy = moveEvent.clientY - startY;
324
+ let left = startRect.left;
325
+ let top = startRect.top;
326
+ let right = startRect.right;
327
+ let bottom = startRect.bottom;
328
+ if (edge.includes("w"))
329
+ left = clamp(startRect.left + dx, margin, right - minWidth);
330
+ if (edge.includes("e"))
331
+ right = clamp(startRect.right + dx, left + minWidth, view.innerWidth - margin);
332
+ if (edge.includes("n"))
333
+ top = clamp(startRect.top + dy, 58, bottom - minHeight);
334
+ if (edge.includes("s"))
335
+ bottom = clamp(startRect.bottom + dy, top + minHeight, view.innerHeight - margin);
336
+ item.geometry = { left, top, width: right - left, height: bottom - top };
337
+ applyPanelGeometry(item);
338
+ positionDockForActivePanel(state);
339
+ };
340
+ const end = () => {
341
+ state.document.defaultView?.removeEventListener("pointermove", move);
342
+ state.document.defaultView?.removeEventListener("pointerup", end);
343
+ state.document.defaultView?.removeEventListener("pointercancel", end);
344
+ };
345
+ state.document.defaultView?.addEventListener("pointermove", move);
346
+ state.document.defaultView?.addEventListener("pointerup", end, { once: true });
347
+ state.document.defaultView?.addEventListener("pointercancel", end, { once: true });
348
+ }
349
+ function applyPanelGeometry(item) {
350
+ if (!item.geometry)
351
+ return;
352
+ item.panel.style.setProperty("left", `${item.geometry.left}px`, "important");
353
+ item.panel.style.setProperty("top", `${item.geometry.top}px`, "important");
354
+ item.panel.style.setProperty("right", "auto", "important");
355
+ item.panel.style.setProperty("width", `${item.geometry.width}px`, "important");
356
+ item.panel.style.setProperty("height", `${item.geometry.height}px`, "important");
357
+ }
358
+ function positionDockForActivePanel(state) {
359
+ const activeItem = state.activeId ? state.items.get(state.activeId) : undefined;
360
+ if (!activeItem?.open) {
361
+ state.root.style.removeProperty("left");
362
+ state.root.style.removeProperty("top");
363
+ state.root.style.removeProperty("right");
364
+ return;
365
+ }
366
+ if (activeItem.geometry)
367
+ applyPanelGeometry(activeItem);
368
+ const panelRect = activeItem.panel.getBoundingClientRect();
369
+ const dockRect = state.root.getBoundingClientRect();
370
+ const view = state.document.defaultView;
371
+ const maximumLeft = view
372
+ ? Math.max(8, view.innerWidth - dockRect.width - 8)
373
+ : panelRect.right - dockRect.width;
374
+ const left = clamp(panelRect.right - dockRect.width, 8, maximumLeft);
375
+ state.root.style.left = `${left}px`;
376
+ state.root.style.top = `${Math.max(8, panelRect.top - 50)}px`;
377
+ state.root.style.right = "auto";
378
+ }
379
+ function ensureDockStyles(document) {
380
+ if (document.getElementById(dockStyleId))
381
+ return;
382
+ const style = document.createElement("style");
383
+ style.id = dockStyleId;
384
+ style.textContent = `
385
+ .ai-game-assets-in-game-designer-dock {
386
+ position: fixed;
387
+ top: 14px;
388
+ right: 14px;
389
+ z-index: 2147483647;
390
+ display: flex;
391
+ flex-direction: column;
392
+ align-items: stretch;
393
+ gap: 8px;
394
+ max-width: calc(100vw - 28px);
395
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
396
+ transition: gap 160ms ease;
397
+ }
398
+ .ai-game-assets-in-game-designer-dock.is-panel-open {
399
+ flex-direction: row;
400
+ overflow-x: auto;
401
+ overflow-y: hidden;
402
+ scrollbar-width: thin;
403
+ }
404
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button {
405
+ box-sizing: border-box;
406
+ width: 96px;
407
+ min-width: 96px;
408
+ height: 42px;
409
+ margin: 0 !important;
410
+ padding: 0 12px;
411
+ border: 1px solid #63708a;
412
+ border-radius: 999px;
413
+ background: #202838;
414
+ color: #fff;
415
+ font: 600 13px/1 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
416
+ letter-spacing: 0;
417
+ cursor: pointer;
418
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
419
+ transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
420
+ }
421
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button:hover,
422
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button:focus-visible,
423
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button.is-open {
424
+ border-color: #8bb8ff;
425
+ background: #253149;
426
+ box-shadow:
427
+ 0 0 0 3px rgba(74, 144, 255, 0.24),
428
+ 0 0 22px rgba(74, 144, 255, 0.42),
429
+ 0 12px 30px rgba(0, 0, 0, 0.42);
430
+ }
431
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button:hover,
432
+ .ai-game-assets-in-game-designer-dock > .ai-game-assets-in-game-designer-dock__button:focus-visible {
433
+ transform: translateY(-1px);
434
+ }
435
+ .ai-game-assets-in-game-designer-dock.is-panel-open > .ai-game-assets-in-game-designer-dock__button:hover,
436
+ .ai-game-assets-in-game-designer-dock.is-panel-open > .ai-game-assets-in-game-designer-dock__button:focus-visible {
437
+ transform: none;
438
+ }
439
+ .ai-game-assets-in-game-designer-dock__panel {
440
+ position: fixed !important;
441
+ top: 64px !important;
442
+ right: 14px !important;
443
+ z-index: 2147483646 !important;
444
+ display: block !important;
445
+ max-width: calc(100vw - 28px) !important;
446
+ max-height: calc(100vh - 78px) !important;
447
+ margin: 0 !important;
448
+ box-sizing: border-box !important;
449
+ }
450
+ .ai-game-assets-in-game-designer-dock__panel[hidden] {
451
+ display: none !important;
452
+ }
453
+ .ai-game-assets-in-game-designer-dock__drag-handle {
454
+ cursor: move !important;
455
+ touch-action: none;
456
+ user-select: none;
457
+ }
458
+ .ai-game-assets-in-game-designer-dock__resize-handle {
459
+ position: absolute;
460
+ z-index: 20;
461
+ touch-action: none;
462
+ }
463
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-n,
464
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-s {
465
+ left: 10px;
466
+ right: 10px;
467
+ height: 8px;
468
+ cursor: ns-resize;
469
+ }
470
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-n { top: -4px; }
471
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-s { bottom: -4px; }
472
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-e,
473
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-w {
474
+ top: 10px;
475
+ bottom: 10px;
476
+ width: 8px;
477
+ cursor: ew-resize;
478
+ }
479
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-e { right: -4px; }
480
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-w { left: -4px; }
481
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-ne,
482
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-se,
483
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-sw,
484
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-nw {
485
+ width: 14px;
486
+ height: 14px;
487
+ }
488
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-ne { top: -5px; right: -5px; cursor: nesw-resize; }
489
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-se { right: -5px; bottom: -5px; cursor: nwse-resize; }
490
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-sw { bottom: -5px; left: -5px; cursor: nesw-resize; }
491
+ .ai-game-assets-in-game-designer-dock__resize-handle.is-nw { top: -5px; left: -5px; cursor: nwse-resize; }
492
+ `;
493
+ document.head.append(style);
494
+ }
495
+ function setDockPanelOpenState(state, isOpen) {
496
+ if (state.root.classList.contains("is-panel-open") === isOpen)
497
+ return;
498
+ const buttons = [...state.items.values(), ...state.toggles.values()].map((item) => item.button);
499
+ const previousRects = new Map(buttons.map((button) => [button, button.getBoundingClientRect()]));
500
+ state.root.classList.toggle("is-panel-open", isOpen);
501
+ if (state.document.defaultView?.matchMedia("(prefers-reduced-motion: reduce)").matches)
502
+ return;
503
+ for (const button of buttons) {
504
+ const previousRect = previousRects.get(button);
505
+ if (!previousRect)
506
+ continue;
507
+ const nextRect = button.getBoundingClientRect();
508
+ const translateX = previousRect.left - nextRect.left;
509
+ const translateY = previousRect.top - nextRect.top;
510
+ if (translateX === 0 && translateY === 0)
511
+ continue;
512
+ state.layoutAnimations.get(button)?.cancel();
513
+ const animation = button.animate([
514
+ { transform: `translate(${translateX}px, ${translateY}px)` },
515
+ { transform: "translate(0, 0)" }
516
+ ], { duration: 180, easing: "cubic-bezier(0.22, 1, 0.36, 1)" });
517
+ state.layoutAnimations.set(button, animation);
518
+ }
519
+ }
520
+ function safeDomId(value) {
521
+ return value.replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "panel";
522
+ }
523
+ function clamp(value, minimum, maximum) {
524
+ return Math.min(Math.max(value, minimum), Math.max(minimum, maximum));
525
+ }
526
+ //# sourceMappingURL=designer-dock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designer-dock.js","sourceRoot":"","sources":["../src/designer-dock.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AiAssetDefinition, AiAudioPlaybackSettings, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings, AiAssetVersion } from "./types.js";
1
+ import type { AiAssetDefinition, AiAudioPlaybackSettings, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings, AiTilesetAnimationVersion, AiTilesetTileTransform, AiAssetVersion } from "./types.js";
2
2
  export type CreateVersionInput = {
3
3
  name: string;
4
4
  file: string;
@@ -13,6 +13,9 @@ export type CreateVersionInput = {
13
13
  parentVersion?: string;
14
14
  notes?: string;
15
15
  createdAt?: string;
16
+ tilesetAnimations?: Record<string, AiTilesetAnimationVersion>;
17
+ tilesetSourceFile?: string;
18
+ tilesetTransforms?: AiTilesetTileTransform[];
16
19
  };
17
20
  export declare function createAiAssetVersion(asset: AiAssetDefinition, input: CreateVersionInput): AiAssetVersion;
18
21
  export declare function addVersion(asset: AiAssetDefinition, versionName: string, version: AiAssetVersion, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CA4BhB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,iBAAiB,CASnB"}
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC9C,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAsChB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,iBAAiB,CASnB"}
@@ -24,7 +24,15 @@ export function createAiAssetVersion(asset, input) {
24
24
  },
25
25
  durationSeconds: input.durationSeconds ?? input.audioSettings?.durationSeconds,
26
26
  parentVersion: input.parentVersion,
27
- notes: input.notes
27
+ notes: input.notes,
28
+ tilesetAnimations: input.tilesetAnimations
29
+ ? Object.fromEntries(Object.entries(input.tilesetAnimations).map(([key, animation]) => [
30
+ key,
31
+ { files: [...animation.files] }
32
+ ]))
33
+ : undefined,
34
+ tilesetSourceFile: input.tilesetSourceFile,
35
+ tilesetTransforms: input.tilesetTransforms?.map((transform) => ({ ...transform }))
28
36
  };
29
37
  }
30
38
  export function addVersion(asset, versionName, version, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"generation.js","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,oBAAoB,CAClC,KAAwB,EACxB,KAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK;QACpE,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,GAAG,KAAK,CAAC,QAAQ;SAClB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe;QAC9E,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,WAAmB,EACnB,OAAuB,EACvB,UAAkC,EAAE;IAEpC,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;QACnE,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,CAAC,WAAW,CAAC,EAAE,OAAO;SACvB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generation.js","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,oBAAoB,CAClC,KAAwB,EACxB,KAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK;QACpE,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,GAAG,KAAK,CAAC,QAAQ;SAClB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe;QAC9E,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YACxC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;gBAChE,GAAG;gBACH,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE;aAChC,CAAC,CACH;YACH,CAAC,CAAC,SAAS;QACb,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,WAAmB,EACnB,OAAuB,EACvB,UAAkC,EAAE;IAEpC,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;QACnE,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,CAAC,WAAW,CAAC,EAAE,OAAO;SACvB;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- export type { AiAssetAnimation, AiAssetAnimationFrameTiming, AiAssetBackground, AiAssetDefinition, AiAssetDimensions, AiAssetFormat, AiAssetFrameGrid, AiAssetGenerationSettings, AiAssetKind, AiAssetManifest, AiAssetQuality, AiAssetSelection, AiAudioFormat, AiAudioGenerationSettings, AiAudioKind, AiAudioPlaybackSettings, AiVoiceGenerationSettings, AiAssetStyleGuide, AiAssetStyleGuideImage, AiAssetTarget, AiAssetVersion, ResolvedAiAsset } from "./types.js";
1
+ export type { AiAssetAnimation, AiAssetAnimationFrameTiming, AiAssetBackground, AiAssetDefinition, AiAssetDimensions, AiAssetFormat, AiAssetFrameGrid, AiAssetGenerationSettings, AiAssetKind, AiAssetManifest, AiAssetQuality, AiAssetSelection, AiAudioFormat, AiAudioGenerationSettings, AiAudioKind, AiAudioPlaybackSettings, AiVoiceGenerationSettings, AiAssetStyleGuide, AiAssetStyleGuideImage, AiAssetTileset, AiAssetTarget, AiAssetVersion, AiTilesetAnimation, AiTilesetAnimationFrameTiming, AiTilesetAnimationVersion, AiTilesetTile, AiTilesetTileTransform, ResolvedAiAsset } from "./types.js";
2
2
  export { assertAsset, assertManifest, defineAiAsset, defineAiAssets, expandAiAssetIds, getActiveVersion, linkedAnimationAssetIds, resolveAiAsset, resolveTargetAssetId, topLevelAiAssetIds, withActiveVersion } from "./manifest.js";
3
3
  export type { ExpandAiAssetIdsOptions, TopLevelAiAssetIdsOptions } from "./manifest.js";
4
4
  export { addVersion, createAiAssetVersion } from "./generation.js";
5
5
  export type { CreateVersionInput } from "./generation.js";
6
+ export { registerInGameDesignerPanel, registerInGameDesignerToggle } from "./designer-dock.js";
7
+ export type { InGameDesignerPanelOptions, InGameDesignerPanelRegistration, InGameDesignerToggleOptions, InGameDesignerToggleRegistration } from "./designer-dock.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { assertAsset, assertManifest, defineAiAsset, defineAiAssets, expandAiAssetIds, getActiveVersion, linkedAnimationAssetIds, resolveAiAsset, resolveTargetAssetId, topLevelAiAssetIds, withActiveVersion } from "./manifest.js";
2
2
  export { addVersion, createAiAssetVersion } from "./generation.js";
3
+ export { registerInGameDesignerPanel, registerInGameDesignerToggle } from "./designer-dock.js";
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAGzE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpC,GACL,eAAe,CAUjB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAyB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CA4D1D;AAMD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,GAAG,MAAM,GACnC,eAAe,CA0BjB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAUR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,QAAQ,GAAE,MAAM,EAAiC,EACjD,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAM,GACtD,MAAM,EAAE,CAQV;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,uBAA4B,GACpC,MAAM,EAAE,CA6BV;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAUzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,aAAa,EAAE,MAAM,GACpB,iBAAiB,CASnB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAcpB,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAGzE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpC,GACL,eAAe,CAUjB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAyB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAiE1D;AA2GD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,GAAG,MAAM,GACnC,eAAe,CA0BjB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAUR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,QAAQ,GAAE,MAAM,EAAiC,EACjD,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAM,GACtD,MAAM,EAAE,CAQV;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,uBAA4B,GACpC,MAAM,EAAE,CA6BV;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAUzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,aAAa,EAAE,MAAM,GACpB,iBAAiB,CASnB"}
package/dist/manifest.js CHANGED
@@ -1,3 +1,14 @@
1
+ const aiAssetKinds = new Set([
2
+ "image",
3
+ "spritesheet",
4
+ "animation",
5
+ "tileset",
6
+ "collection",
7
+ "sound",
8
+ "music",
9
+ "voice",
10
+ "voice-line"
11
+ ]);
1
12
  export function defineAiAsset(asset) {
2
13
  assertAsset(asset);
3
14
  return asset;
@@ -35,6 +46,9 @@ export function assertManifest(manifest) {
35
46
  }
36
47
  export function assertAsset(asset) {
37
48
  assertNonEmpty(asset.id, "asset.id");
49
+ if (!aiAssetKinds.has(asset.kind)) {
50
+ throw new Error(`${asset.id}.kind must be a supported AI asset kind.`);
51
+ }
38
52
  assertNonEmpty(asset.prompt, `${asset.id}.prompt`);
39
53
  if (asset.dimensions) {
40
54
  assertPositiveInteger(asset.dimensions.width, `${asset.id}.dimensions.width`);
@@ -68,6 +82,7 @@ export function assertAsset(asset) {
68
82
  assertPositiveInteger(asset.frameGrid.columns, `${asset.id}.frameGrid.columns`);
69
83
  assertPositiveInteger(asset.frameGrid.rows, `${asset.id}.frameGrid.rows`);
70
84
  }
85
+ assertTileset(asset);
71
86
  for (const [key, linkedAnimation] of Object.entries(asset.linkedAnimationAssets ?? {})) {
72
87
  assertNonEmpty(key, `${asset.id}.linkedAnimationAssets key`);
73
88
  assertNonEmpty(linkedAnimation.label, `${asset.id}.linkedAnimationAssets.${key}.label`);
@@ -83,7 +98,93 @@ export function assertAsset(asset) {
83
98
  }
84
99
  }
85
100
  for (const [versionName, version] of Object.entries(asset.versions)) {
86
- assertVersion(asset.id, versionName, version);
101
+ assertVersion(asset, versionName, version);
102
+ }
103
+ }
104
+ function assertTileset(asset) {
105
+ if (asset.kind !== "tileset") {
106
+ if (asset.tileset) {
107
+ throw new Error(`${asset.id}.tileset is only valid for tileset assets.`);
108
+ }
109
+ return;
110
+ }
111
+ const tileset = asset.tileset;
112
+ if (!tileset) {
113
+ throw new Error(`${asset.id}.tileset is required for tileset assets.`);
114
+ }
115
+ if (!asset.dimensions) {
116
+ throw new Error(`${asset.id}.dimensions is required for tileset assets.`);
117
+ }
118
+ if (asset.frameGrid) {
119
+ throw new Error(`${asset.id}.frameGrid must not be used for tileset assets; use tileset geometry instead.`);
120
+ }
121
+ if (asset.animations?.length) {
122
+ throw new Error(`${asset.id}.animations must not be used for tileset assets; use tileset.animations instead.`);
123
+ }
124
+ assertPositiveInteger(tileset.tileWidth, `${asset.id}.tileset.tileWidth`);
125
+ assertPositiveInteger(tileset.tileHeight, `${asset.id}.tileset.tileHeight`);
126
+ assertPositiveInteger(tileset.columns, `${asset.id}.tileset.columns`);
127
+ assertPositiveInteger(tileset.rows, `${asset.id}.tileset.rows`);
128
+ assertNonNegativeInteger(tileset.margin ?? 0, `${asset.id}.tileset.margin`);
129
+ assertNonNegativeInteger(tileset.spacing ?? 0, `${asset.id}.tileset.spacing`);
130
+ const capacity = tileset.columns * tileset.rows;
131
+ const tileCount = tileset.tileCount ?? capacity;
132
+ if (tileset.tileCount !== undefined) {
133
+ assertPositiveInteger(tileset.tileCount, `${asset.id}.tileset.tileCount`);
134
+ if (tileset.tileCount > capacity) {
135
+ throw new Error(`${asset.id}.tileset.tileCount must not exceed columns * rows (${capacity}).`);
136
+ }
137
+ }
138
+ if (tileset.tiles !== undefined) {
139
+ if (!Array.isArray(tileset.tiles) || tileset.tiles.length !== tileCount) {
140
+ throw new Error(`${asset.id}.tileset.tiles must contain exactly ${tileCount} entries.`);
141
+ }
142
+ for (const [index, tile] of tileset.tiles.entries()) {
143
+ assertNonEmpty(tile?.prompt, `${asset.id}.tileset.tiles.${index}.prompt`);
144
+ }
145
+ }
146
+ const margin = tileset.margin ?? 0;
147
+ const spacing = tileset.spacing ?? 0;
148
+ const expectedWidth = margin * 2 + tileset.columns * tileset.tileWidth +
149
+ Math.max(0, tileset.columns - 1) * spacing;
150
+ const expectedHeight = margin * 2 + tileset.rows * tileset.tileHeight +
151
+ Math.max(0, tileset.rows - 1) * spacing;
152
+ if (asset.dimensions.width !== expectedWidth || asset.dimensions.height !== expectedHeight) {
153
+ throw new Error(`${asset.id}.dimensions must match its tileset grid (${expectedWidth}x${expectedHeight}).`);
154
+ }
155
+ const animationKeys = new Set();
156
+ for (const [index, animation] of (tileset.animations ?? []).entries()) {
157
+ const label = `${asset.id}.tileset.animations.${index}`;
158
+ assertNonEmpty(animation.key, `${label}.key`);
159
+ if (animationKeys.has(animation.key)) {
160
+ throw new Error(`${asset.id}.tileset.animations contains duplicate key "${animation.key}".`);
161
+ }
162
+ animationKeys.add(animation.key);
163
+ if (animation.prompt !== undefined) {
164
+ assertNonEmpty(animation.prompt, `${label}.prompt`);
165
+ }
166
+ if (animation.tiles !== undefined) {
167
+ if (!Array.isArray(animation.tiles) || animation.tiles.length !== tileCount) {
168
+ throw new Error(`${label}.tiles must contain exactly ${tileCount} entries.`);
169
+ }
170
+ for (const [tileIndex, tile] of animation.tiles.entries()) {
171
+ assertNonEmpty(tile?.prompt, `${label}.tiles.${tileIndex}.prompt`);
172
+ }
173
+ }
174
+ assertPositiveInteger(animation.frameCount, `${label}.frameCount`);
175
+ assertPositiveNumber(animation.frameRate, `${label}.frameRate`);
176
+ if (animation.repeat !== undefined) {
177
+ assertIntegerAtLeast(animation.repeat, -1, `${label}.repeat`);
178
+ }
179
+ if (animation.frameTimings !== undefined &&
180
+ animation.frameTimings.length !== animation.frameCount) {
181
+ throw new Error(`${label}.frameTimings must contain exactly frameCount entries.`);
182
+ }
183
+ for (const [timingIndex, timing] of (animation.frameTimings ?? []).entries()) {
184
+ if (timing.delayMs !== undefined) {
185
+ assertPositiveInteger(timing.delayMs, `${label}.frameTimings.${timingIndex}.delayMs`);
186
+ }
187
+ }
87
188
  }
88
189
  }
89
190
  function isAudioLikeAsset(kind) {
@@ -207,12 +308,71 @@ function linkedAnimationSourceAssets(manifest, assetId, resolvedAssetId) {
207
308
  }
208
309
  return sources;
209
310
  }
210
- function assertVersion(assetId, versionName, version) {
311
+ function assertVersion(asset, versionName, version) {
312
+ const assetId = asset.id;
211
313
  assertNonEmpty(versionName, `${assetId}.versions key`);
212
314
  assertNonEmpty(version.name, `${assetId}.versions.${versionName}.name`);
213
315
  assertNonEmpty(version.file, `${assetId}.versions.${versionName}.file`);
214
316
  assertNonEmpty(version.prompt, `${assetId}.versions.${versionName}.prompt`);
215
317
  assertNonEmpty(version.createdAt, `${assetId}.versions.${versionName}.createdAt`);
318
+ if (asset.kind !== "tileset") {
319
+ if (version.tilesetAnimations) {
320
+ throw new Error(`${assetId}.versions.${versionName}.tilesetAnimations is only valid for tileset assets.`);
321
+ }
322
+ if (version.tilesetSourceFile !== undefined || version.tilesetTransforms !== undefined) {
323
+ throw new Error(`${assetId}.versions.${versionName} tileset source metadata is only valid for tileset assets.`);
324
+ }
325
+ return;
326
+ }
327
+ const hasTilesetSource = version.tilesetSourceFile !== undefined;
328
+ const hasTilesetTransforms = version.tilesetTransforms !== undefined;
329
+ if (hasTilesetSource !== hasTilesetTransforms) {
330
+ throw new Error(`${assetId}.versions.${versionName}.tilesetSourceFile and tilesetTransforms must be provided together.`);
331
+ }
332
+ const tileCount = asset.tileset?.tileCount ??
333
+ ((asset.tileset?.columns ?? 0) * (asset.tileset?.rows ?? 0));
334
+ if (hasTilesetSource && hasTilesetTransforms) {
335
+ assertNonEmpty(version.tilesetSourceFile, `${assetId}.versions.${versionName}.tilesetSourceFile`);
336
+ if (version.tilesetSourceFile === version.file) {
337
+ throw new Error(`${assetId}.versions.${versionName}.tilesetSourceFile must be distinct from the composed version file.`);
338
+ }
339
+ if (!Array.isArray(version.tilesetTransforms) || version.tilesetTransforms.length !== tileCount) {
340
+ throw new Error(`${assetId}.versions.${versionName}.tilesetTransforms must contain exactly ${tileCount} entries.`);
341
+ }
342
+ for (const [index, transform] of version.tilesetTransforms.entries()) {
343
+ const label = `${assetId}.versions.${versionName}.tilesetTransforms.${index}`;
344
+ assertInteger(transform?.offsetX, `${label}.offsetX`);
345
+ assertInteger(transform?.offsetY, `${label}.offsetY`);
346
+ assertPositiveNumber(transform?.scaleX, `${label}.scaleX`);
347
+ assertPositiveNumber(transform?.scaleY, `${label}.scaleY`);
348
+ }
349
+ }
350
+ const animationDefinitions = new Map((asset.tileset?.animations ?? []).map((animation) => [animation.key, animation]));
351
+ const versionFiles = new Set([
352
+ version.file,
353
+ ...(version.tilesetSourceFile ? [version.tilesetSourceFile] : [])
354
+ ]);
355
+ for (const [animationKey, sequence] of Object.entries(version.tilesetAnimations ?? {})) {
356
+ assertNonEmpty(animationKey, `${assetId}.versions.${versionName}.tilesetAnimations key`);
357
+ const definition = animationDefinitions.get(animationKey);
358
+ if (!definition) {
359
+ throw new Error(`${assetId}.versions.${versionName}.tilesetAnimations references undeclared animation "${animationKey}".`);
360
+ }
361
+ if (!Array.isArray(sequence.files) || sequence.files.length === 0) {
362
+ throw new Error(`${assetId}.versions.${versionName}.tilesetAnimations.${animationKey}.files must contain at least one file.`);
363
+ }
364
+ if (versionName === asset.activeVersion &&
365
+ sequence.files.length !== definition.frameCount) {
366
+ throw new Error(`${assetId}.versions.${versionName}.tilesetAnimations.${animationKey}.files must contain exactly ${definition.frameCount} files for the active version.`);
367
+ }
368
+ for (const [fileIndex, file] of sequence.files.entries()) {
369
+ assertNonEmpty(file, `${assetId}.versions.${versionName}.tilesetAnimations.${animationKey}.files.${fileIndex}`);
370
+ if (versionFiles.has(file)) {
371
+ throw new Error(`${assetId}.versions.${versionName} must use a distinct file for every tileset animation frame.`);
372
+ }
373
+ versionFiles.add(file);
374
+ }
375
+ }
216
376
  }
217
377
  function assertTarget(manifest, targetId, target) {
218
378
  assertNonEmpty(targetId, "targets key");
@@ -246,4 +406,19 @@ function assertPositiveNumber(value, label) {
246
406
  throw new Error(`${label} must be a positive number.`);
247
407
  }
248
408
  }
409
+ function assertNonNegativeInteger(value, label) {
410
+ if (!Number.isInteger(value) || value < 0) {
411
+ throw new Error(`${label} must be a non-negative integer.`);
412
+ }
413
+ }
414
+ function assertInteger(value, label) {
415
+ if (!Number.isInteger(value)) {
416
+ throw new Error(`${label} must be an integer.`);
417
+ }
418
+ }
419
+ function assertIntegerAtLeast(value, minimum, label) {
420
+ if (!Number.isInteger(value) || value < minimum) {
421
+ throw new Error(`${label} must be an integer greater than or equal to ${minimum}.`);
422
+ }
423
+ }
249
424
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,aAAa,CAAC,KAAwB;IACpD,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAyC,EACzC,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAoB;QAChC,aAAa,EAAE,CAAC;QAChB,MAAM;QACN,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;IAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAyB;IACtD,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,8BAA8B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3E,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC;QAC9D,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC9E,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAClF,CAAC;SAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,+CAA+C,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QACvD,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,EAAE,qDAAqD,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,EAAE,oBAAoB,KAAK,CAAC,aAAa,6BAA6B,CACvF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACxF,CAAC;QACD,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACtF,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACxF,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAChF,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,cAAc,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC7D,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,EAAE,0BAA0B,GAAG,QAAQ,CAAC,CAAC;QACxF,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,0BAA0B,GAAG,UAAU,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5D,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,eAAe,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC;QAEhG,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,eAAe,SAAS,CAAC,GAAG,uBAAuB,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA+B;IACvD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,YAAY,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAyB,EACzB,SAAoC;IAEpC,MAAM,gBAAgB,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IACvF,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;IAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,WAAW,GACf,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,oBAAoB,gBAAgB,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,mBAAmB,GAAG,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;IAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,oBAAoB,mBAAmB,mBAAmB,OAAO,IAAI,CACtE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK;QACL,WAAW,EAAE,mBAAmB;QAChC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,OAAe,EACf,QAAiB;IAEjB,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAyB,EACzB,WAAqB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EACjD,UAAqD,EAAE;IAEvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,8BAA8B,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,QAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC;IACxE,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE;QAC9B,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO;QAEtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAElC,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAErC,KAAK,MAAM,WAAW,IAAI,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;YAC1F,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC,OAAO,CAAC,CAAC;IACf,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAyB,EACzB,UAAqC,EAAE;IAEvC,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB;QACzD,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;SAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,EAAE,oBAAoB,KAAK,CAAC,aAAa,eAAe,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAwB,EACxB,aAAqB;IAErB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,SAAS,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,QAAyB,EACzB,OAAe,EACf,SAAsB,EACtB,QAAqB,EACrB,QAAiB;IAEjB,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO;IAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE9B,KAAK,MAAM,WAAW,IAAI,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;QAC1F,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC;YACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxF,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC7B,8BAA8B,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAyB,EACzB,OAAe,EACf,eAAuB;IAEvB,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEvD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,WAAmB,EACnB,OAAuB;IAEvB,cAAc,CAAC,WAAW,EAAE,GAAG,OAAO,eAAe,CAAC,CAAC;IACvD,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,aAAa,WAAW,OAAO,CAAC,CAAC;IACxE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,aAAa,WAAW,OAAO,CAAC,CAAC;IACxE,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,aAAa,WAAW,SAAS,CAAC,CAAC;IAC5E,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,aAAa,WAAW,YAAY,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,YAAY,CACnB,QAAyB,EACzB,QAAgB,EAChB,MAAqB;IAErB,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACxC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,+BAA+B,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,cAAc,CAAC,OAAO,EAAE,GAAG,QAAQ,eAAe,CAAC,CAAC;QACpD,cAAc,CAAC,cAAc,EAAE,GAAG,QAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,+BAA+B,OAAO,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,WAAW,OAAO,+BAA+B,cAAc,IAAI,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB,EAAE,KAAa;IAC9D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,KAAa;IACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type AiAssetKind = "image" | "spritesheet" | "animation" | "collection" | "sound" | "music" | "voice" | "voice-line";
1
+ export type AiAssetKind = "image" | "spritesheet" | "animation" | "tileset" | "collection" | "sound" | "music" | "voice" | "voice-line";
2
2
  export type AiAssetBackground = "transparent" | "opaque" | "auto";
3
3
  export type AiAssetQuality = "low" | "medium" | "high" | "auto";
4
4
  export type AiAssetFormat = "png" | "webp" | "jpg" | "svg";
@@ -34,6 +34,47 @@ export type AiAssetAnimationFrameTiming = {
34
34
  rotation?: number;
35
35
  tag?: string;
36
36
  };
37
+ export type AiTilesetAnimationFrameTiming = {
38
+ delayMs?: number;
39
+ };
40
+ export type AiTilesetAnimation = {
41
+ key: string;
42
+ /** @deprecated Prefer a prompt for each entry in `tiles`. */
43
+ prompt?: string;
44
+ tiles?: AiTilesetTile[];
45
+ frameCount: number;
46
+ frameRate: number;
47
+ repeat?: number;
48
+ frameTimings?: AiTilesetAnimationFrameTiming[];
49
+ };
50
+ export type AiTilesetTile = {
51
+ prompt: string;
52
+ };
53
+ export type AiAssetTileset = {
54
+ tileWidth: number;
55
+ tileHeight: number;
56
+ columns: number;
57
+ rows: number;
58
+ tileCount?: number;
59
+ margin?: number;
60
+ spacing?: number;
61
+ tiles?: AiTilesetTile[];
62
+ animations?: AiTilesetAnimation[];
63
+ };
64
+ export type AiTilesetAnimationVersion = {
65
+ files: string[];
66
+ };
67
+ /**
68
+ * A non-destructive transform applied to one tile in its own pixel coordinate
69
+ * space. Tiles are scaled around their center, then offset, and clipped to the
70
+ * tile cell when the displayed sheet is composed.
71
+ */
72
+ export type AiTilesetTileTransform = {
73
+ offsetX: number;
74
+ offsetY: number;
75
+ scaleX: number;
76
+ scaleY: number;
77
+ };
37
78
  export type AiAssetLinkedAnimation = {
38
79
  label: string;
39
80
  assetId: string;
@@ -53,6 +94,7 @@ export type AiAssetGenerationSettings = {
53
94
  quality?: AiAssetQuality;
54
95
  background?: AiAssetBackground;
55
96
  format?: AiAssetFormat;
97
+ frameAlignment?: "center" | "none";
56
98
  moderation?: "auto" | "low";
57
99
  referenceAssetIds?: string[];
58
100
  };
@@ -113,6 +155,11 @@ export type AiAssetVersion = {
113
155
  durationSeconds?: number;
114
156
  parentVersion?: string;
115
157
  notes?: string;
158
+ tilesetAnimations?: Record<string, AiTilesetAnimationVersion>;
159
+ /** Untouched source sheet used to resume non-destructive per-tile edits. */
160
+ tilesetSourceFile?: string;
161
+ /** One transform per usable tile in the source sheet. */
162
+ tilesetTransforms?: AiTilesetTileTransform[];
116
163
  };
117
164
  export type AiAssetTarget = {
118
165
  id: string;
@@ -128,6 +175,7 @@ export type AiAssetDefinition = {
128
175
  dimensions?: AiAssetDimensions;
129
176
  frameGrid?: AiAssetFrameGrid;
130
177
  animations?: AiAssetAnimation[];
178
+ tileset?: AiAssetTileset;
131
179
  settings?: AiAssetGenerationSettings;
132
180
  audioSettings?: AiAudioGenerationSettings;
133
181
  audioPlayback?: AiAudioPlaybackSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-game-assets/core",
3
- "version": "0.5.6",
3
+ "version": "0.7.0",
4
4
  "description": "Core manifest and runtime types for prompt-aware AI game assets.",
5
5
  "license": "MIT",
6
6
  "repository": {