@bscotch/yy 0.6.0 → 0.6.2

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 (42) hide show
  1. package/LICENSE.md +23 -0
  2. package/dist/Yy.d.ts +6859 -6829
  3. package/dist/Yy.d.ts.map +1 -1
  4. package/dist/Yy.js +247 -246
  5. package/dist/Yy.js.map +1 -1
  6. package/dist/Yy.parse.d.ts +5 -5
  7. package/dist/Yy.parse.js +240 -240
  8. package/dist/Yy.stringify.d.ts +6 -6
  9. package/dist/Yy.stringify.js +129 -129
  10. package/dist/cli.d.ts +1 -1
  11. package/dist/cli.js +16 -16
  12. package/dist/index.d.ts +8 -8
  13. package/dist/index.js +8 -8
  14. package/dist/types/YyBase.d.ts +46 -46
  15. package/dist/types/YyBase.js +37 -37
  16. package/dist/types/YyObject.d.ts +454 -462
  17. package/dist/types/YyObject.d.ts.map +1 -1
  18. package/dist/types/YyObject.js +108 -108
  19. package/dist/types/YyRoom.d.ts +1474 -1507
  20. package/dist/types/YyRoom.d.ts.map +1 -1
  21. package/dist/types/YyRoom.js +155 -155
  22. package/dist/types/YyScript.d.ts +45 -47
  23. package/dist/types/YyScript.d.ts.map +1 -1
  24. package/dist/types/YyScript.js +8 -8
  25. package/dist/types/YySound.d.ts +107 -115
  26. package/dist/types/YySound.d.ts.map +1 -1
  27. package/dist/types/YySound.js +61 -61
  28. package/dist/types/YySprite.d.ts +5438 -5446
  29. package/dist/types/YySprite.d.ts.map +1 -1
  30. package/dist/types/YySprite.js +417 -417
  31. package/dist/types/YySprite.lib.d.ts +221 -215
  32. package/dist/types/YySprite.lib.d.ts.map +1 -1
  33. package/dist/types/YySprite.lib.js +35 -35
  34. package/dist/types/Yyp.d.ts +604 -604
  35. package/dist/types/Yyp.js +101 -101
  36. package/dist/types/utility.d.ts +64 -64
  37. package/dist/types/utility.js +104 -104
  38. package/package.json +16 -11
  39. package/dist/Schema.d.ts +0 -1
  40. package/dist/Schema.d.ts.map +0 -1
  41. package/dist/Schema.js +0 -2
  42. package/dist/Schema.js.map +0 -1
