@roost2d/chikn-rigs 0.1.0 → 0.2.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/README.md CHANGED
@@ -7,8 +7,23 @@ npm install @roost2d/contracts @roost2d/rig2d @roost2d/chikn-rigs
7
7
  ```
8
8
 
9
9
  ```ts
10
- import { loadChiknAnimations, loadChiknRig } from '@roost2d/chikn-rigs';
10
+ import {
11
+ applyCharacterRecipe,
12
+ CHARACTER_RECIPE_SCHEMA,
13
+ loadChiknAnimations,
14
+ loadChiknRig,
15
+ } from '@roost2d/chikn-rigs';
11
16
  const [definition, clips] = await Promise.all([loadChiknRig(), loadChiknAnimations()]);
17
+
18
+ const recipe = {
19
+ schema: CHARACTER_RECIPE_SCHEMA,
20
+ species: 'chikn',
21
+ skinId: 'Celestial',
22
+ traitGroupIds: ['head/admiral', 'tail/golden-plumage'],
23
+ animationId: 'chikn.walk',
24
+ };
25
+
26
+ applyCharacterRecipe(rig, recipe, definition, clips);
12
27
  ```
13
28
 
14
29
  Resolve each `definition.attachments[].texture.assetId` through a separately hosted Chikn runtime manifest before creating the display factory. [Chikn integration tutorial](https://github.com/Roost2D/roost2d/blob/main/docs/chikn-assets.md).
@@ -2,27 +2,43 @@
2
2
  "animations": {
3
3
  "walk": {
4
4
  "duration": 0.5,
5
+ "loop": true,
6
+ "loopMode": "repeat",
5
7
  "tweens": [
6
- { "target": "Torso", "at": 0.0, "properties": { "y": -8, "rotation": 0, "duration": 0.125 } },
7
- { "target": "Torso", "at": 0.125, "properties": { "y": 0, "rotation": -1, "duration": 0.125 } },
8
- { "target": "Torso", "at": 0.25, "properties": { "y": -8, "rotation": 0, "duration": 0.125 } },
9
- { "target": "Torso", "at": 0.375, "properties": { "y": 0, "rotation": 1, "duration": 0.125 } },
10
- { "target": "Head", "at": 0.0, "properties": { "rotation": -2, "duration": 0.25 } },
11
- { "target": "Head", "at": 0.25, "properties": { "rotation": 8, "duration": 0.25 } },
12
- { "target": "Tail", "at": 0.0, "properties": { "rotation": -5, "duration": 0.25 } },
13
- { "target": "Tail", "at": 0.25, "properties": { "rotation": -15, "duration": 0.25 } },
14
- { "target": "Wing A", "at": 0.0, "properties": { "rotation": -10, "duration": 0.25 } },
15
- { "target": "Wing A", "at": 0.25, "properties": { "rotation": 10, "duration": 0.25 } },
16
- { "target": "Wing B", "at": 0.0, "properties": { "rotation": 10, "duration": 0.25 } },
17
- { "target": "Wing B", "at": 0.25, "properties": { "rotation": -10, "duration": 0.25 } },
18
- { "target": "LegUpper A", "at": 0.0, "properties": { "rotation": 30, "duration": 0.25 } },
19
- { "target": "LegUpper A", "at": 0.25, "properties": { "rotation": -30, "duration": 0.25 } },
20
- { "target": "LegUpper B", "at": 0.0, "properties": { "rotation": -30, "duration": 0.25 } },
21
- { "target": "LegUpper B", "at": 0.25, "properties": { "rotation": 30, "duration": 0.25 } }
8
+ { "target": "Torso", "at": 0.0, "properties": { "y": -8, "rotation": -1, "duration": 0.125 } },
9
+ { "target": "Torso", "at": 0.125, "properties": { "y": 0, "rotation": 0, "duration": 0.125 } },
10
+ { "target": "Torso", "at": 0.25, "properties": { "y": -8, "rotation": 1, "duration": 0.125 } },
11
+ { "target": "Torso", "at": 0.375, "properties": { "y": 0, "rotation": 0, "duration": 0.125 } },
12
+ { "target": "Head", "at": 0.0, "properties": { "rotation": -6, "duration": 0.125 } },
13
+ { "target": "Head", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
14
+ { "target": "Head", "at": 0.25, "properties": { "rotation": 6, "duration": 0.125 } },
15
+ { "target": "Head", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
16
+ { "target": "Tail", "at": 0.0, "properties": { "rotation": -10, "duration": 0.125 } },
17
+ { "target": "Tail", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
18
+ { "target": "Tail", "at": 0.25, "properties": { "rotation": 10, "duration": 0.125 } },
19
+ { "target": "Tail", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
20
+ { "target": "Wing A", "at": 0.0, "properties": { "rotation": -10, "duration": 0.125 } },
21
+ { "target": "Wing A", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
22
+ { "target": "Wing A", "at": 0.25, "properties": { "rotation": 10, "duration": 0.125 } },
23
+ { "target": "Wing A", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
24
+ { "target": "Wing B", "at": 0.0, "properties": { "rotation": 10, "duration": 0.125 } },
25
+ { "target": "Wing B", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
26
+ { "target": "Wing B", "at": 0.25, "properties": { "rotation": -10, "duration": 0.125 } },
27
+ { "target": "Wing B", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
28
+ { "target": "LegUpper A", "at": 0.0, "properties": { "rotation": 30, "duration": 0.125 } },
29
+ { "target": "LegUpper A", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
30
+ { "target": "LegUpper A", "at": 0.25, "properties": { "rotation": -30, "duration": 0.125 } },
31
+ { "target": "LegUpper A", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
32
+ { "target": "LegUpper B", "at": 0.0, "properties": { "rotation": -30, "duration": 0.125 } },
33
+ { "target": "LegUpper B", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
34
+ { "target": "LegUpper B", "at": 0.25, "properties": { "rotation": 30, "duration": 0.125 } },
35
+ { "target": "LegUpper B", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } }
22
36
  ]
23
37
  },
24
38
  "slowed": {
25
39
  "duration": 1.0,
40
+ "loop": true,
41
+ "loopMode": "ping-pong",
26
42
  "tweens": [
27
43
  { "target": "Torso", "at": 0.0, "properties": { "y": 8, "rotation": -8, "duration": 0.5 } },
28
44
  { "target": "Torso", "at": 0.5, "properties": { "y": 5, "rotation": -6, "duration": 0.5 } },
@@ -38,6 +54,7 @@
38
54
  },
39
55
  "hit": {
40
56
  "duration": 0.35,
57
+ "loop": false,
41
58
  "tweens": [
42
59
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -15, "x": -10, "duration": 0.08 } },
43
60
  { "target": "Torso", "at": 0.08, "properties": { "rotation": 10, "x": 5, "duration": 0.12 } },
@@ -48,6 +65,8 @@
48
65
  },
49
66
  "fly": {
50
67
  "duration": 0.4,
68
+ "loop": true,
69
+ "loopMode": "ping-pong",
51
70
  "tweens": [
52
71
  { "target": "Torso", "at": 0.0, "properties": { "y": -15, "duration": 0.2 } },
53
72
  { "target": "Torso", "at": 0.2, "properties": { "y": 0, "duration": 0.2 } },
@@ -67,6 +86,7 @@
67
86
  },
68
87
  "attack": {
69
88
  "duration": 0.3,
89
+ "loop": false,
70
90
  "tweens": [
71
91
  { "target": "Head", "at": 0.0, "properties": { "rotation": 45.0, "duration": 0.1 } },
72
92
  { "target": "Head", "at": 0.1, "properties": { "rotation": -10.0, "duration": 0.08 } },
@@ -79,6 +99,7 @@
79
99
  },
80
100
  "peck": {
81
101
  "duration": 0.64,
102
+ "loop": false,
82
103
  "tweens": [
83
104
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -9, "duration": 0.14 } },
84
105
  { "target": "Torso", "at": 0.14, "properties": { "rotation": -21, "duration": 0.14 } },
@@ -94,6 +115,7 @@
94
115
  },
95
116
  "attack_peck": {
96
117
  "duration": 0.3,
118
+ "loop": false,
97
119
  "tweens": [
98
120
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -6, "x": -4, "duration": 0.08 } },
99
121
  { "target": "Torso", "at": 0.08, "properties": { "rotation": 5, "x": 9, "duration": 0.1 } },
@@ -109,6 +131,7 @@
109
131
  },
110
132
  "attack_heavy": {
111
133
  "duration": 0.52,
134
+ "loop": false,
112
135
  "tweens": [
113
136
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -22, "x": -12, "y": -4, "duration": 0.2 } },
114
137
  { "target": "Torso", "at": 0.2, "properties": { "rotation": 18, "x": 14, "y": 2, "duration": 0.14 } },
@@ -128,6 +151,7 @@
128
151
  },
129
152
  "stagger": {
130
153
  "duration": 0.34,
154
+ "loop": false,
131
155
  "tweens": [
132
156
  { "target": "Torso", "at": 0.0, "properties": { "rotation": 20, "x": 12, "duration": 0.09 } },
133
157
  { "target": "Torso", "at": 0.09, "properties": { "rotation": -12, "x": -6, "duration": 0.12 } },
@@ -142,6 +166,7 @@
142
166
  },
143
167
  "death_burst": {
144
168
  "duration": 0.42,
169
+ "loop": false,
145
170
  "tweens": [
146
171
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -18, "y": -10, "duration": 0.12 } },
147
172
  { "target": "Torso", "at": 0.12, "properties": { "rotation": 46, "y": 14, "duration": 0.3 } },
@@ -158,6 +183,7 @@
158
183
  },
159
184
  "spawn_drop": {
160
185
  "duration": 0.46,
186
+ "loop": false,
161
187
  "tweens": [
162
188
  { "target": "Torso", "at": 0.0, "properties": { "y": -46, "rotation": 8, "duration": 0.22 } },
163
189
  { "target": "Torso", "at": 0.22, "properties": { "y": 6, "rotation": 0, "duration": 0.1 } },
@@ -179,6 +205,7 @@
179
205
  },
180
206
  "extraction_bow": {
181
207
  "duration": 0.72,
208
+ "loop": false,
182
209
  "tweens": [
183
210
  { "target": "Torso", "at": 0.2, "properties": { "rotation": 24, "y": 6, "duration": 0.2 } },
184
211
  { "target": "Torso", "at": 0.4, "properties": { "rotation": 24, "y": 6, "duration": 0.14 } },
@@ -196,6 +223,7 @@
196
223
  },
197
224
  "draft_cheer": {
198
225
  "duration": 0.6,
226
+ "loop": false,
199
227
  "tweens": [
200
228
  { "target": "Torso", "at": 0.0, "properties": { "y": 4, "duration": 0.1 } },
201
229
  { "target": "Torso", "at": 0.1, "properties": { "y": -18, "duration": 0.16 } },
@@ -4345,4 +4345,4 @@
4345
4345
  "pivot_y": 0.5
4346
4346
  }
4347
4347
  ]
4348
- }
4348
+ }
@@ -2,27 +2,43 @@
2
2
  "animations": {
3
3
  "walk": {
4
4
  "duration": 0.5,
5
+ "loop": true,
6
+ "loopMode": "repeat",
5
7
  "tweens": [
6
- { "target": "Torso", "at": 0.0, "properties": { "y": -8, "rotation": 0, "duration": 0.125 } },
7
- { "target": "Torso", "at": 0.125, "properties": { "y": 0, "rotation": -1, "duration": 0.125 } },
8
- { "target": "Torso", "at": 0.25, "properties": { "y": -8, "rotation": 0, "duration": 0.125 } },
9
- { "target": "Torso", "at": 0.375, "properties": { "y": 0, "rotation": 1, "duration": 0.125 } },
10
- { "target": "Head", "at": 0.0, "properties": { "rotation": -2, "duration": 0.25 } },
11
- { "target": "Head", "at": 0.25, "properties": { "rotation": 8, "duration": 0.25 } },
12
- { "target": "Tail", "at": 0.0, "properties": { "rotation": -5, "duration": 0.25 } },
13
- { "target": "Tail", "at": 0.25, "properties": { "rotation": -15, "duration": 0.25 } },
14
- { "target": "Wing A", "at": 0.0, "properties": { "rotation": -10, "duration": 0.25 } },
15
- { "target": "Wing A", "at": 0.25, "properties": { "rotation": 10, "duration": 0.25 } },
16
- { "target": "Wing B", "at": 0.0, "properties": { "rotation": 10, "duration": 0.25 } },
17
- { "target": "Wing B", "at": 0.25, "properties": { "rotation": -10, "duration": 0.25 } },
18
- { "target": "LegUpper A", "at": 0.0, "properties": { "rotation": 30, "duration": 0.25 } },
19
- { "target": "LegUpper A", "at": 0.25, "properties": { "rotation": -30, "duration": 0.25 } },
20
- { "target": "LegUpper B", "at": 0.0, "properties": { "rotation": -30, "duration": 0.25 } },
21
- { "target": "LegUpper B", "at": 0.25, "properties": { "rotation": 30, "duration": 0.25 } }
8
+ { "target": "Torso", "at": 0.0, "properties": { "y": -8, "rotation": -1, "duration": 0.125 } },
9
+ { "target": "Torso", "at": 0.125, "properties": { "y": 0, "rotation": 0, "duration": 0.125 } },
10
+ { "target": "Torso", "at": 0.25, "properties": { "y": -8, "rotation": 1, "duration": 0.125 } },
11
+ { "target": "Torso", "at": 0.375, "properties": { "y": 0, "rotation": 0, "duration": 0.125 } },
12
+ { "target": "Head", "at": 0.0, "properties": { "rotation": -6, "duration": 0.125 } },
13
+ { "target": "Head", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
14
+ { "target": "Head", "at": 0.25, "properties": { "rotation": 6, "duration": 0.125 } },
15
+ { "target": "Head", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
16
+ { "target": "Tail", "at": 0.0, "properties": { "rotation": -10, "duration": 0.125 } },
17
+ { "target": "Tail", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
18
+ { "target": "Tail", "at": 0.25, "properties": { "rotation": 10, "duration": 0.125 } },
19
+ { "target": "Tail", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
20
+ { "target": "Wing A", "at": 0.0, "properties": { "rotation": -10, "duration": 0.125 } },
21
+ { "target": "Wing A", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
22
+ { "target": "Wing A", "at": 0.25, "properties": { "rotation": 10, "duration": 0.125 } },
23
+ { "target": "Wing A", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
24
+ { "target": "Wing B", "at": 0.0, "properties": { "rotation": 10, "duration": 0.125 } },
25
+ { "target": "Wing B", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
26
+ { "target": "Wing B", "at": 0.25, "properties": { "rotation": -10, "duration": 0.125 } },
27
+ { "target": "Wing B", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
28
+ { "target": "LegUpper A", "at": 0.0, "properties": { "rotation": 30, "duration": 0.125 } },
29
+ { "target": "LegUpper A", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
30
+ { "target": "LegUpper A", "at": 0.25, "properties": { "rotation": -30, "duration": 0.125 } },
31
+ { "target": "LegUpper A", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } },
32
+ { "target": "LegUpper B", "at": 0.0, "properties": { "rotation": -30, "duration": 0.125 } },
33
+ { "target": "LegUpper B", "at": 0.125, "properties": { "rotation": 0, "duration": 0.125 } },
34
+ { "target": "LegUpper B", "at": 0.25, "properties": { "rotation": 30, "duration": 0.125 } },
35
+ { "target": "LegUpper B", "at": 0.375, "properties": { "rotation": 0, "duration": 0.125 } }
22
36
  ]
23
37
  },
24
38
  "slowed": {
25
39
  "duration": 1.0,
40
+ "loop": true,
41
+ "loopMode": "ping-pong",
26
42
  "tweens": [
27
43
  { "target": "Torso", "at": 0.0, "properties": { "y": 8, "rotation": -8, "duration": 0.5 } },
28
44
  { "target": "Torso", "at": 0.5, "properties": { "y": 5, "rotation": -6, "duration": 0.5 } },
@@ -38,6 +54,7 @@
38
54
  },
39
55
  "hit": {
40
56
  "duration": 0.35,
57
+ "loop": false,
41
58
  "tweens": [
42
59
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -15, "x": -10, "duration": 0.08 } },
43
60
  { "target": "Torso", "at": 0.08, "properties": { "rotation": 10, "x": 5, "duration": 0.12 } },
@@ -48,6 +65,8 @@
48
65
  },
49
66
  "fly": {
50
67
  "duration": 0.4,
68
+ "loop": true,
69
+ "loopMode": "ping-pong",
51
70
  "tweens": [
52
71
  { "target": "Torso", "at": 0.0, "properties": { "y": -15, "duration": 0.2 } },
53
72
  { "target": "Torso", "at": 0.2, "properties": { "y": 0, "duration": 0.2 } },
@@ -67,6 +86,7 @@
67
86
  },
68
87
  "attack": {
69
88
  "duration": 0.3,
89
+ "loop": false,
70
90
  "tweens": [
71
91
  { "target": "Head", "at": 0.0, "properties": { "rotation": 45.0, "duration": 0.1 } },
72
92
  { "target": "Head", "at": 0.1, "properties": { "rotation": -10.0, "duration": 0.08 } },
@@ -79,6 +99,7 @@
79
99
  },
80
100
  "peck": {
81
101
  "duration": 0.64,
102
+ "loop": false,
82
103
  "tweens": [
83
104
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -9, "duration": 0.14 } },
84
105
  { "target": "Torso", "at": 0.14, "properties": { "rotation": -21, "duration": 0.14 } },
@@ -94,6 +115,7 @@
94
115
  },
95
116
  "attack_peck": {
96
117
  "duration": 0.3,
118
+ "loop": false,
97
119
  "tweens": [
98
120
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -6, "x": -4, "duration": 0.08 } },
99
121
  { "target": "Torso", "at": 0.08, "properties": { "rotation": 5, "x": 9, "duration": 0.1 } },
@@ -109,6 +131,7 @@
109
131
  },
110
132
  "attack_heavy": {
111
133
  "duration": 0.52,
134
+ "loop": false,
112
135
  "tweens": [
113
136
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -22, "x": -12, "y": -4, "duration": 0.2 } },
114
137
  { "target": "Torso", "at": 0.2, "properties": { "rotation": 18, "x": 14, "y": 2, "duration": 0.14 } },
@@ -128,6 +151,7 @@
128
151
  },
129
152
  "stagger": {
130
153
  "duration": 0.34,
154
+ "loop": false,
131
155
  "tweens": [
132
156
  { "target": "Torso", "at": 0.0, "properties": { "rotation": 20, "x": 12, "duration": 0.09 } },
133
157
  { "target": "Torso", "at": 0.09, "properties": { "rotation": -12, "x": -6, "duration": 0.12 } },
@@ -142,6 +166,7 @@
142
166
  },
143
167
  "death_burst": {
144
168
  "duration": 0.42,
169
+ "loop": false,
145
170
  "tweens": [
146
171
  { "target": "Torso", "at": 0.0, "properties": { "rotation": -18, "y": -10, "duration": 0.12 } },
147
172
  { "target": "Torso", "at": 0.12, "properties": { "rotation": 46, "y": 14, "duration": 0.3 } },
@@ -158,6 +183,7 @@
158
183
  },
159
184
  "spawn_drop": {
160
185
  "duration": 0.46,
186
+ "loop": false,
161
187
  "tweens": [
162
188
  { "target": "Torso", "at": 0.0, "properties": { "y": -46, "rotation": 8, "duration": 0.22 } },
163
189
  { "target": "Torso", "at": 0.22, "properties": { "y": 6, "rotation": 0, "duration": 0.1 } },
@@ -179,6 +205,7 @@
179
205
  },
180
206
  "extraction_bow": {
181
207
  "duration": 0.72,
208
+ "loop": false,
182
209
  "tweens": [
183
210
  { "target": "Torso", "at": 0.2, "properties": { "rotation": 24, "y": 6, "duration": 0.2 } },
184
211
  { "target": "Torso", "at": 0.4, "properties": { "rotation": 24, "y": 6, "duration": 0.14 } },
@@ -196,6 +223,7 @@
196
223
  },
197
224
  "draft_cheer": {
198
225
  "duration": 0.6,
226
+ "loop": false,
199
227
  "tweens": [
200
228
  { "target": "Torso", "at": 0.0, "properties": { "y": 4, "duration": 0.1 } },
201
229
  { "target": "Torso", "at": 0.1, "properties": { "y": -18, "duration": 0.16 } },
@@ -5078,4 +5078,4 @@
5078
5078
  "pivot_y": 0.5
5079
5079
  }
5080
5080
  ]
5081
- }
5081
+ }
package/dist/index.d.ts CHANGED
@@ -11,12 +11,15 @@ interface LegacyPart {
11
11
  pivot_x?: number;
12
12
  pivot_y?: number;
13
13
  }
14
+ interface LegacyTrait {
15
+ slot: string;
16
+ attachments: LegacyPart[];
17
+ replaces?: string[];
18
+ slot_z_index_overrides?: Record<string, number>;
19
+ }
14
20
  interface LegacyRig {
15
21
  skins?: Record<string, Record<string, LegacyPart>>;
16
- traits?: Record<string, Record<string, {
17
- slot: string;
18
- attachments: LegacyPart[];
19
- }>>;
22
+ traits?: Record<string, Record<string, LegacyTrait>>;
20
23
  rig: LegacyPart[];
21
24
  }
22
25
  interface LegacyTween {
@@ -36,6 +39,7 @@ interface LegacyAnimations {
36
39
  animations: Record<string, {
37
40
  duration?: number;
38
41
  loop?: boolean;
42
+ loopMode?: 'repeat' | 'ping-pong';
39
43
  tweens?: LegacyTween[];
40
44
  }>;
41
45
  }
@@ -50,6 +54,29 @@ export interface UniqueSkinDefinition {
50
54
  skinId: string;
51
55
  bundleId: string;
52
56
  }
57
+ export declare const CHARACTER_RECIPE_SCHEMA: "roost2d.chikn-character/v1";
58
+ export interface CharacterRecipeV1 {
59
+ schema: typeof CHARACTER_RECIPE_SCHEMA;
60
+ species: ChiknSpecies;
61
+ skinId: string;
62
+ traitGroupIds: string[];
63
+ animationId?: string;
64
+ mirrored?: boolean;
65
+ tint?: number;
66
+ renderScale?: number;
67
+ }
68
+ export interface CharacterRecipeRuntime {
69
+ applySkin(skinId: string): void;
70
+ attachGroup(groupId: string): void;
71
+ removeGroup(groupOrSlotId: string): boolean;
72
+ setMirrored?(mirrored: boolean): void;
73
+ setTint?(tint?: number): void;
74
+ resetPose?(): void;
75
+ stop?(layer?: string): void;
76
+ play?(clipId: string, options?: {
77
+ layer?: string;
78
+ }): unknown;
79
+ }
53
80
  /** Source artwork to legacy rig-coordinate scale. Unique assembled skins are already rig-sized. */
54
81
  export declare const CHIKN_RIG_ART_SCALE: {
55
82
  readonly chikn: 0.1219;
@@ -60,6 +87,10 @@ export declare const UNIQUE_SKINS: readonly UniqueSkinDefinition[];
60
87
  export declare function resolveUniqueSkin(species: ChiknSpecies, token: number | string): UniqueSkinDefinition | undefined;
61
88
  export declare function uniqueAssetPrefix(unique: UniqueSkinDefinition): string;
62
89
  export declare function uniqueAssetId(unique: UniqueSkinDefinition, slotId: string): string;
90
+ /** Validates the portable recipe emitted by character builders before it mutates a live rig. */
91
+ export declare function validateCharacterRecipe(recipe: unknown, definition: RigDefinitionV1, clips?: readonly AnimationClipV1[]): string[];
92
+ /** Applies a validated recipe while clearing every previously selected trait category. */
93
+ export declare function applyCharacterRecipe(runtime: CharacterRecipeRuntime, recipe: CharacterRecipeV1, definition: RigDefinitionV1, clips?: readonly AnimationClipV1[]): void;
63
94
  /**
64
95
  * Adds a unique skin to a converted base rig. The caller supplies the pack's logical asset IDs,
65
96
  * so this metadata package never embeds or guesses artwork paths. Standard slots replace their
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,8 +2,10 @@ export const chiknRigMetadataUrl = new URL('./data/chikn-rig.json', import.meta.
2
2
  export const roostrRigMetadataUrl = new URL('./data/roostr-rig.json', import.meta.url);
3
3
  export const chiknAnimationMetadataUrl = new URL('./data/chikn-anims.json', import.meta.url);
4
4
  export const roostrAnimationMetadataUrl = new URL('./data/roostr-anims.json', import.meta.url);
5
+ export const CHARACTER_RECIPE_SCHEMA = 'roost2d.chikn-character/v1';
5
6
  /** Source artwork to legacy rig-coordinate scale. Unique assembled skins are already rig-sized. */
6
7
  export const CHIKN_RIG_ART_SCALE = { chikn: 0.1219, roostr: 0.0929 };
8
+ const SINGLE_FEET_TRAIT_X_OFFSET = 8;
7
9
  /** Apache metadata only. Artwork remains resolved from the separately governed asset manifest. */
8
10
  export const UNIQUE_SKINS = [
9
11
  ['chikn', 1231, 'UniqueChiknCryptopunk1231'], ['chikn', 2138, 'UniqueChiknDirtybird2138'], ['chikn', 2757, 'UniqueChiknPepe2757'], ['chikn', 3604, 'UniqueChiknBayc3604'], ['chikn', 4386, 'UniqueChiknElon4386'], ['chikn', 6969, 'UniqueChiknDegen6969'], ['chikn', 8312, 'UniqueChiknSpace8312'], ['chikn', 9117, 'UniqueChiknSweatymeatchikn9117'], ['chikn', 10000, 'UniqueChiknKernel10000'],
@@ -15,6 +17,68 @@ export function resolveUniqueSkin(species, token) {
15
17
  }
16
18
  export function uniqueAssetPrefix(unique) { return `assembled-unique/${unique.species}/${assetToken(unique.skinId)}/`; }
17
19
  export function uniqueAssetId(unique, slotId) { return `${uniqueAssetPrefix(unique)}${assetToken(slotId)}`; }
20
+ /** Validates the portable recipe emitted by character builders before it mutates a live rig. */
21
+ export function validateCharacterRecipe(recipe, definition, clips = []) {
22
+ if (!recipe || typeof recipe !== 'object' || Array.isArray(recipe))
23
+ return ['character recipe must be an object'];
24
+ const value = recipe;
25
+ const errors = [];
26
+ if (value.schema !== CHARACTER_RECIPE_SCHEMA)
27
+ errors.push(`schema must be ${CHARACTER_RECIPE_SCHEMA}`);
28
+ if (value.species !== 'chikn' && value.species !== 'roostr')
29
+ errors.push('species must be chikn or roostr');
30
+ if (value.species && definition.id !== value.species)
31
+ errors.push(`recipe species ${value.species} does not match rig ${definition.id}`);
32
+ if (typeof value.skinId !== 'string' || !value.skinId || !definition.skins || !Object.hasOwn(definition.skins, value.skinId))
33
+ errors.push(`unknown skin ${String(value.skinId)}`);
34
+ if (!Array.isArray(value.traitGroupIds))
35
+ errors.push('traitGroupIds must be an array');
36
+ else {
37
+ const occupiedSlots = new Set();
38
+ for (const groupId of value.traitGroupIds) {
39
+ const group = typeof groupId === 'string' && definition.attachmentGroups && Object.hasOwn(definition.attachmentGroups, groupId)
40
+ ? definition.attachmentGroups[groupId]
41
+ : undefined;
42
+ if (!group) {
43
+ errors.push(`unknown trait group ${String(groupId)}`);
44
+ continue;
45
+ }
46
+ if (occupiedSlots.has(group.slotId))
47
+ errors.push(`multiple trait groups target ${group.slotId}`);
48
+ occupiedSlots.add(group.slotId);
49
+ }
50
+ }
51
+ if (value.animationId !== undefined && (typeof value.animationId !== 'string' || !clips.some(({ id }) => id === value.animationId)))
52
+ errors.push(`unknown animation ${String(value.animationId)}`);
53
+ if (value.mirrored !== undefined && typeof value.mirrored !== 'boolean')
54
+ errors.push('mirrored must be a boolean');
55
+ if (value.tint !== undefined && (!Number.isInteger(value.tint) || value.tint < 0 || value.tint > 0xffffff))
56
+ errors.push('tint must be an integer colour');
57
+ if (value.renderScale !== undefined && (!Number.isFinite(value.renderScale) || value.renderScale <= 0))
58
+ errors.push('renderScale must be a positive finite number');
59
+ return errors;
60
+ }
61
+ /** Applies a validated recipe while clearing every previously selected trait category. */
62
+ export function applyCharacterRecipe(runtime, recipe, definition, clips = []) {
63
+ const errors = validateCharacterRecipe(recipe, definition, clips);
64
+ if (errors.length)
65
+ throw new Error(`Invalid character recipe:\n${errors.join('\n')}`);
66
+ if (runtime.resetPose)
67
+ runtime.resetPose();
68
+ else
69
+ runtime.stop?.('base');
70
+ const traitSlots = new Set(Object.values(definition.attachmentGroups ?? {}).map((group) => group.slotId));
71
+ for (const slotId of traitSlots)
72
+ runtime.removeGroup(slotId);
73
+ runtime.applySkin(recipe.skinId);
74
+ for (const groupId of recipe.traitGroupIds)
75
+ runtime.attachGroup(groupId);
76
+ runtime.setMirrored?.(recipe.mirrored ?? false);
77
+ runtime.setTint?.(recipe.tint);
78
+ if (recipe.animationId && runtime.play) {
79
+ runtime.play(recipe.animationId, { layer: 'base' });
80
+ }
81
+ }
18
82
  /**
19
83
  * Adds a unique skin to a converted base rig. The caller supplies the pack's logical asset IDs,
20
84
  * so this metadata package never embeds or guesses artwork paths. Standard slots replace their
@@ -70,6 +134,8 @@ export function convertLegacyRig(source, id, displayName) {
70
134
  const layoutScale = id === 'chikn' || id === 'roostr' ? CHIKN_RIG_ART_SCALE[id] : undefined;
71
135
  const textureByAttachment = new Map();
72
136
  const slotByAttachment = new Map();
137
+ const traitCategoryByAttachment = new Map();
138
+ const singleFeetAttachmentIds = new Set();
73
139
  // Null-prototype accumulators: source ids are untrusted strings, and `__proto__` as a plain-object
74
140
  // key reparents the container instead of adding an entry.
75
141
  const skins = Object.create(null);
@@ -85,12 +151,25 @@ export function convertLegacyRig(source, id, displayName) {
85
151
  const attachmentGroups = Object.create(null);
86
152
  for (const [traitGroupId, traitGroup] of Object.entries(source.traits ?? {}))
87
153
  for (const [traitId, trait] of Object.entries(traitGroup)) {
154
+ if (slug(traitGroupId) === 'feet' && trait.attachments.length === 1)
155
+ singleFeetAttachmentIds.add(trait.attachments[0].name);
88
156
  for (const part of trait.attachments) {
89
157
  textureByAttachment.set(part.name, part.texture ?? part.name);
90
158
  slotByAttachment.set(part.name, trait.slot);
159
+ traitCategoryByAttachment.set(part.name, traitGroupId);
91
160
  }
92
161
  const groupId = `${slug(traitGroupId)}/${slug(traitId)}`;
93
- attachmentGroups[groupId] = { id: groupId, slotId: trait.slot, attachmentIds: trait.attachments.map(({ name }) => name), exclusive: true, metadata: { category: traitGroupId, name: traitId } };
162
+ const replacesSlotIds = normalizedReplacementSlots(traitGroupId, trait.replaces);
163
+ const slotZIndexOverrides = trait.slot_z_index_overrides ?? defaultSlotZIndexOverrides(traitGroupId);
164
+ attachmentGroups[groupId] = {
165
+ id: groupId,
166
+ slotId: trait.slot,
167
+ attachmentIds: trait.attachments.map(({ name }) => name),
168
+ ...(replacesSlotIds?.length ? { replacesSlotIds } : {}),
169
+ ...(slotZIndexOverrides ? { slotZIndexOverrides } : {}),
170
+ exclusive: true,
171
+ metadata: { category: traitGroupId, name: traitId }
172
+ };
94
173
  }
95
174
  const partNames = new Set(source.rig.map((part) => part.name));
96
175
  const attachments = source.rig.map((part, index) => ({
@@ -103,12 +182,18 @@ export function convertLegacyRig(source, id, displayName) {
103
182
  rotation: 0,
104
183
  scaleX: 1,
105
184
  scaleY: 1,
106
- zIndex: part.z_index ?? index,
185
+ zIndex: normalizedTraitZIndex(traitCategoryByAttachment.get(part.name), part.z_index ?? index),
107
186
  depthTarget: 'bone',
108
187
  visible: false,
109
188
  anchorX: part.pivot_x ?? 0.5,
110
189
  anchorY: part.pivot_y ?? 0.5
111
190
  }));
191
+ const slots = [...new Map(attachments.map(({ id: attachmentId, slotId, zIndex }) => [slotId, { id: slotId, zIndex, defaultAttachmentId: attachmentId }])).values()];
192
+ const slotIds = new Set(slots.map(({ id: slotId }) => slotId));
193
+ const normalizedAttachmentGroups = Object.fromEntries(Object.entries(attachmentGroups).map(([groupId, group]) => {
194
+ const replacesSlotIds = group.replacesSlotIds?.filter((slotId) => slotIds.has(slotId));
195
+ return [groupId, { ...group, ...(replacesSlotIds?.length ? { replacesSlotIds } : { replacesSlotIds: undefined }) }];
196
+ }));
112
197
  return {
113
198
  schema: 'roost2d.rig/v1', id, displayName,
114
199
  bones: [
@@ -118,7 +203,7 @@ export function convertLegacyRig(source, id, displayName) {
118
203
  return {
119
204
  id: `bone:${part.name}`,
120
205
  ...(followSlotId ? { followSlotId } : { parentId: part.parent && partNames.has(part.parent) ? `bone:${part.parent}` : 'root' }),
121
- x: part.x ?? 0,
206
+ x: (part.x ?? 0) + (singleFeetAttachmentIds.has(part.name) ? SINGLE_FEET_TRAIT_X_OFFSET : 0),
122
207
  y: part.y ?? 0,
123
208
  rotation: radians(part.rotation ?? 0),
124
209
  scaleX: part.scale ?? 1,
@@ -126,11 +211,11 @@ export function convertLegacyRig(source, id, displayName) {
126
211
  };
127
212
  })
128
213
  ],
129
- slots: [...new Map(attachments.map(({ id: attachmentId, slotId, zIndex }) => [slotId, { id: slotId, zIndex, defaultAttachmentId: attachmentId }])).values()],
214
+ slots,
130
215
  attachments,
131
216
  skins,
132
217
  defaultSkinId: Object.keys(skins)[0],
133
- attachmentGroups,
218
+ attachmentGroups: normalizedAttachmentGroups,
134
219
  metadata: { sourceFormat: 'roostrift-rig-json', species: id }
135
220
  };
136
221
  }
@@ -138,7 +223,9 @@ export function convertLegacyAnimations(source, species) {
138
223
  if (!source || typeof source.animations !== 'object' || source.animations === null)
139
224
  throw new Error('Legacy animation source must provide an animations object');
140
225
  return Object.entries(source.animations).map(([id, animation]) => ({
141
- schema: 'roost2d.animation/v1', id: `${species}.${id}`, durationMs: (animation.duration ?? 1) * 1000, loop: animation.loop ?? true,
226
+ schema: 'roost2d.animation/v1', id: `${species}.${id}`, durationMs: (animation.duration ?? 1) * 1000,
227
+ loop: animation.loop ?? false,
228
+ ...(animation.loop === true && animation.loopMode ? { loopMode: animation.loopMode } : {}),
142
229
  // A Map, not a plain object: `slotName('__proto__')` as a key would otherwise hit Object.prototype.
143
230
  tracks: [...(animation.tweens ?? []).reduce((tracks, tween) => {
144
231
  const targetId = slotName(tween.target);
@@ -168,6 +255,31 @@ function compactAssetToken(value) { return assetToken(value).replaceAll('-', '')
168
255
  function slug(value) { return value.trim().replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toLowerCase(); }
169
256
  function slotName(value) { return value.replace(/^[^_]+_/, '').replace(/([a-z])([AB])$/, '$1 $2'); }
170
257
  function radians(degrees) { return degrees * Math.PI / 180; }
258
+ function normalizedReplacementSlots(category, declared) {
259
+ const normalized = slug(category);
260
+ if (normalized === 'head')
261
+ return undefined;
262
+ if (normalized === 'tail')
263
+ return declared ?? ['Tail'];
264
+ if (normalized === 'feet')
265
+ return declared ?? ['LegFoot A', 'LegFoot B'];
266
+ return declared;
267
+ }
268
+ function defaultSlotZIndexOverrides(category) {
269
+ return slug(category) === 'tail' ? { Tail: 6 } : undefined;
270
+ }
271
+ function normalizedTraitZIndex(category, zIndex) {
272
+ if (!category)
273
+ return zIndex;
274
+ const normalized = slug(category);
275
+ if (normalized === 'torso')
276
+ return 9;
277
+ if (normalized === 'neck' || normalized === 'feet')
278
+ return 20;
279
+ if (normalized === 'head')
280
+ return 30;
281
+ return zIndex;
282
+ }
171
283
  function traitFollowSlot(name) {
172
284
  if (!name.startsWith('Trait_'))
173
285
  return undefined;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAK/F,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AAE9E,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,CAAC,OAAO,EAAE,IAAI,EAAE,2BAA2B,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,gCAAgC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC;IAClY,CAAC,QAAQ,EAAE,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,6BAA6B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,2BAA2B,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,4BAA4B,CAAC;CAClhB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAuB,EAAE,KAAK,EAAE,KAAe,EAAE,MAAM,EAAE,MAAgB,EAAE,QAAQ,EAAE,GAAG,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC;AAE7J,MAAM,UAAU,iBAAiB,CAAC,OAAqB,EAAE,KAAsB;IAC7E,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA4B,IAAY,OAAO,oBAAoB,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACtJ,MAAM,UAAU,aAAa,CAAC,MAA4B,EAAE,MAAc,IAAY,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnJ;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,MAA4B,EAAE,iBAAmC;IACtH,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/H,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9G,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpL,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,gBAAgB,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAU,CAAC;SACjE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,mBAAmB,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;IACrN,CAAC,CAAC;IACF,MAAM,IAAI,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,qBAAqB,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC;QACpD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,UAAU,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QACzE,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;AACtH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAwB,KAAK,IAA8B,OAAO,gBAAgB,CAAC,MAAM,QAAQ,CAAY,mBAAmB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACnM,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAwB,KAAK,IAA8B,OAAO,gBAAgB,CAAC,MAAM,QAAQ,CAAY,oBAAoB,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvM,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAwB,KAAK,IAAgC,OAAO,uBAAuB,CAAC,MAAM,QAAQ,CAAmB,yBAAyB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACvN,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAwB,KAAK,IAAgC,OAAO,uBAAuB,CAAC,MAAM,QAAQ,CAAmB,0BAA0B,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE1N,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,EAAU,EAAE,WAAmB;IACjF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACzG,MAAM,WAAW,GAAG,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,mGAAmG;IACnG,0DAA0D;IAC1D,MAAM,KAAK,GAAuD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAuC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,gBAAgB,GAAyC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAAE,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxI,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YACrJ,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAClM,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAA6B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7E,EAAE,EAAE,IAAI,CAAC,IAAI;QACb,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACzI,MAAM,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;QAC3B,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC7B,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;KAC7B,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW;QACzC,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAC7D,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO;oBACL,EAAE,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACvB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC/H,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;oBACd,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;oBACd,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACrC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;oBACvB,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;iBACxB,CAAC;YACJ,CAAC,CAAC;SACH;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5J,WAAW;QACX,KAAK;QACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,gBAAgB;QAChB,QAAQ,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAwB,EAAE,OAAe;IAC/E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjK,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI;QAClI,oGAAoG;QACpG,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;oBAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvE,OAAO,MAAM,CAAC;YAChB,CAAC,EAAE,IAAI,GAAG,EAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,MAAe;YACvB,QAAQ;YACR,iFAAiF;YACjF,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACjE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI;gBACvB,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI;gBACnD,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;aAC7R,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAoC,MAAS;IAC3D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAe,CAAC;AAC7G,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACtI,SAAS,iBAAiB,CAAC,KAAa,IAAY,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACnG,SAAS,IAAI,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAChI,SAAS,QAAQ,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACpH,SAAS,OAAO,CAAC,OAAe,IAAY,OAAO,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC7E,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACrG,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,KAAK,UAAU,QAAQ,CAAI,GAAQ,EAAE,OAAqB,IAAgB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roost2d/chikn-rigs",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Apache-2.0 Chikn and Roostr rig and animation metadata for Roost2D.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@roost2d/contracts": "0.1.0"
25
+ "@roost2d/contracts": "0.2.0"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"