@rb-games/core 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/chunk-5BLUF2HG.js +25 -0
  2. package/dist/chunk-5BLUF2HG.js.map +1 -0
  3. package/dist/chunk-DOHQE2YZ.js +392 -0
  4. package/dist/chunk-DOHQE2YZ.js.map +1 -0
  5. package/dist/chunk-FOZO6TLY.js +673 -0
  6. package/dist/chunk-FOZO6TLY.js.map +1 -0
  7. package/dist/chunk-G3PMV62Z.js +33 -0
  8. package/dist/chunk-G3PMV62Z.js.map +1 -0
  9. package/dist/chunk-JHN6RF66.js +1580 -0
  10. package/dist/chunk-JHN6RF66.js.map +1 -0
  11. package/dist/chunk-MI6BP7A6.js +11 -0
  12. package/dist/chunk-MI6BP7A6.js.map +1 -0
  13. package/dist/chunk-NAQG7TMS.js +5517 -0
  14. package/dist/chunk-NAQG7TMS.js.map +1 -0
  15. package/dist/chunk-NQMORMNP.js +15 -0
  16. package/dist/chunk-NQMORMNP.js.map +1 -0
  17. package/dist/chunk-RAEOBW6E.js +133 -0
  18. package/dist/chunk-RAEOBW6E.js.map +1 -0
  19. package/dist/chunk-UE7T7Z45.js +884 -0
  20. package/dist/chunk-UE7T7Z45.js.map +1 -0
  21. package/dist/chunk-YSLGJAV6.js +492 -0
  22. package/dist/chunk-YSLGJAV6.js.map +1 -0
  23. package/dist/devtools/index.js +2 -882
  24. package/dist/devtools/index.js.map +1 -1
  25. package/dist/engine/index.js +6 -1267
  26. package/dist/engine/index.js.map +1 -1
  27. package/dist/filters/index.js +1 -1
  28. package/dist/helpers/index.js +13 -39
  29. package/dist/helpers/index.js.map +1 -1
  30. package/dist/i18n/index.js +4 -525
  31. package/dist/i18n/index.js.map +1 -1
  32. package/dist/layout/index.js +2 -671
  33. package/dist/layout/index.js.map +1 -1
  34. package/dist/particle/index.js +1 -6
  35. package/dist/particle/index.js.map +1 -1
  36. package/dist/plugins/Plugin.types.d.ts +4 -2
  37. package/dist/plugins/Plugin.types.d.ts.map +1 -1
  38. package/dist/plugins/index.js +11 -523
  39. package/dist/plugins/index.js.map +1 -1
  40. package/dist/state-machine/index.js +4 -2
  41. package/dist/state-machine/index.js.map +1 -1
  42. package/dist/store/index.js +1 -1
  43. package/dist/ui/index.js +28 -536
  44. package/dist/ui/index.js.map +1 -1
  45. package/dist/utils/index.js +5 -897
  46. package/dist/utils/index.js.map +1 -1
  47. package/dist/vite/index.js +4 -2
  48. package/dist/vite/index.js.map +1 -1
  49. package/package.json +1 -1
