@turbowarp/types 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbowarp/types",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Type definitions for the Scratch VM and editor",
5
5
  "keywords": [
6
6
  "scratch"
@@ -46,6 +46,20 @@ if (target) {
46
46
  bubbleState.text.charAt(0);
47
47
  target.setCustomState('Scratch.looks', bubbleState);
48
48
  }
49
+
50
+ target.on('TARGET_MOVED', (target, fromX, fromY, forced) => {
51
+ const id: string = target.id;
52
+ const x: number = fromX;
53
+ const y: number = fromY;
54
+ const f: boolean | undefined = forced;
55
+ })
56
+ target.on('EVENT_TARGET_VISUAL_CHANGE', (target) => {
57
+ const id: string = target.id;
58
+ });
59
+
60
+ runtime.on('STOP_FOR_TARGET', (t: VM.RenderedTarget) => {
61
+
62
+ });
49
63
  } else {
50
64
  const doesNotExist: undefined = target;
51
65
  }
@@ -112,6 +112,7 @@ declare namespace AudioEngine {
112
112
  finished(): Promise<void>;
113
113
  setPlaybackRate(playbackRate: number): void;
114
114
  take(): SoundPlayer;
115
+ connect(connectable: AudioEngine | Effect | EffectChain): void;
115
116
  }
116
117
 
117
118
  interface SoundBank {
@@ -11,14 +11,7 @@ declare namespace RenderWebGL {
11
11
 
12
12
  type BitmapData = ImageData | ImageBitmap | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement;
13
13
 
14
- const enum LayerGroup {
15
- // The renderer can be configured to use any strings as group names, but these are the groups
16
- // that scratch-vm uses, listed in order.
17
- Background = 'background',
18
- Video = 'video',
19
- Pen = 'pen',
20
- Sprite = 'sprite'
21
- }
14
+ type LayerGroup = 'background' | 'video' | 'pen' | 'sprite' | string;
22
15
 
23
16
  const enum UseGpuModes {
24
17
  Automatic = 'Automatic',
@@ -465,7 +458,7 @@ declare class RenderWebGL extends EventEmitter<RenderWebGL.ScratchRenderEventMap
465
458
  _nextDrawableId: number;
466
459
  _allDrawables: RenderWebGL.Drawable[];
467
460
 
468
- createDrawable(group: string): void;
461
+ createDrawable(group: string): number;
469
462
  destroyDrawable(drawableID: number, group: RenderWebGL.LayerGroup): void;
470
463
 
471
464
  _allSkins: RenderWebGL.Skin[];
@@ -474,7 +467,7 @@ declare class RenderWebGL extends EventEmitter<RenderWebGL.ScratchRenderEventMap
474
467
  /**
475
468
  * @see {RenderWebGL.BitmapSkin.setBitmap}
476
469
  */
477
- createBitmapSkin(image: RenderWebGL.BitmapData, bitmapResolution?: RenderWebGL.BitmapResolution, rotationCenter?: [number, number]): RenderWebGL.BitmapSkin;
470
+ createBitmapSkin(image: RenderWebGL.BitmapData, bitmapResolution?: RenderWebGL.BitmapResolution, rotationCenter?: [number, number]): number;
478
471
 
479
472
  /**
480
473
  * @see {RenderWebGL.BitmapSkin.setBitmap}
@@ -484,24 +477,24 @@ declare class RenderWebGL extends EventEmitter<RenderWebGL.ScratchRenderEventMap
484
477
  /**
485
478
  * @see {RenderWebGL.SVGSkin.setSVG}
486
479
  */
487
- createSVGSkin(svgData: string, rotationCenter: [number, number]): RenderWebGL.SVGSkin;
480
+ createSVGSkin(svgData: string, rotationCenter?: [number, number]): number;
488
481
 
489
482
  /**
490
483
  * @see {RenderWebGL.SVGSkin.setSVG}
491
484
  */
492
- updateSVGSkin(skinId: number, svgData: string, rotationCenter: [number, number]): void;
485
+ updateSVGSkin(skinId: number, svgData: string, rotationCenter?: [number, number]): void;
493
486
 
494
487
  /**
495
488
  * @see {RenderWebGL.TextBubbleSkin.setTextBubble}
496
489
  */
497
- createTextSkin(type: RenderWebGL.TextBubbleType, text: string, pointsLeft: boolean): RenderWebGL.TextBubbleSkin;
490
+ createTextSkin(type: RenderWebGL.TextBubbleType, text: string, pointsLeft: boolean): number;
498
491
 
499
492
  /**
500
493
  * @see {RenderWebGL.TextBubbleSkin.setTextBubble}
501
494
  */
502
495
  updateTextSkin(skinId: number, type: RenderWebGL.TextBubbleType, text: string, pointsLeft: boolean): void;
503
496
 
504
- createPenSkin(): RenderWebGL.PenSkin;
497
+ createPenSkin(): number;
505
498
 
506
499
  destroySkin(skinId: number): void;
507
500
 
@@ -289,7 +289,7 @@ declare namespace VM {
289
289
  };
290
290
  }
291
291
 
292
- interface BaseTarget extends EventEmitter<{}> {
292
+ interface BaseTarget extends EventEmitter<RenderedTargetEventMap> {
293
293
  runtime: Runtime;
294
294
 
295
295
  id: string;
@@ -356,7 +356,9 @@ declare namespace VM {
356
356
  }
357
357
 
358
358
  interface RenderedTargetEventMap {
359
- // TODO
359
+ TARGET_MOVED: [RenderedTarget, number, number, boolean?];
360
+
361
+ EVENT_TARGET_VISUAL_CHANGE: [RenderedTarget];
360
362
  }
361
363
 
362
364
  const enum Effect {
@@ -1028,7 +1030,12 @@ declare namespace VM {
1028
1030
  interface RuntimeEventMap extends RuntimeAndVirtualMachineEventMap {
1029
1031
  PROJECT_STOP_ALL: [];
1030
1032
 
1031
- STOP_FOR_TARGET: [BaseTarget, Thread | undefined];
1033
+ STOP_FOR_TARGET: [
1034
+ // Target whose scripts are being stopped
1035
+ Target,
1036
+ // Optional thread exception to keep running
1037
+ Thread | undefined
1038
+ ];
1032
1039
 
1033
1040
  PROJECT_LOADED: [];
1034
1041
 
@@ -1574,7 +1581,7 @@ declare class VM extends EventEmitter<VM.VirtualMachineEventMap> {
1574
1581
  * Emit a workspaceUpdate event.
1575
1582
  */
1576
1583
  emitWorkspaceUpdate(): void;
1577
-
1584
+
1578
1585
  /**
1579
1586
  * Post sprite info to the target that's being dragged, otherwise the editing target.
1580
1587
  * @see {VM.Target.postSpriteInfo}