@roost2d/chikn-rigs 0.1.0-rc.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/LICENSE +201 -0
- package/README.md +14 -0
- package/dist/data/chikn-anims.json +220 -0
- package/dist/data/chikn-rig.json +4348 -0
- package/dist/data/roostr-anims.json +220 -0
- package/dist/data/roostr-rig.json +5081 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +98 -0
- package/dist/index.js.map +1 -0
- package/package.json +14 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { AnimationClipV1, RigDefinitionV1 } from '@roost2d/contracts';
|
|
2
|
+
interface LegacyPart {
|
|
3
|
+
name: string;
|
|
4
|
+
texture?: string;
|
|
5
|
+
parent?: string | null;
|
|
6
|
+
x?: number;
|
|
7
|
+
y?: number;
|
|
8
|
+
rotation?: number;
|
|
9
|
+
scale?: number;
|
|
10
|
+
z_index?: number;
|
|
11
|
+
}
|
|
12
|
+
interface LegacyRig {
|
|
13
|
+
skins?: Record<string, Record<string, LegacyPart>>;
|
|
14
|
+
traits?: Record<string, Record<string, {
|
|
15
|
+
slot: string;
|
|
16
|
+
attachments: LegacyPart[];
|
|
17
|
+
}>>;
|
|
18
|
+
rig: LegacyPart[];
|
|
19
|
+
}
|
|
20
|
+
interface LegacyTween {
|
|
21
|
+
target: string;
|
|
22
|
+
at: number;
|
|
23
|
+
properties: {
|
|
24
|
+
x?: number;
|
|
25
|
+
y?: number;
|
|
26
|
+
rotation?: number;
|
|
27
|
+
scale?: number;
|
|
28
|
+
alpha?: number;
|
|
29
|
+
duration?: number;
|
|
30
|
+
ease?: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
interface LegacyAnimations {
|
|
34
|
+
animations: Record<string, {
|
|
35
|
+
duration?: number;
|
|
36
|
+
loop?: boolean;
|
|
37
|
+
tweens?: LegacyTween[];
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
export declare const chiknRigMetadataUrl: URL;
|
|
41
|
+
export declare const roostrRigMetadataUrl: URL;
|
|
42
|
+
export declare const chiknAnimationMetadataUrl: URL;
|
|
43
|
+
export declare const roostrAnimationMetadataUrl: URL;
|
|
44
|
+
export declare function loadChiknRig(fetcher?: typeof fetch): Promise<RigDefinitionV1>;
|
|
45
|
+
export declare function loadRoostrRig(fetcher?: typeof fetch): Promise<RigDefinitionV1>;
|
|
46
|
+
export declare function loadChiknAnimations(fetcher?: typeof fetch): Promise<AnimationClipV1[]>;
|
|
47
|
+
export declare function loadRoostrAnimations(fetcher?: typeof fetch): Promise<AnimationClipV1[]>;
|
|
48
|
+
export declare function convertLegacyRig(source: LegacyRig, id: string, displayName: string): RigDefinitionV1;
|
|
49
|
+
export declare function convertLegacyAnimations(source: LegacyAnimations, species: string): AnimationClipV1[];
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgD,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEzH,UAAU,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAAE;AAC7J,UAAU,SAAS;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC;IAAC,GAAG,EAAE,UAAU,EAAE,CAAC;CAAE;AACpL,UAAU,WAAW;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAAE;AAClL,UAAU,gBAAgB;IAAG,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC,CAAC;CAAE;AAEzH,eAAO,MAAM,mBAAmB,KAAoD,CAAC;AACrF,eAAO,MAAM,oBAAoB,KAAqD,CAAC;AACvF,eAAO,MAAM,yBAAyB,KAAsD,CAAC;AAC7F,eAAO,MAAM,0BAA0B,KAAuD,CAAC;AAE/F,wBAAsB,YAAY,CAAC,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAwG;AACnM,wBAAsB,aAAa,CAAC,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAA2G;AACvM,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAmH;AACvN,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAqH;AAE1N,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAiDpG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAqBpG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
export const chiknRigMetadataUrl = new URL('./data/chikn-rig.json', import.meta.url);
|
|
2
|
+
export const roostrRigMetadataUrl = new URL('./data/roostr-rig.json', import.meta.url);
|
|
3
|
+
export const chiknAnimationMetadataUrl = new URL('./data/chikn-anims.json', import.meta.url);
|
|
4
|
+
export const roostrAnimationMetadataUrl = new URL('./data/roostr-anims.json', import.meta.url);
|
|
5
|
+
export async function loadChiknRig(fetcher = fetch) { return convertLegacyRig(await loadJson(chiknRigMetadataUrl, fetcher), 'chikn', 'Chikn'); }
|
|
6
|
+
export async function loadRoostrRig(fetcher = fetch) { return convertLegacyRig(await loadJson(roostrRigMetadataUrl, fetcher), 'roostr', 'Roostr'); }
|
|
7
|
+
export async function loadChiknAnimations(fetcher = fetch) { return convertLegacyAnimations(await loadJson(chiknAnimationMetadataUrl, fetcher), 'chikn'); }
|
|
8
|
+
export async function loadRoostrAnimations(fetcher = fetch) { return convertLegacyAnimations(await loadJson(roostrAnimationMetadataUrl, fetcher), 'roostr'); }
|
|
9
|
+
export function convertLegacyRig(source, id, displayName) {
|
|
10
|
+
if (!source || !Array.isArray(source.rig))
|
|
11
|
+
throw new Error('Legacy rig source must provide a rig array');
|
|
12
|
+
const textureByAttachment = new Map();
|
|
13
|
+
const slotByAttachment = new Map();
|
|
14
|
+
// Null-prototype accumulators: source ids are untrusted strings, and `__proto__` as a plain-object
|
|
15
|
+
// key reparents the container instead of adding an entry.
|
|
16
|
+
const skins = Object.create(null);
|
|
17
|
+
for (const [skinId, slots] of Object.entries(source.skins ?? {})) {
|
|
18
|
+
const skin = Object.create(null);
|
|
19
|
+
for (const [slotId, part] of Object.entries(slots)) {
|
|
20
|
+
textureByAttachment.set(part.name, part.texture ?? part.name);
|
|
21
|
+
slotByAttachment.set(part.name, slotId);
|
|
22
|
+
skin[slotId] = part.name;
|
|
23
|
+
}
|
|
24
|
+
skins[skinId] = skin;
|
|
25
|
+
}
|
|
26
|
+
const attachmentGroups = Object.create(null);
|
|
27
|
+
for (const [traitGroupId, traitGroup] of Object.entries(source.traits ?? {}))
|
|
28
|
+
for (const [traitId, trait] of Object.entries(traitGroup)) {
|
|
29
|
+
for (const part of trait.attachments) {
|
|
30
|
+
textureByAttachment.set(part.name, part.texture ?? part.name);
|
|
31
|
+
slotByAttachment.set(part.name, trait.slot);
|
|
32
|
+
}
|
|
33
|
+
const groupId = `${slug(traitGroupId)}/${slug(traitId)}`;
|
|
34
|
+
attachmentGroups[groupId] = { id: groupId, slotId: trait.slot, attachmentIds: trait.attachments.map(({ name }) => name), exclusive: true, metadata: { category: traitGroupId, name: traitId } };
|
|
35
|
+
}
|
|
36
|
+
const partNames = new Set(source.rig.map((part) => part.name));
|
|
37
|
+
const attachments = source.rig.map((part, index) => ({
|
|
38
|
+
id: part.name,
|
|
39
|
+
slotId: slotByAttachment.get(part.name) ?? slotName(part.name),
|
|
40
|
+
texture: { assetId: `${id}.rig.${assetToken(textureByAttachment.get(part.name) ?? part.name)}` },
|
|
41
|
+
boneId: `bone:${part.name}`,
|
|
42
|
+
x: 0,
|
|
43
|
+
y: 0,
|
|
44
|
+
rotation: 0,
|
|
45
|
+
scaleX: 1,
|
|
46
|
+
scaleY: 1,
|
|
47
|
+
zIndex: part.z_index ?? index,
|
|
48
|
+
visible: false
|
|
49
|
+
}));
|
|
50
|
+
return {
|
|
51
|
+
schema: 'roost2d.rig/v1', id, displayName,
|
|
52
|
+
bones: [
|
|
53
|
+
{ id: 'root', x: 0, y: 0, rotation: 0, scaleX: 1, scaleY: 1 },
|
|
54
|
+
...source.rig.map((part) => ({ id: `bone:${part.name}`, parentId: part.parent && partNames.has(part.parent) ? `bone:${part.parent}` : 'root', x: part.x ?? 0, y: part.y ?? 0, rotation: part.rotation ?? 0, scaleX: part.scale ?? 1, scaleY: part.scale ?? 1 }))
|
|
55
|
+
],
|
|
56
|
+
slots: [...new Map(attachments.map(({ id: attachmentId, slotId, zIndex }) => [slotId, { id: slotId, zIndex, defaultAttachmentId: attachmentId }])).values()],
|
|
57
|
+
attachments,
|
|
58
|
+
skins,
|
|
59
|
+
defaultSkinId: Object.keys(skins)[0],
|
|
60
|
+
attachmentGroups,
|
|
61
|
+
metadata: { sourceFormat: 'roostrift-rig-json', species: id }
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function convertLegacyAnimations(source, species) {
|
|
65
|
+
if (!source || typeof source.animations !== 'object' || source.animations === null)
|
|
66
|
+
throw new Error('Legacy animation source must provide an animations object');
|
|
67
|
+
return Object.entries(source.animations).map(([id, animation]) => ({
|
|
68
|
+
schema: 'roost2d.animation/v1', id: `${species}.${id}`, durationMs: (animation.duration ?? 1) * 1000, loop: animation.loop ?? true,
|
|
69
|
+
// A Map, not a plain object: `slotName('__proto__')` as a key would otherwise hit Object.prototype.
|
|
70
|
+
tracks: [...(animation.tweens ?? []).reduce((tracks, tween) => {
|
|
71
|
+
const targetId = slotName(tween.target);
|
|
72
|
+
const existing = tracks.get(targetId);
|
|
73
|
+
if (existing)
|
|
74
|
+
existing.push(tween);
|
|
75
|
+
else
|
|
76
|
+
tracks.set(targetId, [tween]);
|
|
77
|
+
return tracks;
|
|
78
|
+
}, new Map())].map(([targetId, tweens]) => ({
|
|
79
|
+
target: 'slot',
|
|
80
|
+
targetId,
|
|
81
|
+
// Keyframe times must be non-decreasing, and absent properties must stay absent.
|
|
82
|
+
keyframes: [...tweens].sort((a, b) => a.at - b.at).map((tween) => ({
|
|
83
|
+
timeMs: tween.at * 1000,
|
|
84
|
+
durationMs: (tween.properties.duration ?? 0) * 1000,
|
|
85
|
+
...defined({ ease: tween.properties.ease, x: tween.properties.x, y: tween.properties.y, rotation: tween.properties.rotation, scaleX: tween.properties.scale, scaleY: tween.properties.scale, alpha: tween.properties.alpha })
|
|
86
|
+
}))
|
|
87
|
+
}))
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
function defined(values) {
|
|
91
|
+
return Object.fromEntries(Object.entries(values).filter(([, value]) => value !== undefined));
|
|
92
|
+
}
|
|
93
|
+
function assetToken(value) { return value.trim().replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toLowerCase(); }
|
|
94
|
+
function slug(value) { return value.trim().replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toLowerCase(); }
|
|
95
|
+
function slotName(value) { return value.replace(/^[^_]+_/, '').replace(/([a-z])([AB])$/, '$1 $2'); }
|
|
96
|
+
async function loadJson(url, fetcher) { const response = await fetcher(url); if (!response.ok)
|
|
97
|
+
throw new Error(`Failed to load ${url}: ${response.status}`); return response.json(); }
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@roost2d/chikn-rigs",
|
|
3
|
+
"version": "0.1.0-rc.0",
|
|
4
|
+
"description": "Apache-2.0 Chikn and Roostr rig and animation metadata for Roost2D.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": { "type": "git", "url": "git+https://github.com/Roost2D/roost2d.git", "directory": "packages/chikn-rigs" },
|
|
7
|
+
"type": "module",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"files": ["dist", "README.md", "LICENSE"],
|
|
10
|
+
"exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } },
|
|
11
|
+
"dependencies": { "@roost2d/contracts": "0.1.0-rc.0" },
|
|
12
|
+
"publishConfig": { "access": "public" },
|
|
13
|
+
"scripts": { "build": "tsc -p tsconfig.json && node scripts/copy-metadata.mjs", "check": "tsc --noEmit -p tsconfig.json", "test": "node --test test/*.test.mjs" }
|
|
14
|
+
}
|