@@ -1,216 +1,222 @@
1
- import { PartialDeep } from 'type-fest';
2
- import { YySprite } from './YySprite.js';
3
- export declare function ensureTrackKeyFrames(sprite: PartialDeep<YySprite, {
4
- recurseIntoArrays: true;
5
- }>): import("type-fest/source/partial-deep.js").PartialObjectDeep<{
6
- ConfigValues?: Record<string, Record<string, string>> | undefined;
7
- tags?: string[] | undefined;
8
- swatchColours?: unknown;
9
- nineSlice?: unknown;
10
- type: import("./YySprite.js").SpriteType;
11
- name: string;
12
- resourceType: "GMSprite";
13
- parent: {
14
- path: string;
15
- name: string;
16
- };
17
- resourceVersion: string;
18
- gridX: number;
19
- gridY: number;
20
- layers: {
21
- tags?: string[] | undefined;
22
- name: string;
23
- resourceType: "GMImageLayer";
24
- resourceVersion: string;
25
- visible: boolean;
26
- isLocked: boolean;
27
- blendMode: import("./YySprite.js").SpriteLayerBlendMode;
28
- opacity: import("./utility.js").FixedNumber;
29
- displayName: string;
30
- }[];
31
- bboxMode: import("./YySprite.js").SpriteBoundingBoxMode;
32
- collisionKind: import("./YySprite.js").SpriteCollisionKind;
33
- origin: import("./YySprite.js").SpriteOrigin;
34
- preMultiplyAlpha: boolean;
35
- edgeFiltering: boolean;
36
- collisionTolerance: number;
37
- swfPrecision: number;
38
- bbox_left: number;
39
- bbox_right: number;
40
- bbox_top: number;
41
- bbox_bottom: number;
42
- HTile: boolean;
43
- VTile: boolean;
44
- For3D: boolean;
45
- DynamicTexturePage: boolean;
46
- width: number;
47
- height: number;
48
- textureGroupId: {
49
- path: string;
50
- name: string;
51
- };
52
- frames: {
53
- tags?: string[] | undefined;
54
- parent?: {
55
- path: string;
56
- name: string;
57
- } | undefined;
58
- compositeImage?: {
59
- tags?: string[] | undefined;
60
- name: string;
61
- resourceType: "GMSpriteBitmap";
62
- resourceVersion: "1.0";
63
- FrameId: {
64
- path: string;
65
- name: string;
66
- };
67
- LayerId: null;
68
- } | undefined;
69
- images?: {
70
- tags?: string[] | undefined;
71
- name: string;
72
- resourceType: "GMSpriteBitmap";
73
- resourceVersion: "1.0";
74
- FrameId: {
75
- path: string;
76
- name: string;
77
- };
78
- LayerId: {
79
- path: string;
80
- name: string;
81
- };
82
- }[] | undefined;
83
- name: string;
84
- resourceType: "GMSpriteFrame";
85
- resourceVersion: "1.0" | "1.1";
86
- }[];
87
- sequence: {
88
- name?: string | undefined;
89
- tags?: string[] | undefined;
90
- parent?: {
91
- path: string;
92
- name: string;
93
- } | undefined;
94
- spriteId?: {
95
- path: string;
96
- name: string;
97
- } | undefined;
98
- eventToFunction?: unknown;
99
- eventStubScript?: unknown;
100
- length: import("./utility.js").FixedNumber;
101
- resourceType: "GMSequence";
102
- resourceVersion: string;
103
- volume: import("./utility.js").FixedNumber;
104
- timeUnits: number;
105
- playback: number;
106
- playbackSpeed: import("./utility.js").FixedNumber;
107
- playbackSpeedType: import("./YySprite.js").SpritePlaybackSpeedType;
108
- autoRecord: boolean;
109
- visibleRange: {
110
- x: import("./utility.js").FixedNumber;
111
- y: import("./utility.js").FixedNumber;
112
- } | null;
113
- lockOrigin: boolean;
114
- showBackdrop: boolean;
115
- showBackdropImage: boolean;
116
- backdropImagePath: string;
117
- backdropImageOpacity: import("./utility.js").FixedNumber;
118
- backdropWidth: number;
119
- backdropHeight: number;
120
- backdropXOffset: import("./utility.js").FixedNumber;
121
- backdropYOffset: import("./utility.js").FixedNumber;
122
- xorigin: number;
123
- yorigin: number;
124
- events: {
125
- resourceVersion: "1.0";
126
- Keyframes: unknown[];
127
- } & ({
128
- resourceType: "KeyframeStore<MessageEventKeyframe>";
129
- } | {
130
- resourceType: "KeyframeStore`1";
131
- elementType: "MessageEventKeyframe";
132
- });
133
- moments: {
134
- resourceVersion: "1.0";
135
- Keyframes: unknown[];
136
- } & ({
137
- resourceType: "KeyframeStore<MomentsEventKeyframe>";
138
- } | {
139
- resourceType: "KeyframeStore`1";
140
- elementType: "MomentsEventKeyframe";
141
- });
142
- tracks: {
143
- tags?: string[] | undefined;
144
- spriteId?: unknown;
145
- name: string;
146
- resourceType: "GMSpriteFramesTrack";
147
- resourceVersion: "1.0";
148
- events: unknown[];
149
- tracks: unknown[];
150
- trackColour: number;
151
- inheritsTrackColour: boolean;
152
- builtinName: number;
153
- traits: number;
154
- interpolation: number;
155
- modifiers: unknown[];
156
- isCreationTrack: boolean;
157
- keyframes: ({
158
- resourceVersion: "1.0";
159
- Keyframes: ({
160
- resourceVersion: "1.0";
161
- id: string;
162
- Key: import("./utility.js").FixedNumber;
163
- Length: import("./utility.js").FixedNumber;
164
- Stretch: boolean;
165
- Disabled: boolean;
166
- IsCreationKey: boolean;
167
- Channels: Record<string, {
168
- resourceType: "SpriteFrameKeyframe";
169
- resourceVersion: "1.0";
170
- Id: {
171
- path: string;
172
- name: string;
173
- };
174
- }>;
175
- } & ({
176
- resourceType: "Keyframe`1";
177
- elementType: "SpriteFrameKeyframe";
178
- } | {
179
- resourceType: "Keyframe<SpriteFrameKeyframe>";
180
- }))[];
181
- } & {
182
- resourceType: "KeyframeStore<SpriteFrameKeyframe>";
183
- }) | ({
184
- resourceVersion: "1.0";
185
- Keyframes: ({
186
- resourceVersion: "1.0";
187
- id: string;
188
- Key: import("./utility.js").FixedNumber;
189
- Length: import("./utility.js").FixedNumber;
190
- Stretch: boolean;
191
- Disabled: boolean;
192
- IsCreationKey: boolean;
193
- Channels: Record<string, {
194
- resourceType: "SpriteFrameKeyframe";
195
- resourceVersion: "1.0";
196
- Id: {
197
- path: string;
198
- name: string;
199
- };
200
- }>;
201
- } & ({
202
- resourceType: "Keyframe`1";
203
- elementType: "SpriteFrameKeyframe";
204
- } | {
205
- resourceType: "Keyframe<SpriteFrameKeyframe>";
206
- }))[];
207
- } & {
208
- resourceType: "KeyframeStore`1";
209
- elementType: "SpriteFrameKeyframe";
210
- });
211
- }[];
212
- };
213
- }, {
214
- recurseIntoArrays: true;
215
- }>;
1
+ import { PartialDeep } from 'type-fest';
2
+ import { YySprite } from './YySprite.js';
3
+ export declare function ensureTrackKeyFrames(sprite: PartialDeep<YySprite, {
4
+ recurseIntoArrays: true;
5
+ }>): import("type-fest/source/partial-deep.js").PartialObjectDeep<{
6
+ type: import("./YySprite.js").SpriteType;
7
+ name: string;
8
+ resourceType: "GMSprite";
9
+ parent: {
10
+ path: string;
11
+ name: string;
12
+ };
13
+ resourceVersion: string;
14
+ gridX: number;
15
+ gridY: number;
16
+ layers: {
17
+ name: string;
18
+ resourceType: "GMImageLayer";
19
+ resourceVersion: string;
20
+ visible: boolean;
21
+ isLocked: boolean;
22
+ blendMode: import("./YySprite.js").SpriteLayerBlendMode;
23
+ opacity: import("./utility.js").FixedNumber;
24
+ displayName: string;
25
+ tags?: string[] | undefined;
26
+ }[];
27
+ bboxMode: import("./YySprite.js").SpriteBoundingBoxMode;
28
+ collisionKind: import("./YySprite.js").SpriteCollisionKind;
29
+ origin: import("./YySprite.js").SpriteOrigin;
30
+ preMultiplyAlpha: boolean;
31
+ edgeFiltering: boolean;
32
+ collisionTolerance: number;
33
+ swfPrecision: number;
34
+ bbox_left: number;
35
+ bbox_right: number;
36
+ bbox_top: number;
37
+ bbox_bottom: number;
38
+ HTile: boolean;
39
+ VTile: boolean;
40
+ For3D: boolean;
41
+ DynamicTexturePage: boolean;
42
+ width: number;
43
+ height: number;
44
+ textureGroupId: {
45
+ path: string;
46
+ name: string;
47
+ };
48
+ frames: {
49
+ name: string;
50
+ resourceType: "GMSpriteFrame";
51
+ resourceVersion: "1.0" | "1.1";
52
+ tags?: string[] | undefined;
53
+ compositeImage?: {
54
+ name: string;
55
+ resourceType: "GMSpriteBitmap";
56
+ resourceVersion: "1.0";
57
+ FrameId: {
58
+ path: string;
59
+ name: string;
60
+ };
61
+ LayerId: null;
62
+ tags?: string[] | undefined;
63
+ } | undefined;
64
+ images?: {
65
+ name: string;
66
+ resourceType: "GMSpriteBitmap";
67
+ resourceVersion: "1.0";
68
+ FrameId: {
69
+ path: string;
70
+ name: string;
71
+ };
72
+ LayerId: {
73
+ path: string;
74
+ name: string;
75
+ };
76
+ tags?: string[] | undefined;
77
+ }[] | undefined;
78
+ parent?: {
79
+ path: string;
80
+ name: string;
81
+ } | undefined;
82
+ }[];
83
+ sequence: {
84
+ length: import("./utility.js").FixedNumber;
85
+ resourceType: "GMSequence";
86
+ resourceVersion: string;
87
+ volume: import("./utility.js").FixedNumber;
88
+ timeUnits: number;
89
+ playback: number;
90
+ playbackSpeed: import("./utility.js").FixedNumber;
91
+ playbackSpeedType: import("./YySprite.js").SpritePlaybackSpeedType;
92
+ autoRecord: boolean;
93
+ visibleRange: {
94
+ x: import("./utility.js").FixedNumber;
95
+ y: import("./utility.js").FixedNumber;
96
+ } | null;
97
+ lockOrigin: boolean;
98
+ showBackdrop: boolean;
99
+ showBackdropImage: boolean;
100
+ backdropImagePath: string;
101
+ backdropImageOpacity: import("./utility.js").FixedNumber;
102
+ backdropWidth: number;
103
+ backdropHeight: number;
104
+ backdropXOffset: import("./utility.js").FixedNumber;
105
+ backdropYOffset: import("./utility.js").FixedNumber;
106
+ xorigin: number;
107
+ yorigin: number;
108
+ events: ({
109
+ resourceVersion: "1.0";
110
+ Keyframes: unknown[];
111
+ } & {
112
+ resourceType: "KeyframeStore<MessageEventKeyframe>";
113
+ }) | ({
114
+ resourceVersion: "1.0";
115
+ Keyframes: unknown[];
116
+ } & {
117
+ resourceType: "KeyframeStore`1";
118
+ elementType: "MessageEventKeyframe";
119
+ });
120
+ moments: ({
121
+ resourceVersion: "1.0";
122
+ Keyframes: unknown[];
123
+ } & {
124
+ resourceType: "KeyframeStore<MomentsEventKeyframe>";
125
+ }) | ({
126
+ resourceVersion: "1.0";
127
+ Keyframes: unknown[];
128
+ } & {
129
+ resourceType: "KeyframeStore`1";
130
+ elementType: "MomentsEventKeyframe";
131
+ });
132
+ tracks: {
133
+ name: string;
134
+ resourceType: "GMSpriteFramesTrack";
135
+ resourceVersion: "1.0";
136
+ events: unknown[];
137
+ tracks: unknown[];
138
+ trackColour: number;
139
+ inheritsTrackColour: boolean;
140
+ builtinName: number;
141
+ traits: number;
142
+ interpolation: number;
143
+ modifiers: unknown[];
144
+ isCreationTrack: boolean;
145
+ keyframes: ({
146
+ resourceVersion: "1.0";
147
+ Keyframes: ({
148
+ resourceVersion: "1.0";
149
+ id: string;
150
+ Key: import("./utility.js").FixedNumber;
151
+ Length: import("./utility.js").FixedNumber;
152
+ Stretch: boolean;
153
+ Disabled: boolean;
154
+ IsCreationKey: boolean;
155
+ Channels: Record<string, {
156
+ resourceType: "SpriteFrameKeyframe";
157
+ resourceVersion: "1.0";
158
+ Id: {
159
+ path: string;
160
+ name: string;
161
+ };
162
+ }>;
163
+ } & ({
164
+ resourceType: "Keyframe`1";
165
+ elementType: "SpriteFrameKeyframe";
166
+ } | {
167
+ resourceType: "Keyframe<SpriteFrameKeyframe>";
168
+ }))[];
169
+ } & {
170
+ resourceType: "KeyframeStore<SpriteFrameKeyframe>";
171
+ }) | ({
172
+ resourceVersion: "1.0";
173
+ Keyframes: ({
174
+ resourceVersion: "1.0";
175
+ id: string;
176
+ Key: import("./utility.js").FixedNumber;
177
+ Length: import("./utility.js").FixedNumber;
178
+ Stretch: boolean;
179
+ Disabled: boolean;
180
+ IsCreationKey: boolean;
181
+ Channels: Record<string, {
182
+ resourceType: "SpriteFrameKeyframe";
183
+ resourceVersion: "1.0";
184
+ Id: {
185
+ path: string;
186
+ name: string;
187
+ };
188
+ }>;
189
+ } & ({
190
+ resourceType: "Keyframe`1";
191
+ elementType: "SpriteFrameKeyframe";
192
+ } | {
193
+ resourceType: "Keyframe<SpriteFrameKeyframe>";
194
+ }))[];
195
+ } & {
196
+ resourceType: "KeyframeStore`1";
197
+ elementType: "SpriteFrameKeyframe";
198
+ });
199
+ spriteId?: unknown;
200
+ tags?: string[] | undefined;
201
+ }[];
202
+ eventToFunction?: unknown;
203
+ eventStubScript?: unknown;
204
+ name?: string | undefined;
205
+ tags?: string[] | undefined;
206
+ spriteId?: {
207
+ path: string;
208
+ name: string;
209
+ } | undefined;
210
+ parent?: {
211
+ path: string;
212
+ name: string;
213
+ } | undefined;
214
+ };
215
+ ConfigValues?: Record<string, Record<string, string>> | undefined;
216
+ tags?: string[] | undefined;
217
+ swatchColours?: unknown;
218
+ nineSlice?: unknown;
219
+ }, {
220
+ recurseIntoArrays: true;
221
+ }>;
216
222
  //# sourceMappingURL=YySprite.lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"YySprite.lib.d.ts","sourceRoot":"","sources":["../../src/types/YySprite.lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;IAAE,iBAAiB,EAAE,IAAI,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAP,IAAI;GAgCxD"}
