@flighthq/spritesheet 0.1.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.
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/spritesheet.d.ts +5 -0
- package/dist/spritesheet.d.ts.map +1 -0
- package/dist/spritesheet.js +28 -0
- package/dist/spritesheet.js.map +1 -0
- package/dist/spritesheetAnimation.d.ts +4 -0
- package/dist/spritesheetAnimation.d.ts.map +1 -0
- package/dist/spritesheetAnimation.js +48 -0
- package/dist/spritesheetAnimation.js.map +1 -0
- package/dist/spritesheetData.d.ts +37 -0
- package/dist/spritesheetData.d.ts.map +1 -0
- package/dist/spritesheetData.js +39 -0
- package/dist/spritesheetData.js.map +1 -0
- package/dist/spritesheetFrame.d.ts +3 -0
- package/dist/spritesheetFrame.d.ts.map +1 -0
- package/dist/spritesheetFrame.js +11 -0
- package/dist/spritesheetFrame.js.map +1 -0
- package/dist/spritesheetFrom.d.ts +6 -0
- package/dist/spritesheetFrom.d.ts.map +1 -0
- package/dist/spritesheetFrom.js +90 -0
- package/dist/spritesheetFrom.js.map +1 -0
- package/dist/spritesheetPlayer.d.ts +17 -0
- package/dist/spritesheetPlayer.d.ts.map +1 -0
- package/dist/spritesheetPlayer.js +269 -0
- package/dist/spritesheetPlayer.js.map +1 -0
- package/dist/spritesheetTimelineSource.d.ts +3 -0
- package/dist/spritesheetTimelineSource.d.ts.map +1 -0
- package/dist/spritesheetTimelineSource.js +38 -0
- package/dist/spritesheetTimelineSource.js.map +1 -0
- package/dist/spritesheetValidation.d.ts +5 -0
- package/dist/spritesheetValidation.d.ts.map +1 -0
- package/dist/spritesheetValidation.js +97 -0
- package/dist/spritesheetValidation.js.map +1 -0
- package/package.json +45 -0
- package/src/spritesheet.test.ts +61 -0
- package/src/spritesheetAnimation.test.ts +128 -0
- package/src/spritesheetData.test.ts +149 -0
- package/src/spritesheetFrame.test.ts +50 -0
- package/src/spritesheetFrom.test.ts +259 -0
- package/src/spritesheetPlayer.test.ts +661 -0
- package/src/spritesheetTimelineSource.test.ts +60 -0
- package/src/spritesheetValidation.test.ts +169 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './spritesheet';
|
|
2
|
+
export * from './spritesheetAnimation';
|
|
3
|
+
export * from './spritesheetData';
|
|
4
|
+
export * from './spritesheetFrame';
|
|
5
|
+
export * from './spritesheetFrom';
|
|
6
|
+
export * from './spritesheetPlayer';
|
|
7
|
+
export * from './spritesheetTimelineSource';
|
|
8
|
+
export * from './spritesheetValidation';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './spritesheet';
|
|
2
|
+
export * from './spritesheetAnimation';
|
|
3
|
+
export * from './spritesheetData';
|
|
4
|
+
export * from './spritesheetFrame';
|
|
5
|
+
export * from './spritesheetFrom';
|
|
6
|
+
export * from './spritesheetPlayer';
|
|
7
|
+
export * from './spritesheetTimelineSource';
|
|
8
|
+
export * from './spritesheetValidation';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Spritesheet, SpritesheetAnimation } from '@flighthq/types';
|
|
2
|
+
export declare function cloneSpritesheet(spritesheet: Readonly<Spritesheet>): Spritesheet;
|
|
3
|
+
export declare function createSpritesheet(obj?: Partial<Spritesheet>): Spritesheet;
|
|
4
|
+
export declare function getSpritesheetAnimation(spritesheet: Spritesheet, label: string): SpritesheetAnimation | null;
|
|
5
|
+
//# sourceMappingURL=spritesheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheet.d.ts","sourceRoot":"","sources":["../src/spritesheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIzE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,CAgBhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAMzE;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAE5G"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createEntity } from '@flighthq/entity';
|
|
2
|
+
import { createSpritesheetFrame } from './spritesheetFrame';
|
|
3
|
+
export function cloneSpritesheet(spritesheet) {
|
|
4
|
+
const frames = spritesheet.frames.map((f) => createSpritesheetFrame({
|
|
5
|
+
id: f.id,
|
|
6
|
+
offsetX: f.offsetX,
|
|
7
|
+
offsetY: f.offsetY,
|
|
8
|
+
pivotX: f.pivotX,
|
|
9
|
+
pivotY: f.pivotY,
|
|
10
|
+
rotated: f.rotated,
|
|
11
|
+
}));
|
|
12
|
+
return createEntity({
|
|
13
|
+
atlas: spritesheet.atlas,
|
|
14
|
+
animations: { ...spritesheet.animations },
|
|
15
|
+
frames,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function createSpritesheet(obj) {
|
|
19
|
+
return createEntity({
|
|
20
|
+
atlas: obj?.atlas ?? null,
|
|
21
|
+
animations: obj?.animations ?? {},
|
|
22
|
+
frames: obj?.frames ?? [],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export function getSpritesheetAnimation(spritesheet, label) {
|
|
26
|
+
return spritesheet.animations[label] ?? null;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=spritesheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheet.js","sourceRoot":"","sources":["../src/spritesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAAC,WAAkC;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,sBAAsB,CAAC;QACrB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CACH,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,UAAU,EAAE,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE;QACzC,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAA0B;IAC1D,OAAO,YAAY,CAAC;QAClB,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,IAAI;QACzB,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE;QACjC,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAwB,EAAE,KAAa;IAC7E,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Spritesheet, SpritesheetAnimation } from '@flighthq/types';
|
|
2
|
+
export declare function createSpritesheetAnimation(obj?: Partial<SpritesheetAnimation>): SpritesheetAnimation;
|
|
3
|
+
export declare function createSpritesheetAnimationFromFrameNames(spritesheet: Readonly<Spritesheet>, pattern: string | RegExp, options?: Partial<Pick<SpritesheetAnimation, 'direction' | 'frameDuration' | 'frameDurations' | 'loop' | 'originX' | 'originY'>>): SpritesheetAnimation | null;
|
|
4
|
+
//# sourceMappingURL=spritesheetAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetAnimation.d.ts","sourceRoot":"","sources":["../src/spritesheetAnimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAUpG;AAMD,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAClC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,eAAe,GAAG,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAC9G,GACA,oBAAoB,GAAG,IAAI,CA0B7B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createEntity } from '@flighthq/entity';
|
|
2
|
+
export function createSpritesheetAnimation(obj) {
|
|
3
|
+
return createEntity({
|
|
4
|
+
direction: obj?.direction ?? 'forward',
|
|
5
|
+
frameDuration: obj?.frameDuration ?? 0,
|
|
6
|
+
frameDurations: obj?.frameDurations ?? null,
|
|
7
|
+
frames: obj?.frames ?? [],
|
|
8
|
+
loop: obj?.loop ?? false,
|
|
9
|
+
originX: obj?.originX ?? 0,
|
|
10
|
+
originY: obj?.originY ?? 0,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
// Builds a `SpritesheetAnimation` by selecting frames from a `Spritesheet` whose atlas region names
|
|
14
|
+
// match the given `pattern`. Pattern may be an exact frame name, a prefix string (matched against
|
|
15
|
+
// the start of each region name), or a `RegExp`. Frames are included in atlas-region index order.
|
|
16
|
+
// Returns null when the spritesheet has no atlas or no regions match the pattern.
|
|
17
|
+
export function createSpritesheetAnimationFromFrameNames(spritesheet, pattern, options) {
|
|
18
|
+
const { atlas, frames } = spritesheet;
|
|
19
|
+
if (atlas === null)
|
|
20
|
+
return null;
|
|
21
|
+
// Build a name→frame-index map using region names stored on the atlas.
|
|
22
|
+
const matchedIndices = [];
|
|
23
|
+
for (let i = 0; i < frames.length; i++) {
|
|
24
|
+
const regionId = frames[i].id;
|
|
25
|
+
const region = atlas.regions[regionId];
|
|
26
|
+
if (region === undefined)
|
|
27
|
+
continue;
|
|
28
|
+
const name = region.name;
|
|
29
|
+
if (name === null)
|
|
30
|
+
continue;
|
|
31
|
+
const matches = typeof pattern === 'string' ? name === pattern || name.startsWith(pattern) : pattern.test(name);
|
|
32
|
+
if (matches) {
|
|
33
|
+
matchedIndices.push(i);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (matchedIndices.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
return createSpritesheetAnimation({
|
|
39
|
+
direction: options?.direction,
|
|
40
|
+
frameDuration: options?.frameDuration,
|
|
41
|
+
frameDurations: options?.frameDurations,
|
|
42
|
+
frames: matchedIndices,
|
|
43
|
+
loop: options?.loop,
|
|
44
|
+
originX: options?.originX,
|
|
45
|
+
originY: options?.originY,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=spritesheetAnimation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetAnimation.js","sourceRoot":"","sources":["../src/spritesheetAnimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,UAAU,0BAA0B,CAAC,GAAmC;IAC5E,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,SAAS;QACtC,aAAa,EAAE,GAAG,EAAE,aAAa,IAAI,CAAC;QACtC,cAAc,EAAE,GAAG,EAAE,cAAc,IAAI,IAAI;QAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE;QACzB,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,KAAK;QACxB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,kGAAkG;AAClG,kGAAkG;AAClG,kFAAkF;AAClF,MAAM,UAAU,wCAAwC,CACtD,WAAkC,EAClC,OAAwB,EACxB,OAEC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,uEAAuE;IACvE,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChH,IAAI,OAAO,EAAE,CAAC;YACZ,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,0BAA0B,CAAC;QAChC,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,cAAc,EAAE,OAAO,EAAE,cAAc;QACvC,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,OAAO,EAAE,IAAI;QACnB,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,OAAO,EAAE,OAAO,EAAE,OAAO;KAC1B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { SpritesheetAnimationDirection } from '@flighthq/types';
|
|
2
|
+
export interface SpritesheetAnimationData {
|
|
3
|
+
direction: SpritesheetAnimationDirection;
|
|
4
|
+
frameDuration: number;
|
|
5
|
+
frameDurations: number[] | null;
|
|
6
|
+
frameNames: string[];
|
|
7
|
+
loop: boolean;
|
|
8
|
+
name: string;
|
|
9
|
+
originX: number;
|
|
10
|
+
originY: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SpritesheetFrameData {
|
|
13
|
+
height: number;
|
|
14
|
+
name: string;
|
|
15
|
+
offsetX: number;
|
|
16
|
+
offsetY: number;
|
|
17
|
+
pivotX: number | null;
|
|
18
|
+
pivotY: number | null;
|
|
19
|
+
rotated: boolean;
|
|
20
|
+
sourceHeight: number;
|
|
21
|
+
sourceWidth: number;
|
|
22
|
+
width: number;
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}
|
|
26
|
+
export interface SpritesheetData {
|
|
27
|
+
animations: SpritesheetAnimationData[];
|
|
28
|
+
frames: SpritesheetFrameData[];
|
|
29
|
+
imageFile: string;
|
|
30
|
+
imageHeight: number;
|
|
31
|
+
imageWidth: number;
|
|
32
|
+
scale: number;
|
|
33
|
+
}
|
|
34
|
+
export declare function createSpritesheetAnimationData(obj?: Partial<SpritesheetAnimationData>): SpritesheetAnimationData;
|
|
35
|
+
export declare function createSpritesheetData(obj?: Partial<SpritesheetData>): SpritesheetData;
|
|
36
|
+
export declare function createSpritesheetFrameData(obj?: Partial<SpritesheetFrameData>): SpritesheetFrameData;
|
|
37
|
+
//# sourceMappingURL=spritesheetData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetData.d.ts","sourceRoot":"","sources":["../src/spritesheetData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,6BAA6B,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,8BAA8B,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAWhH;AAED,wBAAgB,qBAAqB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CASrF;AAED,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAepG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export function createSpritesheetAnimationData(obj) {
|
|
2
|
+
return {
|
|
3
|
+
direction: obj?.direction ?? 'forward',
|
|
4
|
+
frameDuration: obj?.frameDuration ?? 100,
|
|
5
|
+
frameDurations: obj?.frameDurations ?? null,
|
|
6
|
+
frameNames: obj?.frameNames ?? [],
|
|
7
|
+
loop: obj?.loop ?? true,
|
|
8
|
+
name: obj?.name ?? '',
|
|
9
|
+
originX: obj?.originX ?? 0,
|
|
10
|
+
originY: obj?.originY ?? 0,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function createSpritesheetData(obj) {
|
|
14
|
+
return {
|
|
15
|
+
animations: obj?.animations ?? [],
|
|
16
|
+
frames: obj?.frames ?? [],
|
|
17
|
+
imageFile: obj?.imageFile ?? '',
|
|
18
|
+
imageHeight: obj?.imageHeight ?? 0,
|
|
19
|
+
imageWidth: obj?.imageWidth ?? 0,
|
|
20
|
+
scale: obj?.scale ?? 1,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function createSpritesheetFrameData(obj) {
|
|
24
|
+
return {
|
|
25
|
+
height: obj?.height ?? 0,
|
|
26
|
+
name: obj?.name ?? '',
|
|
27
|
+
offsetX: obj?.offsetX ?? 0,
|
|
28
|
+
offsetY: obj?.offsetY ?? 0,
|
|
29
|
+
pivotX: obj?.pivotX ?? null,
|
|
30
|
+
pivotY: obj?.pivotY ?? null,
|
|
31
|
+
rotated: obj?.rotated ?? false,
|
|
32
|
+
sourceHeight: obj?.sourceHeight ?? 0,
|
|
33
|
+
sourceWidth: obj?.sourceWidth ?? 0,
|
|
34
|
+
width: obj?.width ?? 0,
|
|
35
|
+
x: obj?.x ?? 0,
|
|
36
|
+
y: obj?.y ?? 0,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=spritesheetData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetData.js","sourceRoot":"","sources":["../src/spritesheetData.ts"],"names":[],"mappings":"AAqCA,MAAM,UAAU,8BAA8B,CAAC,GAAuC;IACpF,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,SAAS;QACtC,aAAa,EAAE,GAAG,EAAE,aAAa,IAAI,GAAG;QACxC,cAAc,EAAE,GAAG,EAAE,cAAc,IAAI,IAAI;QAC3C,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE;QACjC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;QACvB,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAA8B;IAClE,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE;QACjC,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE;QACzB,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,GAAG,EAAE,WAAW,IAAI,CAAC;QAClC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC;QAChC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAmC;IAC5E,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;QACxB,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI;QAC3B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,KAAK;QAC9B,YAAY,EAAE,GAAG,EAAE,YAAY,IAAI,CAAC;QACpC,WAAW,EAAE,GAAG,EAAE,WAAW,IAAI,CAAC;QAClC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACtB,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetFrame.d.ts","sourceRoot":"","sources":["../src/spritesheetFrame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CASxF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function createSpritesheetFrame(obj) {
|
|
2
|
+
return {
|
|
3
|
+
id: obj?.id ?? 0,
|
|
4
|
+
offsetX: obj?.offsetX ?? 0,
|
|
5
|
+
offsetY: obj?.offsetY ?? 0,
|
|
6
|
+
pivotX: obj?.pivotX ?? null,
|
|
7
|
+
pivotY: obj?.pivotY ?? null,
|
|
8
|
+
rotated: obj?.rotated ?? false,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=spritesheetFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetFrame.js","sourceRoot":"","sources":["../src/spritesheetFrame.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,GAA+B;IACpE,OAAO;QACL,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC;QAChB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI;QAC3B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,KAAK;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GridSliceOptions, Spritesheet, TextureAtlas, Tileset } from '@flighthq/types';
|
|
2
|
+
import type { SpritesheetData } from './spritesheetData';
|
|
3
|
+
export declare function createSpritesheetFromData(data: Readonly<SpritesheetData>, atlas: Readonly<TextureAtlas>): Spritesheet;
|
|
4
|
+
export declare function createSpritesheetFromGrid(options: Readonly<GridSliceOptions>): Spritesheet;
|
|
5
|
+
export declare function createSpritesheetFromTileset(tileset: Tileset): Spritesheet;
|
|
6
|
+
//# sourceMappingURL=spritesheetFrom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetFrom.d.ts","sourceRoot":"","sources":["../src/spritesheetFrom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAwB,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIlH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,CA8CrH;AAMD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAmC1F;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAI1E"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { createTextureAtlas, createTextureAtlasRegion } from '@flighthq/textureatlas';
|
|
2
|
+
import { createSpritesheet } from './spritesheet';
|
|
3
|
+
import { createSpritesheetAnimation } from './spritesheetAnimation';
|
|
4
|
+
import { createSpritesheetFrame } from './spritesheetFrame';
|
|
5
|
+
// Hydrates a runtime `Spritesheet` from a `SpritesheetData` descriptor and a pre-built `TextureAtlas`.
|
|
6
|
+
// Resolves `frameNames` to atlas region IDs via name lookup (or positional index when a name is absent),
|
|
7
|
+
// carries `direction`, `frameDurations`, pivot, and rotation onto the runtime types, and builds the
|
|
8
|
+
// `animations` record keyed by `SpritesheetAnimationData.name`.
|
|
9
|
+
export function createSpritesheetFromData(data, atlas) {
|
|
10
|
+
// Build a name→region-id map for fast frame name lookup.
|
|
11
|
+
const nameToRegionId = new Map();
|
|
12
|
+
for (const region of atlas.regions) {
|
|
13
|
+
if (region.name !== null) {
|
|
14
|
+
nameToRegionId.set(region.name, region.id);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Build runtime frames — one per SpritesheetFrameData entry, resolved to an atlas region id.
|
|
18
|
+
const frames = data.frames.map((fd, index) => {
|
|
19
|
+
const regionId = fd.name !== '' ? (nameToRegionId.get(fd.name) ?? index) : index;
|
|
20
|
+
return createSpritesheetFrame({
|
|
21
|
+
id: regionId,
|
|
22
|
+
offsetX: fd.offsetX,
|
|
23
|
+
offsetY: fd.offsetY,
|
|
24
|
+
pivotX: fd.pivotX,
|
|
25
|
+
pivotY: fd.pivotY,
|
|
26
|
+
rotated: fd.rotated,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
// Build a frame-name → frame-index map for animation frameNames resolution.
|
|
30
|
+
const frameNameToIndex = new Map();
|
|
31
|
+
for (let i = 0; i < data.frames.length; i++) {
|
|
32
|
+
const name = data.frames[i].name;
|
|
33
|
+
if (name !== '') {
|
|
34
|
+
frameNameToIndex.set(name, i);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Build runtime animations keyed by name.
|
|
38
|
+
const animations = {};
|
|
39
|
+
for (const ad of data.animations) {
|
|
40
|
+
const resolvedFrames = ad.frameNames.length > 0
|
|
41
|
+
? ad.frameNames.map((n) => frameNameToIndex.get(n)).filter((i) => i !== undefined)
|
|
42
|
+
: Array.from({ length: data.frames.length }, (_, i) => i);
|
|
43
|
+
animations[ad.name] = createSpritesheetAnimation({
|
|
44
|
+
direction: ad.direction,
|
|
45
|
+
frameDuration: ad.frameDuration,
|
|
46
|
+
frameDurations: ad.frameDurations,
|
|
47
|
+
frames: resolvedFrames,
|
|
48
|
+
loop: ad.loop,
|
|
49
|
+
originX: ad.originX,
|
|
50
|
+
originY: ad.originY,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return createSpritesheet({ animations, atlas, frames });
|
|
54
|
+
}
|
|
55
|
+
// Builds a runtime `Spritesheet` by slicing a regular grid out of a source image.
|
|
56
|
+
// `frameWidth`/`frameHeight` default to the largest cell that fits after margins and inter-cell spacing.
|
|
57
|
+
// Frames are generated row-major (left-to-right, top-to-bottom), each backed by an atlas region named
|
|
58
|
+
// `${namePrefix}${id}`.
|
|
59
|
+
export function createSpritesheetFromGrid(options) {
|
|
60
|
+
const { columns, rows, imageWidth, imageHeight, marginX = 0, marginY = 0, spacingX = 0, spacingY = 0, namePrefix = 'frame_', } = options;
|
|
61
|
+
const frameWidth = options.frameWidth ?? Math.floor((imageWidth - 2 * marginX - spacingX * (columns - 1)) / columns);
|
|
62
|
+
const frameHeight = options.frameHeight ?? Math.floor((imageHeight - 2 * marginY - spacingY * (rows - 1)) / rows);
|
|
63
|
+
const atlas = createTextureAtlas();
|
|
64
|
+
const frames = [];
|
|
65
|
+
let id = 0;
|
|
66
|
+
for (let row = 0; row < rows; row++) {
|
|
67
|
+
for (let col = 0; col < columns; col++) {
|
|
68
|
+
const x = marginX + col * (frameWidth + spacingX);
|
|
69
|
+
const y = marginY + row * (frameHeight + spacingY);
|
|
70
|
+
const region = createTextureAtlasRegion({
|
|
71
|
+
height: frameHeight,
|
|
72
|
+
id,
|
|
73
|
+
name: `${namePrefix}${id}`,
|
|
74
|
+
width: frameWidth,
|
|
75
|
+
x,
|
|
76
|
+
y,
|
|
77
|
+
});
|
|
78
|
+
atlas.regions.push(region);
|
|
79
|
+
frames.push(createSpritesheetFrame({ id }));
|
|
80
|
+
id++;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return createSpritesheet({ atlas, frames });
|
|
84
|
+
}
|
|
85
|
+
export function createSpritesheetFromTileset(tileset) {
|
|
86
|
+
const { atlas } = tileset;
|
|
87
|
+
const frames = (atlas?.regions ?? []).map((region) => createSpritesheetFrame({ id: region.id }));
|
|
88
|
+
return createSpritesheet({ atlas, frames });
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=spritesheetFrom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetFrom.js","sourceRoot":"","sources":["../src/spritesheetFrom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Spritesheet, SpritesheetAnimation, SpritesheetFrame, SpritesheetPlayer } from '@flighthq/types';
|
|
2
|
+
export declare function acquireSpritesheetPlayer(): SpritesheetPlayer;
|
|
3
|
+
export declare function cloneSpritesheetPlayer(player: Readonly<SpritesheetPlayer>): SpritesheetPlayer;
|
|
4
|
+
export declare function createSpritesheetPlayer(obj?: Partial<SpritesheetPlayer>): SpritesheetPlayer;
|
|
5
|
+
export declare function disposeSpritesheetPlayer(player: SpritesheetPlayer): void;
|
|
6
|
+
export declare function getSpritesheetPlayerFrame(player: Readonly<SpritesheetPlayer>, spritesheet: Readonly<Spritesheet>): SpritesheetFrame | null;
|
|
7
|
+
export declare function getSpritesheetPlayerFrameAt(player: Readonly<SpritesheetPlayer>, spritesheet: Readonly<Spritesheet>, frameOffset: number): SpritesheetFrame | null;
|
|
8
|
+
export declare function pauseSpritesheetPlayer(player: SpritesheetPlayer): void;
|
|
9
|
+
export declare function playSpritesheetAnimation(player: SpritesheetPlayer, animation: Readonly<SpritesheetAnimation> | null, restart?: boolean): void;
|
|
10
|
+
export declare function queueSpritesheetAnimation(player: SpritesheetPlayer, animation: Readonly<SpritesheetAnimation>): void;
|
|
11
|
+
export declare function releaseSpritesheetPlayer(player: SpritesheetPlayer): void;
|
|
12
|
+
export declare function resumeSpritesheetPlayer(player: SpritesheetPlayer): void;
|
|
13
|
+
export declare function seekSpritesheetPlayerToFrame(player: SpritesheetPlayer, frameIndex: number): void;
|
|
14
|
+
export declare function seekSpritesheetPlayerToTime(player: SpritesheetPlayer, time: number): void;
|
|
15
|
+
export declare function stopSpritesheetPlayer(player: SpritesheetPlayer): void;
|
|
16
|
+
export declare function updateSpritesheetPlayer(player: SpritesheetPlayer, deltaTime: number): boolean;
|
|
17
|
+
//# sourceMappingURL=spritesheetPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritesheetPlayer.d.ts","sourceRoot":"","sources":["../src/spritesheetPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9G,wBAAgB,wBAAwB,IAAI,iBAAiB,CAc5D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAY7F;AAED,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAY3F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAMxE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,GACjC,gBAAgB,GAAG,IAAI,CAKzB;AAOD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAClC,WAAW,EAAE,MAAM,GAClB,gBAAgB,GAAG,IAAI,CAQzB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEtE;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAChD,OAAO,UAAO,GACb,IAAI,CAON;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAEpH;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAWxE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEvE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAQhG;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMzF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAKrE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CA4B7F"}
|