@roost2d/chikn-rigs 0.4.1 → 0.5.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
@@ -36,4 +36,15 @@ Both species ship the same 40 animation names, prefixed with `chikn.` or `roostr
36
36
 
37
37
  Loop and loop-mode metadata travels with every clip. One-shots preserve their authored end pose, so call `resetPose()` before switching independently previewed actions; persistent states such as `knockdown` can instead flow directly into `get_up`.
38
38
 
39
+ Trait-aware brawler actions are resolved from the same recipe:
40
+
41
+ ```ts
42
+ const choices = listAvailableChiknActions(recipe, definition);
43
+ const action = resolveChiknAction(recipe, definition, choices[0].id);
44
+ const playback = new RigActionController(rig).play(action.clip, { controlled: true });
45
+ playback.advance(frameMs);
46
+ ```
47
+
48
+ Every attachment group receives an immutable motion profile with its supported actions, attachment targets, amplitude, and speed. Weapons can replace the punch motion, feet select the paired or combined flying spin kick, combat-capable tails use a tail-strike foundation, and `listChiknSpecials` returns only specials granted by equipped traits.
49
+
39
50
  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).
@@ -0,0 +1,48 @@
1
+ import type { AnimationClipV1, RigDefinitionV1 } from '@roost2d/contracts';
2
+ import type { ProceduralEffectDescriptor } from '@roost2d/effects';
3
+ export type ChiknMotionFamily = 'accent' | 'footwear' | 'blade' | 'blunt' | 'ranged' | 'casting' | 'tail';
4
+ export type ChiknActionInput = 'punch' | 'kick' | 'special';
5
+ export interface ChiknTraitAnimationProfile {
6
+ species: 'chikn' | 'roostr';
7
+ traitGroupId: string;
8
+ category: string;
9
+ motionFamily: ChiknMotionFamily;
10
+ readonly attachmentTargets: readonly string[];
11
+ readonly supportedActions: readonly ChiknActionInput[];
12
+ amplitude: number;
13
+ speed: number;
14
+ special?: {
15
+ id: string;
16
+ label: string;
17
+ family: 'beam' | 'projectile' | 'cast' | 'burst' | 'tail';
18
+ socketId: string;
19
+ };
20
+ }
21
+ export interface ChiknActionChoice {
22
+ id: string;
23
+ input: ChiknActionInput;
24
+ label: string;
25
+ sourceTraitGroupId?: string;
26
+ }
27
+ export interface ResolvedChiknEffect extends ProceduralEffectDescriptor {
28
+ cueId: string;
29
+ socketId: string;
30
+ }
31
+ export interface ResolvedChiknAction extends ChiknActionChoice {
32
+ motionFamily: string;
33
+ clip: AnimationClipV1;
34
+ effects: ResolvedChiknEffect[];
35
+ }
36
+ export interface ChiknActionRecipe {
37
+ species: 'chikn' | 'roostr';
38
+ traitGroupIds: readonly string[];
39
+ }
40
+ /** Returns one immutable motion profile for every attachment group in a rig. */
41
+ export declare function createChiknTraitAnimationProfiles(definition: RigDefinitionV1): readonly ChiknTraitAnimationProfile[];
42
+ export declare function validateChiknTraitAnimationProfiles(definition: RigDefinitionV1, profiles: readonly ChiknTraitAnimationProfile[]): string[];
43
+ export declare function listChiknSpecials(recipe: ChiknActionRecipe, definition: RigDefinitionV1): ChiknActionChoice[];
44
+ export declare function listAvailableChiknActions(recipe: ChiknActionRecipe, definition: RigDefinitionV1): ChiknActionChoice[];
45
+ export declare function resolveChiknAction(recipe: ChiknActionRecipe, definition: RigDefinitionV1, actionId: string): ResolvedChiknAction;
46
+ /** Species-specific brawler and attack foundations generated from the rig setup pose. */
47
+ export declare function createChiknActionClips(definition: RigDefinitionV1): readonly AnimationClipV1[];
48
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAoC,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAwB,MAAM,kBAAkB,CAAC;AAEzF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1G,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACtH;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAUD,gFAAgF;AAChF,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,0BAA0B,EAAE,CA+BpH;AAED,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,0BAA0B,EAAE,GAAG,MAAM,EAAE,CAkB1I;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,GAAG,iBAAiB,EAAE,CAO7G;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,GAAG,iBAAiB,EAAE,CAMrH;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAgChI;AAED,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAkC9F"}
@@ -0,0 +1,266 @@
1
+ const BLADE = /(?:katana|sword|cutlass|broadsword|snip|spork|shovel|9-iron|the-key|scorpion-king)/;
2
+ const BLUNT = /(?:stick|corn|baguette|batter-up|home-run|banjo|bone|fish|popsicle|nugget|rubber-chikn|whalegod)/;
3
+ const RANGED = /(?:peacemaker|banger|zippo|boombox|floppy-disk|maverick|admiral)/;
4
+ const CASTING = /(?:wand|mage|all-seeing-eye|super-saiyan|saint|hypno|jell-o|beaker)/;
5
+ const TAIL_ATTACK = /(?:scorpion-king|sword-tail|hydra)/;
6
+ const profileCache = new WeakMap();
7
+ const clipCache = new WeakMap();
8
+ /** Returns one immutable motion profile for every attachment group in a rig. */
9
+ export function createChiknTraitAnimationProfiles(definition) {
10
+ const cached = profileCache.get(definition);
11
+ if (cached)
12
+ return cached;
13
+ const species = definition.id;
14
+ if (species !== 'chikn' && species !== 'roostr')
15
+ throw new Error(`Unsupported Chikn rig species: ${species}`);
16
+ const profiles = Object.freeze(Object.values(definition.attachmentGroups ?? {}).map((group) => {
17
+ const category = String(group.metadata?.category ?? group.slotId);
18
+ const token = group.id.toLowerCase();
19
+ const motionFamily = category.toLowerCase() === 'feet' ? 'footwear'
20
+ : category.toLowerCase() === 'tail' && TAIL_ATTACK.test(token) ? 'tail'
21
+ : BLADE.test(token) ? 'blade'
22
+ : RANGED.test(token) ? 'ranged'
23
+ : CASTING.test(token) ? 'casting'
24
+ : BLUNT.test(token) ? 'blunt'
25
+ : 'accent';
26
+ const variation = stableVariation(group.id);
27
+ const special = specialFor(group.id);
28
+ return Object.freeze({
29
+ species,
30
+ traitGroupId: group.id,
31
+ category,
32
+ motionFamily,
33
+ attachmentTargets: Object.freeze([...group.attachmentIds]),
34
+ supportedActions: Object.freeze(['punch', 'kick', ...(special ? ['special'] : [])]),
35
+ amplitude: Number((0.88 + variation * 0.24).toFixed(3)),
36
+ speed: Number((0.92 + (1 - variation) * 0.16).toFixed(3)),
37
+ ...(special ? { special } : {}),
38
+ });
39
+ }));
40
+ profileCache.set(definition, profiles);
41
+ return profiles;
42
+ }
43
+ export function validateChiknTraitAnimationProfiles(definition, profiles) {
44
+ const errors = [];
45
+ const groups = definition.attachmentGroups ?? {};
46
+ const seen = new Set();
47
+ const socketIds = new Set((definition.sockets ?? []).map(({ id }) => id));
48
+ for (const profile of profiles) {
49
+ if (seen.has(profile.traitGroupId))
50
+ errors.push(`duplicate trait animation profile ${profile.traitGroupId}`);
51
+ seen.add(profile.traitGroupId);
52
+ const group = groups[profile.traitGroupId];
53
+ if (!group) {
54
+ errors.push(`profile references unknown trait group ${profile.traitGroupId}`);
55
+ continue;
56
+ }
57
+ if (profile.species !== definition.id)
58
+ errors.push(`${profile.traitGroupId}: species does not match ${definition.id}`);
59
+ if (profile.attachmentTargets.join('|') !== group.attachmentIds.join('|'))
60
+ errors.push(`${profile.traitGroupId}: attachment targets do not match the rig group`);
61
+ if (!profile.supportedActions.includes('punch') || !profile.supportedActions.includes('kick') || profile.supportedActions.includes('special') !== Boolean(profile.special))
62
+ errors.push(`${profile.traitGroupId}: supported actions do not match its capabilities`);
63
+ if (!(profile.amplitude > 0) || !(profile.speed > 0))
64
+ errors.push(`${profile.traitGroupId}: adjustments must be positive`);
65
+ if (profile.special && !socketIds.has(profile.special.socketId))
66
+ errors.push(`${profile.traitGroupId}: unknown special socket ${profile.special.socketId}`);
67
+ }
68
+ for (const groupId of Object.keys(groups))
69
+ if (!seen.has(groupId))
70
+ errors.push(`trait group has no animation profile ${groupId}`);
71
+ return errors;
72
+ }
73
+ export function listChiknSpecials(recipe, definition) {
74
+ assertRecipe(recipe, definition);
75
+ const profiles = profileMap(definition);
76
+ return recipe.traitGroupIds.flatMap((traitGroupId) => {
77
+ const special = profiles.get(traitGroupId)?.special;
78
+ return special ? [{ id: special.id, input: 'special', label: special.label, sourceTraitGroupId: traitGroupId }] : [];
79
+ });
80
+ }
81
+ export function listAvailableChiknActions(recipe, definition) {
82
+ return [
83
+ { id: 'punch', input: 'punch', label: 'Punch' },
84
+ { id: 'kick', input: 'kick', label: 'Flying spin kick' },
85
+ ...listChiknSpecials(recipe, definition),
86
+ ];
87
+ }
88
+ export function resolveChiknAction(recipe, definition, actionId) {
89
+ assertRecipe(recipe, definition);
90
+ const clips = new Map(createChiknActionClips(definition).map((clip) => [clip.id, clip]));
91
+ const profiles = profileMap(definition);
92
+ const selected = recipe.traitGroupIds.map((id) => profiles.get(id)).filter(Boolean);
93
+ if (actionId === 'punch') {
94
+ const weapon = selected.find(({ motionFamily }) => ['blade', 'ranged', 'casting', 'blunt'].includes(motionFamily));
95
+ const family = weapon?.motionFamily ?? 'unarmed';
96
+ const clip = tailorActionClip(definition, requiredClip(clips, `${definition.id}.action.punch.${family}`), selected, weapon);
97
+ const effectKind = family === 'blade' ? 'slash' : family === 'ranged' ? 'projectile' : family === 'casting' ? 'burst' : undefined;
98
+ return {
99
+ id: actionId, input: 'punch', label: weapon ? `${displayName(weapon.traitGroupId)} attack` : 'Wing punch',
100
+ ...(weapon ? { sourceTraitGroupId: weapon.traitGroupId } : {}), motionFamily: family, clip,
101
+ effects: effectKind ? [effectFor(effectKind, 'contact', family === 'ranged' ? 'wing-front' : 'weapon', `${actionId}:${family}`)] : [],
102
+ };
103
+ }
104
+ if (actionId === 'kick') {
105
+ const feet = selected.find(({ category }) => category.toLowerCase() === 'feet');
106
+ const combined = feet ? (definition.attachmentGroups?.[feet.traitGroupId]?.attachmentIds.length ?? 0) === 1 : false;
107
+ const family = combined ? 'combined' : 'paired';
108
+ return { id: actionId, input: 'kick', label: feet ? `${displayName(feet.traitGroupId)} spin kick` : 'Flying spin kick', ...(feet ? { sourceTraitGroupId: feet.traitGroupId } : {}), motionFamily: family, clip: tailorActionClip(definition, requiredClip(clips, `${definition.id}.action.kick.${family}`), selected, feet), effects: [effectFor('trail', 'contact', 'foot-front', `${actionId}:${family}`)] };
109
+ }
110
+ const specialChoice = listChiknSpecials(recipe, definition).find(({ id }) => id === actionId);
111
+ if (!specialChoice?.sourceTraitGroupId)
112
+ throw new Error(`Special is not available for this recipe: ${actionId}`);
113
+ const profile = profiles.get(specialChoice.sourceTraitGroupId);
114
+ const special = profile.special;
115
+ return {
116
+ ...specialChoice,
117
+ motionFamily: special.family,
118
+ clip: tailorActionClip(definition, requiredClip(clips, `${definition.id}.action.special.${special.family}`), selected, profile),
119
+ effects: [effectFor(special.family === 'cast' ? 'burst' : special.family === 'tail' ? 'slash' : special.family, 'release', special.socketId, special.id)],
120
+ };
121
+ }
122
+ /** Species-specific brawler and attack foundations generated from the rig setup pose. */
123
+ export function createChiknActionClips(definition) {
124
+ const cached = clipCache.get(definition);
125
+ if (cached)
126
+ return cached;
127
+ const species = definition.id;
128
+ if (species !== 'chikn' && species !== 'roostr')
129
+ throw new Error(`Unsupported Chikn rig species: ${species}`);
130
+ const make = (id, durationMs, tracks, cues = [], loop = false) => ({ schema: 'roost2d.animation/v1', id: `${species}.${id}`, durationMs, loop, ...(loop ? { loopMode: 'repeat' } : {}), defaultLayer: id.includes('action.') ? 'action' : 'base', cues, tracks });
131
+ const track = (slot, frames) => {
132
+ const neutral = neutralTransform(definition, slot);
133
+ return { target: 'slot', targetId: slot, keyframes: frames.map(([timeMs, delta, durationMs]) => ({ timeMs, ...(durationMs === undefined ? {} : { durationMs }), x: neutral.x + (delta.x ?? 0), y: neutral.y + (delta.y ?? 0), rotation: neutral.rotation + (delta.rotation ?? 0), scaleX: neutral.scaleX * (delta.scaleX ?? 1), scaleY: neutral.scaleY * (delta.scaleY ?? 1), ease: 'power2.out' })) };
134
+ };
135
+ const phaseCues = (contact, duration, release = contact) => {
136
+ const cues = [
137
+ { id: 'anticipation', timeMs: 0, phase: 'anticipation' },
138
+ { id: release === contact ? 'contact' : 'release', timeMs: release, phase: release === contact ? 'contact' : 'release' },
139
+ ...(release === contact ? [] : [{ id: 'contact', timeMs: contact, phase: 'contact' }]),
140
+ { id: 'recovery', timeMs: Math.min(duration - 1, Math.max(contact, release) + Math.round((duration - Math.max(contact, release)) * 0.35)), phase: 'recovery' },
141
+ { id: 'complete', timeMs: duration, phase: 'complete' },
142
+ ];
143
+ return cues.sort((a, b) => a.timeMs - b.timeMs);
144
+ };
145
+ const clips = [
146
+ make('combat_idle', 800, [track('Torso', [[0, { y: 0 }], [400, { y: -1, rotation: -0.025 }, 400], [800, {}, 400]]), track('Wing A', [[0, { rotation: 0.18 }], [400, { rotation: 0.25 }, 400], [800, { rotation: 0.18 }, 400]])], [], true),
147
+ make('dash', 260, [track('Torso', [[0, { x: -3, rotation: -.12 }], [90, { x: 12, rotation: -.18 }, 90], [260, {}, 170]]), track('Tail', [[0, { rotation: .25 }], [260, {}, 260]])], phaseCues(90, 260)),
148
+ make('guard', 420, [track('Wing A', [[0, { x: 0, rotation: 0 }], [120, { x: 7, y: -4, rotation: -1.05 }, 120], [420, {}, 180]]), track('Head', [[0, {}], [120, { y: 3, rotation: .08 }, 120], [420, {}, 180]])], phaseCues(120, 420)),
149
+ ];
150
+ const punch = (family, wingRotation, duration = 420) => make(`action.punch.${family}`, duration, [track('Torso', [[0, { rotation: -.08 }], [130, { x: -2, rotation: -.16 }, 130], [230, { x: 5, rotation: .12 }, 100], [duration, {}, duration - 230]]), track('Wing A', [[0, {}], [130, { rotation: -.55 }, 130], [230, { x: 10, rotation: wingRotation }, 100], [duration, {}, duration - 230]]), track('Head', [[0, {}], [230, { rotation: .08 }, 230], [duration, {}, duration - 230]])], phaseCues(230, duration));
151
+ clips.push(punch('unarmed', -1.35), punch('blade', -2.15, 500), punch('blunt', -1.65, 540), punch('ranged', -1.05, 480), punch('casting', -1.25, 560));
152
+ const kick = (family) => make(`action.kick.${family}`, 760, [track('Torso', [[0, { y: 3, rotation: -.12 }], [170, { y: -10, rotation: -.45 }, 170], [390, { y: -15, rotation: 2.7 }, 220], [560, { y: -7, rotation: 5.7 }, 170], [760, {}, 200]]), track('LegUpper A', [[0, { rotation: -.2 }], [170, { rotation: -.75 }, 170], [390, { rotation: family === 'paired' ? 1.45 : .85 }, 220], [560, { rotation: .3 }, 170], [760, {}, 200]]), track('LegUpper B', [[0, { rotation: .2 }], [170, { rotation: .65 }, 170], [390, { rotation: family === 'paired' ? -.85 : .35 }, 220], [760, {}, 370]]), track('Wing A', [[0, {}], [390, { rotation: -1.2 }, 390], [760, {}, 370]])], phaseCues(390, 760));
153
+ clips.push(kick('paired'), kick('combined'));
154
+ const special = (family, release, duration) => make(`action.special.${family}`, duration, [track('Torso', [[0, {}], [release - 80, { x: -3, rotation: -.12 }, release - 80], [release, { x: 3, rotation: .08 }, 80], [duration, {}, duration - release]]), track(family === 'beam' ? 'Head' : family === 'projectile' || family === 'tail' ? 'Tail' : 'Wing A', [[0, {}], [release, { rotation: family === 'beam' ? -.16 : family === 'tail' ? 1.65 : -1.25, scaleX: 1.08, scaleY: 1.08 }, release], [duration, {}, duration - release]])], phaseCues(release + 20, duration, release));
155
+ clips.push(special('beam', 260, 620), special('projectile', 300, 720), special('cast', 340, 760), special('burst', 280, 680), special('tail', 250, 610));
156
+ const frozen = Object.freeze(clips.map(freezeClip));
157
+ clipCache.set(definition, frozen);
158
+ return frozen;
159
+ }
160
+ /** Adds deterministic per-trait recoil, sway and follow-through without changing gameplay movement. */
161
+ function tailorActionClip(definition, base, profiles, driver) {
162
+ const timeScale = 1 / (driver?.speed ?? 1);
163
+ const durationMs = Math.max(1, Math.round(base.durationMs * timeScale));
164
+ const scaleTime = (timeMs) => Math.min(durationMs, Math.round(timeMs * timeScale));
165
+ const accentAt = base.cues?.find(({ phase }) => phase === 'contact' || phase === 'release')?.timeMs ?? base.durationMs * .5;
166
+ const recoverAt = base.cues?.find(({ phase }) => phase === 'recovery')?.timeMs ?? base.durationMs * .72;
167
+ const traitTracks = [];
168
+ for (const profile of profiles) {
169
+ const direction = stableVariation(profile.traitGroupId) >= .5 ? 1 : -1;
170
+ const category = profile.category.toLowerCase();
171
+ const rotation = profile.amplitude * direction * (category === 'tail' ? .16 : category === 'neck' || category === 'head' ? .1 : .065);
172
+ const lift = profile.amplitude * (category === 'feet' ? -2.8 : -1.5);
173
+ for (const targetId of profile.attachmentTargets) {
174
+ const neutral = neutralAttachmentTransform(definition, targetId);
175
+ traitTracks.push({
176
+ target: 'attachment',
177
+ targetId,
178
+ keyframes: [
179
+ { timeMs: 0, durationMs: 0, ...neutral },
180
+ { timeMs: scaleTime(accentAt), durationMs: Math.max(1, scaleTime(accentAt)), x: neutral.x, y: neutral.y + lift, rotation: neutral.rotation + rotation, scaleX: neutral.scaleX * (1 + .025 * profile.amplitude), scaleY: neutral.scaleY * (1 + .025 * profile.amplitude), ease: 'power2.out' },
181
+ { timeMs: scaleTime(recoverAt), durationMs: Math.max(1, scaleTime(recoverAt - accentAt)), x: neutral.x, y: neutral.y + lift * .3, rotation: neutral.rotation - rotation * .25, scaleX: neutral.scaleX, scaleY: neutral.scaleY, ease: 'power2.out' },
182
+ { timeMs: durationMs, durationMs: Math.max(1, durationMs - scaleTime(recoverAt)), ...neutral, ease: 'power2.out' },
183
+ ],
184
+ });
185
+ }
186
+ }
187
+ return {
188
+ ...base,
189
+ durationMs,
190
+ cues: base.cues?.map((cue) => ({ ...cue, timeMs: scaleTime(cue.timeMs) })),
191
+ tracks: [
192
+ ...base.tracks.map((track) => ({ ...track, keyframes: track.keyframes.map((keyframe) => ({ ...keyframe, timeMs: scaleTime(keyframe.timeMs), ...(keyframe.durationMs === undefined ? {} : { durationMs: Math.max(0, scaleTime(keyframe.durationMs)) }) })) })),
193
+ ...traitTracks,
194
+ ],
195
+ };
196
+ }
197
+ function freezeClip(clip) {
198
+ for (const track of clip.tracks) {
199
+ for (const keyframe of track.keyframes)
200
+ Object.freeze(keyframe);
201
+ Object.freeze(track.keyframes);
202
+ Object.freeze(track);
203
+ }
204
+ for (const cue of clip.cues ?? [])
205
+ Object.freeze(cue);
206
+ if (clip.cues)
207
+ Object.freeze(clip.cues);
208
+ Object.freeze(clip.tracks);
209
+ return Object.freeze(clip);
210
+ }
211
+ function profileMap(definition) {
212
+ const profiles = createChiknTraitAnimationProfiles(definition);
213
+ const errors = validateChiknTraitAnimationProfiles(definition, profiles);
214
+ if (errors.length)
215
+ throw new Error(`Invalid Chikn trait animation profiles:\n${errors.join('\n')}`);
216
+ return new Map(profiles.map((profile) => [profile.traitGroupId, profile]));
217
+ }
218
+ function assertRecipe(recipe, definition) {
219
+ if (recipe.species !== definition.id)
220
+ throw new Error(`Recipe species ${recipe.species} does not match rig ${definition.id}`);
221
+ for (const id of recipe.traitGroupIds)
222
+ if (!definition.attachmentGroups?.[id])
223
+ throw new Error(`Unknown trait group ${id}`);
224
+ }
225
+ function specialFor(groupId) {
226
+ const id = groupId.toLowerCase();
227
+ if (id.includes('laser-eye'))
228
+ return { id: `${groupId}:laser`, label: `${displayName(groupId)} beam`, family: 'beam', socketId: 'eyes' };
229
+ if (TAIL_ATTACK.test(id))
230
+ return { id: `${groupId}:tail`, label: `${displayName(groupId)} strike`, family: 'tail', socketId: 'tail' };
231
+ if (/(?:golden-egg|very-fresh-egg|omelette)/.test(id))
232
+ return { id: `${groupId}:egg`, label: `${displayName(groupId)} throw`, family: 'projectile', socketId: id.startsWith('tail/') ? 'tail' : 'wing-front' };
233
+ if (CASTING.test(id))
234
+ return { id: `${groupId}:cast`, label: `${displayName(groupId)} special`, family: 'cast', socketId: id.startsWith('head/') ? 'eyes' : 'weapon' };
235
+ if (RANGED.test(id))
236
+ return { id: `${groupId}:shot`, label: `${displayName(groupId)} shot`, family: 'projectile', socketId: 'weapon' };
237
+ if (/(?:gas-guzzler|fat-pipes|smokestack|hothead|toot-toot)/.test(id))
238
+ return { id: `${groupId}:burst`, label: `${displayName(groupId)} burst`, family: 'burst', socketId: id.startsWith('tail/') ? 'tail' : 'weapon' };
239
+ return undefined;
240
+ }
241
+ function effectFor(kind, cueId, socketId, id) {
242
+ const colors = { beam: 0xff355e, slash: 0xffdf70, projectile: 0xfff2b2, burst: 0x9d71ff, trail: 0x74d7ff };
243
+ return { id, kind, cueId, socketId, durationMs: kind === 'beam' ? 260 : kind === 'projectile' ? 480 : 300, color: colors[kind], secondaryColor: 0xffffff, length: kind === 'beam' ? 180 : 90, width: kind === 'beam' ? 9 : 7, radius: kind === 'projectile' ? 10 : 18, distance: kind === 'projectile' ? 170 : 80 };
244
+ }
245
+ function neutralTransform(definition, slotId) {
246
+ const attachmentId = definition.defaultSkinId ? definition.skins?.[definition.defaultSkinId]?.[slotId] : undefined;
247
+ const attachment = definition.attachments.find(({ id }) => id === attachmentId) ?? definition.attachments.find(({ slotId: candidate }) => candidate === slotId);
248
+ const bone = definition.bones.find(({ id }) => id === attachment?.boneId);
249
+ return { x: bone?.x ?? attachment?.x ?? 0, y: bone?.y ?? attachment?.y ?? 0, rotation: bone?.rotation ?? attachment?.rotation ?? 0, scaleX: bone?.scaleX ?? attachment?.scaleX ?? 1, scaleY: bone?.scaleY ?? attachment?.scaleY ?? 1 };
250
+ }
251
+ function neutralAttachmentTransform(definition, attachmentId) {
252
+ const attachment = definition.attachments.find(({ id }) => id === attachmentId);
253
+ if (!attachment)
254
+ throw new Error(`Unknown profile attachment target: ${attachmentId}`);
255
+ return { x: attachment.x ?? 0, y: attachment.y ?? 0, rotation: attachment.rotation ?? 0, scaleX: attachment.scaleX ?? 1, scaleY: attachment.scaleY ?? 1 };
256
+ }
257
+ function requiredClip(clips, id) {
258
+ const clip = clips.get(id);
259
+ if (!clip)
260
+ throw new Error(`Unknown Chikn action clip: ${id}`);
261
+ return clip;
262
+ }
263
+ function displayName(groupId) { return groupId.split('/').at(-1).split('-').map((word) => word ? word[0].toUpperCase() + word.slice(1) : '').join(' '); }
264
+ function stableVariation(value) { let hash = 2166136261; for (const char of value)
265
+ hash = Math.imul(hash ^ char.charCodeAt(0), 16777619); return (hash >>> 0) / 0xffffffff; }
266
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -1084,6 +1084,14 @@
1084
1084
  }
1085
1085
  ]
1086
1086
  },
1087
+ "polygon bling": {
1088
+ "slot": "Neck",
1089
+ "attachments": [{ "name": "Trait_Neck_PolygonBling", "texture": "PolygonBling" }]
1090
+ },
1091
+ "polygon degen": {
1092
+ "slot": "Neck",
1093
+ "attachments": [{ "name": "Trait_Neck_PolygonDegen", "texture": "PolygonDegen" }]
1094
+ },
1087
1095
  "hairy old man": {
1088
1096
  "slot": "Neck",
1089
1097
  "attachments": [
@@ -1440,11 +1448,7 @@
1440
1448
  "attachments": [
1441
1449
  {
1442
1450
  "name": "Trait_Feet_PurpleFeet_A",
1443
- "texture": "PurpleFeet A 2"
1444
- },
1445
- {
1446
- "name": "Trait_Feet_PurpleFeet_B",
1447
- "texture": "PurpleFeet B 2"
1451
+ "texture": "PurpleFeet A"
1448
1452
  }
1449
1453
  ]
1450
1454
  },
@@ -1453,11 +1457,7 @@
1453
1457
  "attachments": [
1454
1458
  {
1455
1459
  "name": "Trait_Feet_RedFeet_A",
1456
- "texture": "RedFeet A 2"
1457
- },
1458
- {
1459
- "name": "Trait_Feet_RedFeet_B",
1460
- "texture": "RedFeet B 2"
1460
+ "texture": "RedFeet A"
1461
1461
  }
1462
1462
  ]
1463
1463
  },
@@ -1466,11 +1466,7 @@
1466
1466
  "attachments": [
1467
1467
  {
1468
1468
  "name": "Trait_Feet_GreenFeet_A",
1469
- "texture": "GreenFeet A 2"
1470
- },
1471
- {
1472
- "name": "Trait_Feet_GreenFeet_B",
1473
- "texture": "GreenFeet B 2"
1469
+ "texture": "GreenFeet A"
1474
1470
  }
1475
1471
  ]
1476
1472
  },
@@ -1479,11 +1475,7 @@
1479
1475
  "attachments": [
1480
1476
  {
1481
1477
  "name": "Trait_Feet_BlueFeet_A",
1482
- "texture": "BlueFeet A 2"
1483
- },
1484
- {
1485
- "name": "Trait_Feet_BlueFeet_B",
1486
- "texture": "BlueFeet B 2"
1478
+ "texture": "BlueFeet A"
1487
1479
  }
1488
1480
  ]
1489
1481
  }
@@ -4124,17 +4116,6 @@
4124
4116
  "pivot_x": 0.5,
4125
4117
  "pivot_y": 0.5
4126
4118
  },
4127
- {
4128
- "name": "Trait_Feet_PurpleFeet_B",
4129
- "parent": null,
4130
- "x": -2.77099609375,
4131
- "y": -16.06926406926407,
4132
- "rotation": 0.0,
4133
- "scale": 1.0,
4134
- "z_index": 0,
4135
- "pivot_x": 0.5,
4136
- "pivot_y": 0.5
4137
- },
4138
4119
  {
4139
4120
  "name": "Trait_Feet_RedFeet_A",
4140
4121
  "parent": null,
@@ -4146,17 +4127,6 @@
4146
4127
  "pivot_x": 0.5,
4147
4128
  "pivot_y": 0.5
4148
4129
  },
4149
- {
4150
- "name": "Trait_Feet_RedFeet_B",
4151
- "parent": null,
4152
- "x": -4.43359375,
4153
- "y": -18.285714285714285,
4154
- "rotation": 0.0,
4155
- "scale": 1.0,
4156
- "z_index": 0,
4157
- "pivot_x": 0.5,
4158
- "pivot_y": 0.5
4159
- },
4160
4130
  {
4161
4131
  "name": "Trait_Feet_GreenFeet_A",
4162
4132
  "parent": null,
@@ -4168,17 +4138,6 @@
4168
4138
  "pivot_x": 0.5,
4169
4139
  "pivot_y": 0.5
4170
4140
  },
4171
- {
4172
- "name": "Trait_Feet_GreenFeet_B",
4173
- "parent": null,
4174
- "x": -3.3251953125,
4175
- "y": -17.17748917748918,
4176
- "rotation": 0.0,
4177
- "scale": 1.0,
4178
- "z_index": 0,
4179
- "pivot_x": 0.5,
4180
- "pivot_y": 0.5
4181
- },
4182
4141
  {
4183
4142
  "name": "Trait_Feet_BlueFeet_A",
4184
4143
  "parent": null,
@@ -4190,17 +4149,6 @@
4190
4149
  "pivot_x": 0.5,
4191
4150
  "pivot_y": 0.5
4192
4151
  },
4193
- {
4194
- "name": "Trait_Feet_BlueFeet_B",
4195
- "parent": null,
4196
- "x": -4.43359375,
4197
- "y": -17.73160173160173,
4198
- "rotation": 0.0,
4199
- "scale": 1.0,
4200
- "z_index": 20,
4201
- "pivot_x": 0.5,
4202
- "pivot_y": 0.5
4203
- },
4204
4152
  {
4205
4153
  "name": "Trait_Tail_BigMamaFatPipes",
4206
4154
  "parent": null,
@@ -711,6 +711,15 @@
711
711
  }
712
712
  ]
713
713
  },
714
+ "Beard": {
715
+ "slot": "Head",
716
+ "attachments": [
717
+ {
718
+ "name": "Trait_Head_Beard",
719
+ "texture": "Beard"
720
+ }
721
+ ]
722
+ },
714
723
  "Chef": {
715
724
  "slot": "Head",
716
725
  "attachments": [
@@ -753,6 +762,10 @@
753
762
  {
754
763
  "name": "Trait_Head_Permabull",
755
764
  "texture": "Permabull"
765
+ },
766
+ {
767
+ "name": "Trait_Head_Permabull_B",
768
+ "texture": "Permabull_B"
756
769
  }
757
770
  ]
758
771
  },
@@ -1243,7 +1256,7 @@
1243
1256
  },
1244
1257
  {
1245
1258
  "name": "Trait_Torso_SnibSnibs_B",
1246
- "texture": "Snip Snips_B"
1259
+ "texture": "Snib Snibs_B"
1247
1260
  }
1248
1261
  ]
1249
1262
  },
@@ -1806,6 +1819,15 @@
1806
1819
  }
1807
1820
  ]
1808
1821
  },
1822
+ "IronClaw": {
1823
+ "slot": "Feet",
1824
+ "attachments": [
1825
+ {
1826
+ "name": "Trait_Feet_IronClaw",
1827
+ "texture": "IronClaw"
1828
+ }
1829
+ ]
1830
+ },
1809
1831
  "Celestial Feet": {
1810
1832
  "slot": "Feet",
1811
1833
  "attachments": [
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { AnimationClipV1, RigDefinitionV1 } from '@roost2d/contracts';
2
+ export * from './actions.js';
2
3
  interface LegacyPart {
3
4
  name: string;
4
5
  texture?: string;
@@ -103,5 +104,4 @@ export declare function loadChiknAnimations(fetcher?: typeof fetch): Promise<Ani
103
104
  export declare function loadRoostrAnimations(fetcher?: typeof fetch): Promise<AnimationClipV1[]>;
104
105
  export declare function convertLegacyRig(source: LegacyRig, id: string, displayName: string): RigDefinitionV1;
105
106
  export declare function convertLegacyAnimations(source: LegacyAnimations, species: string): AnimationClipV1[];
106
- export {};
107
107
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -1,3 +1,4 @@
1
+ export * from './actions.js';
1
2
  export const chiknRigMetadataUrl = new URL('./data/chikn-rig.json', import.meta.url);
2
3
  export const roostrRigMetadataUrl = new URL('./data/roostr-rig.json', import.meta.url);
3
4
  export const chiknAnimationMetadataUrl = new URL('./data/chikn-anims.json', import.meta.url);
@@ -126,11 +127,21 @@ export function mergeUniqueSkin(base, unique, availableAssetIds) {
126
127
  }
127
128
  export async function loadChiknRig(fetcher = fetch) { return convertLegacyRig(await loadJson(chiknRigMetadataUrl, fetcher), 'chikn', 'Chikn'); }
128
129
  export async function loadRoostrRig(fetcher = fetch) { return convertLegacyRig(await loadJson(roostrRigMetadataUrl, fetcher), 'roostr', 'Roostr'); }
129
- export async function loadChiknAnimations(fetcher = fetch) { return convertLegacyAnimations(await loadJson(chiknAnimationMetadataUrl, fetcher), 'chikn'); }
130
- export async function loadRoostrAnimations(fetcher = fetch) { return convertLegacyAnimations(await loadJson(roostrAnimationMetadataUrl, fetcher), 'roostr'); }
130
+ export async function loadChiknAnimations(fetcher = fetch) { const definition = await loadChiknRig(fetcher); return [...convertLegacyAnimations(await loadJson(chiknAnimationMetadataUrl, fetcher), 'chikn'), ...(await import('./actions.js')).createChiknActionClips(definition)]; }
131
+ export async function loadRoostrAnimations(fetcher = fetch) { const definition = await loadRoostrRig(fetcher); return [...convertLegacyAnimations(await loadJson(roostrAnimationMetadataUrl, fetcher), 'roostr'), ...(await import('./actions.js')).createChiknActionClips(definition)]; }
131
132
  export function convertLegacyRig(source, id, displayName) {
132
133
  if (!source || !Array.isArray(source.rig))
133
134
  throw new Error('Legacy rig source must provide a rig array');
135
+ const rigParts = [...source.rig];
136
+ const knownRigParts = new Set(rigParts.map(({ name }) => name));
137
+ for (const traits of Object.values(source.traits ?? {}))
138
+ for (const trait of Object.values(traits))
139
+ for (const part of trait.attachments) {
140
+ if (!knownRigParts.has(part.name)) {
141
+ rigParts.push(part);
142
+ knownRigParts.add(part.name);
143
+ }
144
+ }
134
145
  const layoutScale = id === 'chikn' || id === 'roostr' ? CHIKN_RIG_ART_SCALE[id] : undefined;
135
146
  const textureByAttachment = new Map();
136
147
  const slotByAttachment = new Map();
@@ -171,8 +182,8 @@ export function convertLegacyRig(source, id, displayName) {
171
182
  metadata: { category: traitGroupId, name: traitId }
172
183
  };
173
184
  }
174
- const partNames = new Set(source.rig.map((part) => part.name));
175
- const attachments = source.rig.map((part, index) => ({
185
+ const partNames = new Set(rigParts.map((part) => part.name));
186
+ const attachments = rigParts.map((part, index) => ({
176
187
  id: part.name,
177
188
  slotId: slotByAttachment.get(part.name) ?? slotName(part.name),
178
189
  texture: { assetId: `${id}.rig.${assetToken(textureByAttachment.get(part.name) ?? part.name)}`, ...(layoutScale ? { layoutScale } : {}) },
@@ -198,7 +209,7 @@ export function convertLegacyRig(source, id, displayName) {
198
209
  schema: 'roost2d.rig/v1', id, displayName,
199
210
  bones: [
200
211
  { id: 'root', x: 0, y: 0, rotation: 0, scaleX: 1, scaleY: 1 },
201
- ...source.rig.map((part) => {
212
+ ...rigParts.map((part) => {
202
213
  const followSlotId = traitFollowSlot(part.name);
203
214
  return {
204
215
  id: `bone:${part.name}`,
@@ -216,6 +227,7 @@ export function convertLegacyRig(source, id, displayName) {
216
227
  skins,
217
228
  defaultSkinId: Object.keys(skins)[0],
218
229
  attachmentGroups: normalizedAttachmentGroups,
230
+ sockets: actionSockets(id).filter(({ targetId }) => slotIds.has(targetId)),
219
231
  metadata: { sourceFormat: 'roostrift-rig-json', species: id }
220
232
  };
221
233
  }
@@ -297,6 +309,16 @@ function traitFollowSlot(name) {
297
309
  return suffix === 'A' || suffix === 'B' ? `Wing ${suffix}` : 'Wing A';
298
310
  return undefined;
299
311
  }
312
+ function actionSockets(species) {
313
+ const roostr = species === 'roostr';
314
+ return [
315
+ { id: 'eyes', target: 'slot', targetId: 'Head', x: roostr ? 16 : 13, y: roostr ? -4 : -3, rotation: 0, scaleX: 1, scaleY: 1 },
316
+ { id: 'wing-front', target: 'slot', targetId: 'Wing A', x: roostr ? 18 : 15, y: 0, rotation: 0, scaleX: 1, scaleY: 1 },
317
+ { id: 'weapon', target: 'slot', targetId: 'Torso', x: roostr ? 24 : 20, y: 12, rotation: 0, scaleX: 1, scaleY: 1 },
318
+ { id: 'foot-front', target: 'slot', targetId: 'LegFoot A', x: roostr ? 12 : 10, y: 0, rotation: 0, scaleX: 1, scaleY: 1 },
319
+ { id: 'tail', target: 'slot', targetId: 'Tail', x: roostr ? -18 : -15, y: 0, rotation: Math.PI, scaleX: 1, scaleY: 1 },
320
+ ];
321
+ }
300
322
  async function loadJson(url, fetcher) { const response = await fetcher.call(globalThis, url); if (!response.ok)
301
323
  throw new Error(`Failed to load ${url}: ${response.status}`); return response.json(); }
302
324
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,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,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAAqC,CAAC;AAuB7E,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AAC9E,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,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,gGAAgG;AAChG,MAAM,UAAU,uBAAuB,CAAC,MAAe,EAAE,UAA2B,EAAE,QAAoC,EAAE;IAC1H,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,MAAoC,CAAC;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,uBAAuB;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,uBAAuB,EAAE,CAAC,CAAC;IACvG,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC5G,IAAI,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,OAAO,uBAAuB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IACzI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;SAClF,CAAC;QACJ,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC;gBAC7H,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChF,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACjG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACnM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnH,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1J,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACpK,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAAC,OAA+B,EAAE,MAAyB,EAAE,UAA2B,EAAE,QAAoC,EAAE;IAClK,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,SAAS,EAAE,CAAC;;QACtC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,KAAK,MAAM,MAAM,IAAI,UAAU;QAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;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,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5D,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,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,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;YAC7H,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACrC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9D,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,eAAe,GAAG,0BAA0B,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,mBAAmB,GAAG,KAAK,CAAC,sBAAsB,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACrG,gBAAgB,CAAC,OAAO,CAAC,GAAG;gBAC1B,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;gBACxD,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;aACpD,CAAC;QACJ,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,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAC9F,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,MAAM,KAAK,GAAG,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,CAAC;IACpK,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,0BAA0B,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9G,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC,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,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5F,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;QACL,WAAW;QACX,KAAK;QACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,gBAAgB,EAAE,0BAA0B;QAC5C,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;QACpG,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK;QAC7B,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,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,0BAA0B,CAAC,QAAgB,EAAE,QAAmB;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,QAAQ,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,SAAS,0BAA0B,CAAC,QAAgB;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AACD,SAAS,qBAAqB,CAAC,QAA4B,EAAE,MAAc;IACzE,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9D,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,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.4.1",
3
+ "version": "0.5.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,8 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@roost2d/contracts": "0.4.1"
25
+ "@roost2d/contracts": "0.5.0",
26
+ "@roost2d/effects": "0.5.0"
26
27
  },
27
28
  "publishConfig": {
28
29
  "access": "public"