1
+ {"version":3,"file":"YySprite.lib.d.ts","sourceRoot":"","sources":["../../src/types/YySprite.lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;IAAE,iBAAiB,EAAE,IAAI,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAP,IAAI;GAgCxD"}
@@ -1,36 +1,36 @@
1
- import { pointable } from '@bscotch/utility';
2
- import { v4 as uuidV4 } from 'uuid';
3
- import { getYyResourceId } from './utility.js';
4
- export function ensureTrackKeyFrames(sprite) {
5
- const spriteId = getYyResourceId('sprites', sprite.name);
6
- const frames = sprite.frames;
7
- const spritePointable = pointable(sprite);
8
- if (frames) {
9
- const keyframes = spritePointable
10
- .at(['sequence', 'tracks', 0, 'keyframes', 'Keyframes'])
11
- .set([], {
12
- createMissing: true,
13
- noClobber: true,
14
- });
15
- for (let i = 0; i < frames.length; i++) {
16
- const frame = pointable(frames).at([i]).set({}, { noClobber: true });
17
- frame.name ||= uuidV4();
18
- if (keyframes.length <= i) {
19
- keyframes.push({});
20
- }
21
- const keyframe = keyframes[i];
22
- // Make sure that the Channels value is an object since
23
- // it uses numeric string indexes (which confuses JSON Pointers)
24
- const keyframePointable = pointable(keyframe);
25
- keyframePointable.at('/Channels').set({}, { noClobber: true });
26
- keyframePointable
27
- .at(['Channels', '0', 'Id', 'name'])
28
- .set(frame.name, { noClobber: true, createMissing: true });
29
- keyframePointable
30
- .at(['Channels', '0', 'Id', 'path'])
31
- .set(spriteId.path, { noClobber: true });
32
- }
33
- }
34
- return sprite;
35
- }
1
+ import { pointable } from '@bscotch/utility';
2
+ import { v4 as uuidV4 } from 'uuid';
3
+ import { getYyResourceId } from './utility.js';
4
+ export function ensureTrackKeyFrames(sprite) {
5
+ const spriteId = getYyResourceId('sprites', sprite.name);
6
+ const frames = sprite.frames;
7
+ const spritePointable = pointable(sprite);
8
+ if (frames) {
9
+ const keyframes = spritePointable
10
+ .at(['sequence', 'tracks', 0, 'keyframes', 'Keyframes'])
11
+ .set([], {
12
+ createMissing: true,
13
+ noClobber: true,
14
+ });
15
+ for (let i = 0; i < frames.length; i++) {
16
+ const frame = pointable(frames).at([i]).set({}, { noClobber: true });
17
+ frame.name ||= uuidV4();
18
+ if (keyframes.length <= i) {
19
+ keyframes.push({});
20
+ }
21
+ const keyframe = keyframes[i];
22
+ // Make sure that the Channels value is an object since
23
+ // it uses numeric string indexes (which confuses JSON Pointers)
24
+ const keyframePointable = pointable(keyframe);
25
+ keyframePointable.at('/Channels').set({}, { noClobber: true });
26
+ keyframePointable
27
+ .at(['Channels', '0', 'Id', 'name'])
28
+ .set(frame.name, { noClobber: true, createMissing: true });
29
+ keyframePointable
30
+ .at(['Channels', '0', 'Id', 'path'])
31
+ .set(spriteId.path, { noClobber: true });
32
+ }
33
+ }
34
+ return sprite;
35
+ }
36
36
  //# sourceMappingURL=YySprite.lib.js.map