@@ -1,884 +1,4 @@
1
- // devtools/DraggableController.ts
2
- var dragStates = /* @__PURE__ */ new WeakMap();
3
- var originalEventModes = /* @__PURE__ */ new WeakMap();
4
- var originalCursors = /* @__PURE__ */ new WeakMap();
5
- function onDragStart(e) {
6
- if (!this.__draggable) return;
7
- this.__dragging = true;
8
- this.cursor = "grabbing";
9
- const parent = this.parent;
10
- if (!parent) return;
11
- const localPos = parent.toLocal(e.global);
12
- dragStates.set(this, {
13
- offsetX: localPos.x - this.x,
14
- offsetY: localPos.y - this.y
15
- });
16
- e.stopPropagation();
17
- }
18
- function onDragMove(e) {
19
- if (!this.__dragging) return;
20
- const state = dragStates.get(this);
21
- if (!state) return;
22
- const parent = this.parent;
23
- if (!parent) return;
24
- const localPos = parent.toLocal(e.global);
25
- this.x = localPos.x - state.offsetX;
26
- this.y = localPos.y - state.offsetY;
27
- }
28
- function onDragEnd() {
29
- if (!this.__dragging) return;
30
- this.__dragging = false;
31
- this.cursor = "grab";
32
- dragStates.delete(this);
33
- }
34
- function enableDrag(container) {
35
- originalEventModes.set(container, container.eventMode);
36
- originalCursors.set(container, container.cursor);
37
- container.eventMode = "static";
38
- container.cursor = "grab";
39
- container.on("pointerdown", onDragStart, container);
40
- container.on("globalpointermove", onDragMove, container);
41
- container.on("pointerup", onDragEnd, container);
42
- container.on("pointerupoutside", onDragEnd, container);
43
- }
44
- function disableDrag(container) {
45
- container.off("pointerdown", onDragStart, container);
46
- container.off("globalpointermove", onDragMove, container);
47
- container.off("pointerup", onDragEnd, container);
48
- container.off("pointerupoutside", onDragEnd, container);
49
- const originalMode = originalEventModes.get(container);
50
- if (originalMode !== void 0) {
51
- container.eventMode = originalMode;
52
- }
53
- const originalCursor = originalCursors.get(container);
54
- if (originalCursor !== void 0) {
55
- container.cursor = originalCursor;
56
- }
57
- container.__dragging = false;
58
- dragStates.delete(container);
59
- originalEventModes.delete(container);
60
- originalCursors.delete(container);
61
- }
62
- function isDraggable(container) {
63
- return container.__draggable === true;
64
- }
65
- function isDragging(container) {
66
- return container.__dragging === true;
67
- }
68
-
69
- // devtools/ResizableController.ts
70
- var resizeStates = /* @__PURE__ */ new WeakMap();
71
- var HANDLE_SIZE = 10;
72
- var cursors = {
73
- nw: "nwse-resize",
74
- n: "ns-resize",
75
- ne: "nesw-resize",
76
- e: "ew-resize",
77
- se: "nwse-resize",
78
- s: "ns-resize",
79
- sw: "nesw-resize",
80
- w: "ew-resize"
81
- };
82
- function getCanvasElement(container) {
83
- var _a2, _b;
84
- try {
85
- const renderer = ((_a2 = container.__pixiApp) == null ? void 0 : _a2.renderer) ?? ((_b = globalThis.__PIXI_APP__) == null ? void 0 : _b.renderer);
86
- if (renderer == null ? void 0 : renderer.canvas) return renderer.canvas;
87
- return document.querySelector("canvas");
88
- } catch {
89
- return document.querySelector("canvas");
90
- }
91
- }
92
- function createOverlayContainer(canvas) {
93
- var _a2;
94
- const div = document.createElement("div");
95
- div.className = "__pixi_resize_overlay__";
96
- div.style.cssText = `
97
- position: absolute;
98
- top: 0;
99
- left: 0;
100
- width: 100%;
101
- height: 100%;
102
- pointer-events: none;
103
- z-index: 10000;
104
- `;
105
- (_a2 = canvas.parentElement) == null ? void 0 : _a2.appendChild(div);
106
- return div;
107
- }
108
- function createBorderDiv() {
109
- const div = document.createElement("div");
110
- div.style.cssText = `
111
- position: absolute;
112
- border: 2px dashed #00aaff;
113
- pointer-events: none;
114
- box-sizing: border-box;
115
- `;
116
- return div;
117
- }
118
- function createHandleDiv(pos) {
119
- const div = document.createElement("div");
120
- div.dataset.handle = pos;
121
- div.style.cssText = `
122
- position: absolute;
123
- width: ${HANDLE_SIZE}px;
124
- height: ${HANDLE_SIZE}px;
125
- background: #00aaff;
126
- border: 1px solid white;
127
- border-radius: 2px;
128
- cursor: ${cursors[pos]};
129
- pointer-events: auto;
130
- transform: translate(-50%, -50%);
131
- transition: background 0.1s;
132
- `;
133
- div.addEventListener("mouseenter", () => {
134
- div.style.background = "#ff6600";
135
- });
136
- div.addEventListener("mouseleave", () => {
137
- div.style.background = "#00aaff";
138
- });
139
- return div;
140
- }
141
- function createResizeOverlay(container, canvas) {
142
- const overlayContainer = createOverlayContainer(canvas);
143
- const border = createBorderDiv();
144
- overlayContainer.appendChild(border);
145
- const handles = /* @__PURE__ */ new Map();
146
- const positions = ["nw", "n", "ne", "e", "se", "s", "sw", "w"];
147
- positions.forEach((pos) => {
148
- const handle = createHandleDiv(pos);
149
- handles.set(pos, handle);
150
- overlayContainer.appendChild(handle);
151
- handle.addEventListener("pointerdown", (e) => {
152
- e.preventDefault();
153
- e.stopPropagation();
154
- onResizeStart(container, pos, e);
155
- });
156
- });
157
- return {
158
- container: overlayContainer,
159
- handles,
160
- border,
161
- animationId: null
162
- };
163
- }
164
- function updateOverlayPositions(container, canvas) {
165
- var _a2, _b;
166
- const overlay = container.__resizeOverlay;
167
- if (!overlay) return;
168
- const bounds = container.getBounds();
169
- const canvasRect = canvas.getBoundingClientRect();
170
- const renderer = ((_a2 = globalThis.__PIXI_APP__) == null ? void 0 : _a2.renderer) ?? ((_b = container.__pixiApp) == null ? void 0 : _b.renderer);
171
- let scaleX = 1;
172
- let scaleY = 1;
173
- if (renderer) {
174
- scaleX = canvasRect.width / renderer.width;
175
- scaleY = canvasRect.height / renderer.height;
176
- }
177
- const x = bounds.x * scaleX;
178
- const y = bounds.y * scaleY;
179
- const w = bounds.width * scaleX;
180
- const h = bounds.height * scaleY;
181
- overlay.border.style.left = `${x}px`;
182
- overlay.border.style.top = `${y}px`;
183
- overlay.border.style.width = `${w}px`;
184
- overlay.border.style.height = `${h}px`;
185
- const handlePositions = {
186
- nw: { x, y },
187
- n: { x: x + w / 2, y },
188
- ne: { x: x + w, y },
189
- e: { x: x + w, y: y + h / 2 },
190
- se: { x: x + w, y: y + h },
191
- s: { x: x + w / 2, y: y + h },
192
- sw: { x, y: y + h },
193
- w: { x, y: y + h / 2 }
194
- };
195
- overlay.handles.forEach((handle, pos) => {
196
- const { x: hx, y: hy } = handlePositions[pos];
197
- handle.style.left = `${hx}px`;
198
- handle.style.top = `${hy}px`;
199
- });
200
- }
201
- function startUpdateLoop(container, canvas) {
202
- const overlay = container.__resizeOverlay;
203
- if (!overlay) return;
204
- const update = () => {
205
- if (!container.__resizable || !container.__resizeOverlay) return;
206
- updateOverlayPositions(container, canvas);
207
- overlay.animationId = requestAnimationFrame(update);
208
- };
209
- overlay.animationId = requestAnimationFrame(update);
210
- }
211
- function stopUpdateLoop(overlay) {
212
- if (overlay.animationId !== null) {
213
- cancelAnimationFrame(overlay.animationId);
214
- overlay.animationId = null;
215
- }
216
- }
217
- function onResizeStart(container, handle, e) {
218
- if (!container.__resizable) return;
219
- container.__resizing = true;
220
- const bounds = container.getLocalBounds();
221
- resizeStates.set(container, {
222
- handle,
223
- startX: e.clientX,
224
- startY: e.clientY,
225
- startScaleX: container.scale.x,
226
- startScaleY: container.scale.y,
227
- startPosX: container.x,
228
- startPosY: container.y,
229
- startBounds: { width: bounds.width, height: bounds.height }
230
- });
231
- const onMove = (moveEvent) => {
232
- onResizeMove(container, moveEvent);
233
- };
234
- const onUp = () => {
235
- onResizeEnd(container);
236
- document.removeEventListener("pointermove", onMove);
237
- document.removeEventListener("pointerup", onUp);
238
- };
239
- document.addEventListener("pointermove", onMove);
240
- document.addEventListener("pointerup", onUp);
241
- }
242
- function onResizeMove(container, e) {
243
- const state = resizeStates.get(container);
244
- if (!state || !container.__resizing) return;
245
- const dx = e.clientX - state.startX;
246
- const dy = e.clientY - state.startY;
247
- const baseWidth = state.startBounds.width;
248
- const baseHeight = state.startBounds.height;
249
- const startWidth = baseWidth * state.startScaleX;
250
- const startHeight = baseHeight * state.startScaleY;
251
- let newScaleX = state.startScaleX;
252
- let newScaleY = state.startScaleY;
253
- let newX = state.startPosX;
254
- let newY = state.startPosY;
255
- switch (state.handle) {
256
- case "e":
257
- newScaleX = (startWidth + dx) / baseWidth;
258
- break;
259
- case "w":
260
- newScaleX = (startWidth - dx) / baseWidth;
261
- newX = state.startPosX + dx;
262
- break;
263
- case "s":
264
- newScaleY = (startHeight + dy) / baseHeight;
265
- break;
266
- case "n":
267
- newScaleY = (startHeight - dy) / baseHeight;
268
- newY = state.startPosY + dy;
269
- break;
270
- case "se":
271
- newScaleX = (startWidth + dx) / baseWidth;
272
- newScaleY = (startHeight + dy) / baseHeight;
273
- break;
274
- case "sw":
275
- newScaleX = (startWidth - dx) / baseWidth;
276
- newScaleY = (startHeight + dy) / baseHeight;
277
- newX = state.startPosX + dx;
278
- break;
279
- case "ne":
280
- newScaleX = (startWidth + dx) / baseWidth;
281
- newScaleY = (startHeight - dy) / baseHeight;
282
- newY = state.startPosY + dy;
283
- break;
284
- case "nw":
285
- newScaleX = (startWidth - dx) / baseWidth;
286
- newScaleY = (startHeight - dy) / baseHeight;
287
- newX = state.startPosX + dx;
288
- newY = state.startPosY + dy;
289
- break;
290
- }
291
- if (newScaleX > 0.1) {
292
- container.scale.x = newScaleX;
293
- container.x = newX;
294
- }
295
- if (newScaleY > 0.1) {
296
- container.scale.y = newScaleY;
297
- container.y = newY;
298
- }
299
- }
300
- function onResizeEnd(container) {
301
- container.__resizing = false;
302
- resizeStates.delete(container);
303
- }
304
- function enableResize(container) {
305
- if (container.__resizeOverlay) return;
306
- const canvas = getCanvasElement(container);
307
- if (!canvas) {
308
- console.warn("[ResizableController] Canvas not found");
309
- return;
310
- }
311
- const overlay = createResizeOverlay(container, canvas);
312
- container.__resizeOverlay = overlay;
313
- updateOverlayPositions(container, canvas);
314
- startUpdateLoop(container, canvas);
315
- }
316
- function disableResize(container) {
317
- const overlay = container.__resizeOverlay;
318
- if (overlay) {
319
- stopUpdateLoop(overlay);
320
- overlay.container.remove();
321
- container.__resizeOverlay = void 0;
322
- }
323
- container.__resizing = false;
324
- resizeStates.delete(container);
325
- }
326
- function isResizable(container) {
327
- return container.__resizable === true;
328
- }
329
- function isResizing(container) {
330
- return container.__resizing === true;
331
- }
332
-
333
- // devtools/treePlugin.ts
334
- var draggableTreePlugin = {
335
- extension: {
336
- name: "draggable-tree",
337
- type: "sceneTree"
338
- },
339
- updateNodeMetadata(node, metadata) {
340
- metadata.buttons.push({
341
- name: "drag",
342
- icon: "\u270B",
343
- type: "toggle",
344
- value: node.__draggable ?? false
345
- });
346
- metadata.buttons.push({
347
- name: "resize",
348
- icon: "\u2921",
349
- type: "toggle",
350
- value: node.__resizable ?? false
351
- });
352
- const suffixes = [];
353
- if (node.__draggable) suffixes.push("\u{1F500}");
354
- if (node.__resizable) suffixes.push("\u{1F4D0}");
355
- if (suffixes.length > 0) {
356
- metadata.suffix = (metadata.suffix ?? "") + " " + suffixes.join("");
357
- }
358
- return metadata;
359
- },
360
- onButtonPress(container, buttonName, pressed) {
361
- if (buttonName === "drag") {
362
- container.__draggable = pressed;
363
- if (pressed) {
364
- enableDrag(container);
365
- } else {
366
- disableDrag(container);
367
- }
368
- } else if (buttonName === "resize") {
369
- container.__resizable = pressed;
370
- if (pressed) {
371
- enableResize(container);
372
- } else {
373
- disableResize(container);
374
- }
375
- }
376
- }
377
- };
378
-
379
- // devtools/overlayPlugin.ts
380
- var defaultSelectedStyle = {
381
- backgroundColor: "hsla(340, 70%, 44%, 0.35)",
382
- border: "1px solid hsla(0, 0%, 100%, 0.5)"
383
- };
384
- var defaultHoverStyle = {
385
- backgroundColor: "hsla(192, 84%, 40%, 0.40)",
386
- border: "1px solid hsla(0, 0%, 100%, 0.5)"
387
- };
388
- var draggableOverlayPlugin = {
389
- extension: {
390
- name: "draggable-overlay",
391
- type: "overlay"
392
- },
393
- getSelectedStyle(node) {
394
- const n = node;
395
- if (n && isDragging(n)) {
396
- return {
397
- backgroundColor: "rgba(255, 165, 0, 0.3)",
398
- border: "2px dashed orange"
399
- };
400
- }
401
- if (n && isResizing(n)) {
402
- return {
403
- backgroundColor: "rgba(255, 165, 0, 0.3)",
404
- border: "2px dashed orange"
405
- };
406
- }
407
- if (n && (n.__draggable || n.__resizable)) {
408
- return {
409
- backgroundColor: "rgba(255, 165, 0, 0.2)",
410
- border: "2px solid orange"
411
- };
412
- }
413
- return defaultSelectedStyle;
414
- },
415
- getHoverStyle(node) {
416
- const n = node;
417
- if (n && (n.__draggable || n.__resizable)) {
418
- return {
419
- backgroundColor: "rgba(255, 165, 0, 0.15)",
420
- border: "1px dashed orange"
421
- };
422
- }
423
- return defaultHoverStyle;
424
- }
425
- };
426
-
427
- // devtools/spriteTextPropertiesPlugin.ts
428
- var SECTION = "SpriteText";
429
- var spriteTextProps = [
430
- "spriteText.text",
431
- "spriteText.font",
432
- "spriteText.tint",
433
- "spriteText.fontSize",
434
- "spriteText.pivotHorizontal",
435
- "spriteText.pivotVertical",
436
- "spriteText.lineAlign",
437
- "spriteText.letterSpacing",
438
- "spriteText.spaceWidth",
439
- "spriteText.wordWrap",
440
- "spriteText.wordWrapWidth",
441
- "spriteText.breakWord",
442
- "spriteText.allowLineBreak",
443
- "spriteText.kerningEnabled",
444
- "spriteText.curveEnabled",
445
- "spriteText.curveControlXPercent",
446
- "spriteText.curveControlYPercent"
447
- ];
448
- function isSpriteText(container) {
449
- const name = container.constructor.name;
450
- if (name === "SpriteText") return true;
451
- const c = container;
452
- const isDuck = c._text !== void 0 && c._font !== void 0 && c._glyphs !== void 0;
453
- if (isDuck) {
454
- console.log("[SpriteText Plugin] Detected via duck typing:", name);
455
- }
456
- return isDuck;
457
- }
458
- var spriteTextPropertiesPlugin = {
459
- extension: {
460
- type: "sceneProperties",
461
- name: "spritetext-properties",
462
- priority: 10
463
- },
464
- testNode(container) {
465
- return isSpriteText(container);
466
- },
467
- testProp(prop) {
468
- return spriteTextProps.includes(prop);
469
- },
470
- setProperty(container, prop, value) {
471
- const spriteText = container;
472
- const propName = prop.replace("spriteText.", "");
473
- switch (propName) {
474
- case "text":
475
- spriteText.text = value;
476
- break;
477
- case "font":
478
- spriteText.font = value;
479
- break;
480
- case "tint":
481
- if (typeof value === "string") {
482
- spriteText.tint = parseInt(value.replace("#", ""), 16);
483
- } else {
484
- spriteText.tint = value;
485
- }
486
- break;
487
- case "fontSize":
488
- spriteText.fontSize = value;
489
- break;
490
- case "pivotHorizontal":
491
- spriteText.pivotHorizontal = value;
492
- break;
493
- case "pivotVertical":
494
- spriteText.pivotVertical = value;
495
- break;
496
- case "lineAlign":
497
- spriteText.lineAlign = value;
498
- break;
499
- case "letterSpacing":
500
- spriteText.letterSpacing = value;
501
- break;
502
- case "spaceWidth":
503
- spriteText.spaceWidth = value;
504
- break;
505
- case "wordWrap":
506
- spriteText.wordWrap = value;
507
- break;
508
- case "wordWrapWidth":
509
- spriteText.wordWrapWidth = value;
510
- break;
511
- case "breakWord":
512
- spriteText.breakWord = value;
513
- break;
514
- case "allowLineBreak":
515
- spriteText.allowLineBreak = value;
516
- break;
517
- case "kerningEnabled":
518
- spriteText.kerningEnabled = value;
519
- break;
520
- case "curveEnabled":
521
- spriteText.curveEnabled = value;
522
- break;
523
- case "curveControlXPercent":
524
- spriteText.curveControlXPercent = value;
525
- break;
526
- case "curveControlYPercent":
527
- spriteText.curveControlYPercent = value;
528
- break;
529
- }
530
- },
531
- getProperties(container) {
532
- try {
533
- const spriteText = container;
534
- return [
535
- {
536
- prop: "spriteText.text",
537
- value: spriteText.text,
538
- entry: {
539
- section: SECTION,
540
- label: "Text",
541
- type: "text"
542
- }
543
- },
544
- {
545
- prop: "spriteText.plainText",
546
- value: spriteText.plainText,
547
- entry: {
548
- section: SECTION,
549
- label: "Plain Text",
550
- type: "text"
551
- }
552
- },
553
- {
554
- prop: "spriteText.bbcodeEnabled",
555
- value: spriteText.bbcodeEnabled,
556
- entry: {
557
- section: SECTION,
558
- label: "BBCode Enabled",
559
- type: "boolean"
560
- }
561
- },
562
- {
563
- prop: "spriteText.font",
564
- value: spriteText.font,
565
- entry: {
566
- section: SECTION,
567
- label: "Font",
568
- type: "text"
569
- }
570
- },
571
- {
572
- prop: "spriteText.fonts",
573
- value: spriteText.fonts.join(", "),
574
- entry: {
575
- section: SECTION,
576
- label: "Fonts",
577
- type: "text"
578
- }
579
- },
580
- {
581
- prop: "spriteText.tint",
582
- // DevTools color picker expects number
583
- value: spriteText.tint,
584
- entry: {
585
- section: SECTION,
586
- label: "Tint",
587
- type: "color"
588
- }
589
- },
590
- {
591
- prop: "spriteText.fontSize",
592
- value: spriteText.fontSize,
593
- entry: {
594
- section: SECTION,
595
- label: "Font Size",
596
- type: "number"
597
- }
598
- },
599
- {
600
- prop: "spriteText.pivotHorizontal",
601
- value: spriteText.pivotHorizontal,
602
- entry: {
603
- section: SECTION,
604
- label: "Pivot H",
605
- type: "select",
606
- options: { options: ["left", "center", "right"] }
607
- }
608
- },
609
- {
610
- prop: "spriteText.pivotVertical",
611
- value: spriteText.pivotVertical,
612
- entry: {
613
- section: SECTION,
614
- label: "Pivot V",
615
- type: "select",
616
- options: { options: ["top", "middle", "bottom"] }
617
- }
618
- },
619
- {
620
- prop: "spriteText.lineAlign",
621
- value: spriteText.lineAlign,
622
- entry: {
623
- section: SECTION,
624
- label: "Line Align",
625
- type: "select",
626
- options: { options: ["left", "center", "right"] }
627
- }
628
- },
629
- {
630
- prop: "spriteText.letterSpacing",
631
- value: spriteText.letterSpacing,
632
- entry: {
633
- section: SECTION,
634
- label: "Letter Spacing",
635
- type: "number"
636
- }
637
- },
638
- {
639
- prop: "spriteText.spaceWidth",
640
- value: spriteText.spaceWidth,
641
- entry: {
642
- section: SECTION,
643
- label: "Space Width",
644
- type: "number"
645
- }
646
- },
647
- {
648
- prop: "spriteText.wordWrap",
649
- value: spriteText.wordWrap,
650
- entry: {
651
- section: SECTION,
652
- label: "Word Wrap",
653
- type: "boolean"
654
- }
655
- },
656
- {
657
- prop: "spriteText.wordWrapWidth",
658
- value: spriteText.wordWrapWidth,
659
- entry: {
660
- section: SECTION,
661
- label: "Wrap Width",
662
- type: "number"
663
- }
664
- },
665
- {
666
- prop: "spriteText.breakWord",
667
- value: spriteText.breakWord,
668
- entry: {
669
- section: SECTION,
670
- label: "Break Word",
671
- type: "boolean"
672
- }
673
- },
674
- {
675
- prop: "spriteText.allowLineBreak",
676
- value: spriteText.allowLineBreak,
677
- entry: {
678
- section: SECTION,
679
- label: "Allow Line Break",
680
- type: "boolean"
681
- }
682
- },
683
- {
684
- prop: "spriteText.kerningEnabled",
685
- value: spriteText.kerningEnabled,
686
- entry: {
687
- section: SECTION,
688
- label: "Kerning",
689
- type: "boolean"
690
- }
691
- },
692
- {
693
- prop: "spriteText.curveEnabled",
694
- value: spriteText.curveEnabled,
695
- entry: {
696
- section: SECTION,
697
- label: "Curve Enabled",
698
- type: "boolean"
699
- }
700
- },
701
- {
702
- prop: "spriteText.curveControlXPercent",
703
- value: spriteText.curveControlXPercent,
704
- entry: {
705
- section: SECTION,
706
- label: "Curve X %",
707
- type: "number"
708
- }
709
- },
710
- {
711
- prop: "spriteText.curveControlYPercent",
712
- value: spriteText.curveControlYPercent,
713
- entry: {
714
- section: SECTION,
715
- label: "Curve Y %",
716
- type: "number"
717
- }
718
- }
719
- ];
720
- } catch (e) {
721
- console.error("[SpriteText Plugin] Error getting properties:", e);
722
- return [];
723
- }
724
- }
725
- };
726
-
727
- // devtools/spinePropertiesPlugin.ts
728
- var SECTION2 = "Spine";
729
- var spineProps = [
730
- "spine.currentAnimation",
731
- "spine.currentSkin",
732
- "spine.autoUpdate",
733
- "spine.playAnimation"
734
- ];
735
- function isSpine(container) {
736
- var _a2, _b;
737
- const name = container.constructor.name;
738
- if (name === "Spine") return true;
739
- const c = container;
740
- return c.skeleton !== void 0 && c.state !== void 0 && ((_b = (_a2 = c.skeleton) == null ? void 0 : _a2.data) == null ? void 0 : _b.animations) !== void 0;
741
- }
742
- function getAnimationNames(spine) {
743
- try {
744
- return spine.skeleton.data.animations.map((a) => a.name);
745
- } catch {
746
- return [];
747
- }
748
- }
749
- function getSkinNames(spine) {
750
- try {
751
- return spine.skeleton.data.skins.map((s) => s.name);
752
- } catch {
753
- return [];
754
- }
755
- }
756
- function getCurrentAnimation(spine) {
757
- var _a2;
758
- try {
759
- const track = spine.state.tracks[0];
760
- return ((_a2 = track == null ? void 0 : track.animation) == null ? void 0 : _a2.name) ?? "(none)";
761
- } catch {
762
- return "(none)";
763
- }
764
- }
765
- function getCurrentSkin(spine) {
766
- var _a2;
767
- try {
768
- return ((_a2 = spine.skeleton.skin) == null ? void 0 : _a2.name) ?? "default";
769
- } catch {
770
- return "default";
771
- }
772
- }
773
- var spinePropertiesPlugin = {
774
- extension: {
775
- type: "sceneProperties",
776
- name: "spine-properties",
777
- priority: 10
778
- },
779
- testNode(container) {
780
- return isSpine(container);
781
- },
782
- testProp(prop) {
783
- return spineProps.includes(prop);
784
- },
785
- setProperty(container, prop, value) {
786
- const spine = container;
787
- const propName = prop.replace("spine.", "");
788
- switch (propName) {
789
- case "currentSkin":
790
- try {
791
- spine.skeleton.setSkinByName(value);
792
- spine.skeleton.setSlotsToSetupPose();
793
- } catch (e) {
794
- console.error("[Spine Plugin] Error setting skin:", e);
795
- }
796
- break;
797
- case "playAnimation":
798
- try {
799
- if (value && value !== "(none)") {
800
- spine.state.setAnimation(0, value, true);
801
- } else {
802
- spine.state.setEmptyAnimation(0, 0.2);
803
- }
804
- } catch (e) {
805
- console.error("[Spine Plugin] Error playing animation:", e);
806
- }
807
- break;
808
- case "autoUpdate":
809
- spine.autoUpdate = value;
810
- break;
811
- }
812
- },
813
- getProperties(container) {
814
- try {
815
- const spine = container;
816
- const animations = getAnimationNames(spine);
817
- const skins = getSkinNames(spine);
818
- const currentAnim = getCurrentAnimation(spine);
819
- const currentSkin = getCurrentSkin(spine);
820
- return [
821
- {
822
- prop: "spine.currentAnimation",
823
- value: currentAnim,
824
- entry: {
825
- section: SECTION2,
826
- label: "Current Animation",
827
- type: "text",
828
- options: { disabled: true }
829
- }
830
- },
831
- {
832
- prop: "spine.playAnimation",
833
- value: currentAnim,
834
- entry: {
835
- section: SECTION2,
836
- label: "Play Animation",
837
- type: "select",
838
- options: { options: ["(none)", ...animations] }
839
- }
840
- },
841
- {
842
- prop: "spine.currentSkin",
843
- value: currentSkin,
844
- entry: {
845
- section: SECTION2,
846
- label: "Skin",
847
- type: "select",
848
- options: { options: skins }
849
- }
850
- },
851
- {
852
- prop: "spine.autoUpdate",
853
- value: spine.autoUpdate,
854
- entry: {
855
- section: SECTION2,
856
- label: "Auto Update",
857
- type: "boolean"
858
- }
859
- }
860
- ];
861
- } catch (e) {
862
- console.error("[Spine Plugin] Error getting properties:", e);
863
- return [];
864
- }
865
- }
866
- };
867
-
868
- // devtools/index.ts
869
- var gThis = globalThis;
870
- var _a;
871
- gThis.__PIXI_DEVTOOLS__ = {
872
- ...gThis.__PIXI_DEVTOOLS__,
873
- extensions: [
874
- ...((_a = gThis.__PIXI_DEVTOOLS__) == null ? void 0 : _a.extensions) ?? [],
875
- draggableTreePlugin,
876
- draggableOverlayPlugin,
877
- spriteTextPropertiesPlugin,
878
- spinePropertiesPlugin
879
- ]
880
- };
881
-
882
- export { disableDrag, disableResize, draggableOverlayPlugin, draggableTreePlugin, enableDrag, enableResize, isDraggable, isDragging, isResizable, isResizing, spinePropertiesPlugin, spriteTextPropertiesPlugin };
1
+ export { disableDrag, disableResize, draggableOverlayPlugin, draggableTreePlugin, enableDrag, enableResize, isDraggable, isDragging, isResizable, isResizing, spinePropertiesPlugin, spriteTextPropertiesPlugin } from '../chunk-UE7T7Z45.js';
2
+ import '../chunk-G3PMV62Z.js';
883
3
  //# sourceMappingURL=index.js.map
884
4
  //# sourceMappingURL=index.js.map