@franzenzenhofer/asanakit 0.1.0 → 0.3.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 +84 -46
- package/dist/anatomy/muscles.d.ts +10 -7
- package/dist/anatomy/muscles.d.ts.map +1 -1
- package/dist/anatomy/muscles.js +21 -17
- package/dist/anatomy/muscles.js.map +1 -1
- package/dist/anatomy/validate.d.ts.map +1 -1
- package/dist/anatomy/validate.js +16 -10
- package/dist/anatomy/validate.js.map +1 -1
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +24 -2
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +3 -1
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/render.d.ts.map +1 -1
- package/dist/cli/commands/render.js +22 -4
- package/dist/cli/commands/render.js.map +1 -1
- package/dist/cli/commands/view.d.ts +3 -0
- package/dist/cli/commands/view.d.ts.map +1 -0
- package/dist/cli/commands/view.js +88 -0
- package/dist/cli/commands/view.js.map +1 -0
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/resolve.d.ts +6 -0
- package/dist/cli/resolve.d.ts.map +1 -1
- package/dist/cli/resolve.js +40 -0
- package/dist/cli/resolve.js.map +1 -1
- package/dist/core/camera.d.ts +56 -0
- package/dist/core/camera.d.ts.map +1 -0
- package/dist/core/camera.js +20 -0
- package/dist/core/camera.js.map +1 -0
- package/dist/core/joints.d.ts +18 -0
- package/dist/core/joints.d.ts.map +1 -0
- package/dist/core/joints.js +27 -0
- package/dist/core/joints.js.map +1 -0
- package/dist/core/quat.d.ts +18 -0
- package/dist/core/quat.d.ts.map +1 -0
- package/dist/core/quat.js +25 -0
- package/dist/core/quat.js.map +1 -0
- package/dist/core/rig.d.ts +1 -6
- package/dist/core/rig.d.ts.map +1 -1
- package/dist/core/rig.js +45 -74
- package/dist/core/rig.js.map +1 -1
- package/dist/core/skeleton.d.ts +4 -13
- package/dist/core/skeleton.d.ts.map +1 -1
- package/dist/core/skeleton.js +39 -69
- package/dist/core/skeleton.js.map +1 -1
- package/dist/core/types.d.ts +62 -55
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/vec3.d.ts +13 -0
- package/dist/core/vec3.d.ts.map +1 -0
- package/dist/core/vec3.js +26 -0
- package/dist/core/vec3.js.map +1 -0
- package/dist/export3d/gltf.d.ts +11 -0
- package/dist/export3d/gltf.d.ts.map +1 -0
- package/dist/export3d/gltf.js +28 -0
- package/dist/export3d/gltf.js.map +1 -0
- package/dist/export3d/index.d.ts +3 -0
- package/dist/export3d/index.d.ts.map +1 -0
- package/dist/export3d/index.js +3 -0
- package/dist/export3d/index.js.map +1 -0
- package/dist/export3d/shims.d.ts +7 -0
- package/dist/export3d/shims.d.ts.map +1 -0
- package/dist/export3d/shims.js +27 -0
- package/dist/export3d/shims.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/library/index.js +4 -4
- package/dist/library/index.js.map +1 -1
- package/dist/model/pose.d.ts +11 -5
- package/dist/model/pose.d.ts.map +1 -1
- package/dist/model/pose.js +30 -16
- package/dist/model/pose.js.map +1 -1
- package/dist/model/schema.d.ts +69 -28
- package/dist/model/schema.d.ts.map +1 -1
- package/dist/model/schema.js +57 -17
- package/dist/model/schema.js.map +1 -1
- package/dist/physics/index.d.ts +3 -0
- package/dist/physics/index.d.ts.map +1 -0
- package/dist/physics/index.js +3 -0
- package/dist/physics/index.js.map +1 -0
- package/dist/physics/rapier-types.d.ts +60 -0
- package/dist/physics/rapier-types.d.ts.map +1 -0
- package/dist/physics/rapier-types.js +12 -0
- package/dist/physics/rapier-types.js.map +1 -0
- package/dist/physics/settle.d.ts +3 -0
- package/dist/physics/settle.d.ts.map +1 -0
- package/dist/physics/settle.js +108 -0
- package/dist/physics/settle.js.map +1 -0
- package/dist/physics/world.d.ts +4 -0
- package/dist/physics/world.d.ts.map +1 -0
- package/dist/physics/world.js +18 -0
- package/dist/physics/world.js.map +1 -0
- package/dist/render/anatomy.js +1 -1
- package/dist/render/anatomy.js.map +1 -1
- package/dist/render/annotations.d.ts +3 -2
- package/dist/render/annotations.d.ts.map +1 -1
- package/dist/render/annotations.js.map +1 -1
- package/dist/render/camera.d.ts +43 -0
- package/dist/render/camera.d.ts.map +1 -0
- package/dist/render/camera.js +57 -0
- package/dist/render/camera.js.map +1 -0
- package/dist/render/context.d.ts +5 -3
- package/dist/render/context.d.ts.map +1 -1
- package/dist/render/figure.d.ts +4 -2
- package/dist/render/figure.d.ts.map +1 -1
- package/dist/render/figure.js +29 -43
- package/dist/render/figure.js.map +1 -1
- package/dist/render/index.d.ts +1 -0
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +1 -0
- package/dist/render/index.js.map +1 -1
- package/dist/render/props.d.ts +4 -3
- package/dist/render/props.d.ts.map +1 -1
- package/dist/render/props.js.map +1 -1
- package/dist/render/scene.d.ts +7 -1
- package/dist/render/scene.d.ts.map +1 -1
- package/dist/render/scene.js +8 -1
- package/dist/render/scene.js.map +1 -1
- package/dist/render/sheet.d.ts +3 -0
- package/dist/render/sheet.d.ts.map +1 -1
- package/dist/render/sheet.js +2 -0
- package/dist/render/sheet.js.map +1 -1
- package/dist/solve.d.ts +14 -0
- package/dist/solve.d.ts.map +1 -0
- package/dist/solve.js +17 -0
- package/dist/solve.js.map +1 -0
- package/dist/standards/keypoints.d.ts +2 -10
- package/dist/standards/keypoints.d.ts.map +1 -1
- package/dist/standards/keypoints.js +33 -14
- package/dist/standards/keypoints.js.map +1 -1
- package/dist/three/index.d.ts +2 -0
- package/dist/three/index.d.ts.map +1 -0
- package/dist/three/index.js +2 -0
- package/dist/three/index.js.map +1 -0
- package/dist/three/scene.d.ts +22 -0
- package/dist/three/scene.d.ts.map +1 -0
- package/dist/three/scene.js +90 -0
- package/dist/three/scene.js.map +1 -0
- package/dist/viewer/html.d.ts +32 -0
- package/dist/viewer/html.d.ts.map +1 -0
- package/dist/viewer/html.js +163 -0
- package/dist/viewer/html.js.map +1 -0
- package/dist/viewer/index.d.ts +2 -0
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +2 -0
- package/dist/viewer/index.js.map +1 -0
- package/dist/viewer/viewer.bundle.js +4119 -0
- package/docs/AUTHORING.md +119 -58
- package/package.json +20 -6
- package/poses/surf/bottom-turn.pose.yaml +24 -24
- package/poses/surf/cutback.pose.yaml +24 -24
- package/poses/surf/duck-dive.pose.yaml +23 -23
- package/poses/surf/noseride.pose.yaml +23 -25
- package/poses/surf/paddling.pose.yaml +24 -24
- package/poses/surf/pop-up.pose.yaml +24 -24
- package/poses/surf/takeoff.pose.yaml +24 -24
- package/poses/surf/tube-stance.pose.yaml +24 -24
- package/poses/yoga/ashtanga/adho-mukha-svanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/ardha-uttanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/baddha-konasana.pose.yaml +21 -23
- package/poses/yoga/ashtanga/balasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/chaturanga-dandasana.pose.yaml +21 -21
- package/poses/yoga/ashtanga/dandasana.pose.yaml +21 -23
- package/poses/yoga/ashtanga/halasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/janu-sirsasana-a.pose.yaml +22 -22
- package/poses/yoga/ashtanga/karnapidasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/marichyasana-a.pose.yaml +22 -22
- package/poses/yoga/ashtanga/marichyasana-c.pose.yaml +21 -23
- package/poses/yoga/ashtanga/matsyasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/navasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/padahastasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/padangusthasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/padmasana.pose.yaml +22 -24
- package/poses/yoga/ashtanga/parsvottanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/paschimottanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/prasarita-padottanasana-a.pose.yaml +26 -26
- package/poses/yoga/ashtanga/prasarita-padottanasana-c.pose.yaml +26 -26
- package/poses/yoga/ashtanga/primary.seq.yaml +2 -4
- package/poses/yoga/ashtanga/purvottanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/salamba-sarvangasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/samasthiti.pose.yaml +10 -10
- package/poses/yoga/ashtanga/savasana.pose.yaml +21 -21
- package/poses/yoga/ashtanga/setu-bandhasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/sirsasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/supta-padangusthasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/upavistha-konasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/urdhva-dhanurasana.pose.yaml +23 -23
- package/poses/yoga/ashtanga/urdhva-hastasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/urdhva-mukha-svanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/utkatasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/uttanasana.pose.yaml +22 -22
- package/poses/yoga/ashtanga/utthita-parsvakonasana.pose.yaml +24 -24
- package/poses/yoga/ashtanga/utthita-trikonasana.pose.yaml +24 -24
- package/poses/yoga/ashtanga/virabhadrasana-a.pose.yaml +22 -22
- package/poses/yoga/ashtanga/virabhadrasana-b.pose.yaml +21 -23
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 3D point/vector helpers on top of gl-matrix (MIT).
|
|
3
|
+
*
|
|
4
|
+
* Conventions:
|
|
5
|
+
* - math coordinates: x = the figure's anatomical left, y = up, z = the
|
|
6
|
+
* direction the figure faces in anatomical neutral (toward the front camera)
|
|
7
|
+
* - points are plain `[x, y, z]` tuples
|
|
8
|
+
* - angles cross the API in degrees; radians live only inside gl-matrix calls
|
|
9
|
+
*/
|
|
10
|
+
import { glMatrix, vec3 as gl } from 'gl-matrix';
|
|
11
|
+
// Float64 instead of gl-matrix's default Float32: poses are authored in degrees
|
|
12
|
+
// and small rounding drift is visible once a limb chain is five bones deep.
|
|
13
|
+
glMatrix.setMatrixArrayType(Array);
|
|
14
|
+
const out = () => [0, 0, 0];
|
|
15
|
+
export const vec3 = (x, y, z) => [x, y, z];
|
|
16
|
+
export const add3 = (a, b) => gl.add(out(), a, b);
|
|
17
|
+
export const sub3 = (a, b) => gl.sub(out(), a, b);
|
|
18
|
+
export const scale3 = (a, k) => gl.scale(out(), a, k);
|
|
19
|
+
export const len3 = (a) => gl.length(a);
|
|
20
|
+
export const dist3 = (a, b) => gl.dist(a, b);
|
|
21
|
+
export const dot3 = (a, b) => gl.dot(a, b);
|
|
22
|
+
export const cross3 = (a, b) => gl.cross(out(), a, b);
|
|
23
|
+
export const lerp3 = (a, b, t) => gl.lerp(out(), a, b, t);
|
|
24
|
+
export const midpoint3 = (a, b) => lerp3(a, b, 0.5);
|
|
25
|
+
export const normalize3 = (a) => gl.normalize(out(), a);
|
|
26
|
+
//# sourceMappingURL=vec3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vec3.js","sourceRoot":"","sources":["../../src/core/vec3.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AAEjD,gFAAgF;AAChF,4EAA4E;AAC5E,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAInC,MAAM,GAAG,GAAG,GAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAA6B,CAAC;AAEhG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAA6B,CAAC;AAEhG,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,CAAS,EAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAA6B,CAAC;AAEtG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAA6B,CAAC;AAEpG,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,CAAO,EAAE,CAAS,EAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAA6B,CAAC;AAEhH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAA6B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Skeleton } from '../core/types.js';
|
|
2
|
+
import { type FigureSceneOptions } from '../three/scene.js';
|
|
3
|
+
export interface GltfExportOptions extends FigureSceneOptions {
|
|
4
|
+
/** Embed as binary GLB (default) or JSON .gltf with embedded buffers. */
|
|
5
|
+
readonly binary?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** A solved skeleton as a binary GLB: one file any 3D viewer can orbit and zoom. */
|
|
8
|
+
export declare const exportGlb: (skeleton: Skeleton, options?: GltfExportOptions) => Promise<Buffer>;
|
|
9
|
+
/** The same scene as embedded-buffer glTF JSON, for debugging and diffing. */
|
|
10
|
+
export declare const exportGltf: (skeleton: Skeleton, options?: GltfExportOptions) => Promise<string>;
|
|
11
|
+
//# sourceMappingURL=gltf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../src/export3d/gltf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG9E,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAkBD,oFAAoF;AACpF,eAAO,MAAM,SAAS,GAAU,UAAU,QAAQ,EAAE,UAAS,iBAAsB,KAAG,OAAO,CAAC,MAAM,CAInG,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GAAU,UAAU,QAAQ,EAAE,UAAS,iBAAsB,KAAG,OAAO,CAAC,MAAM,CAIpG,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { GLTFExporter } from 'three/addons/exporters/GLTFExporter.js';
|
|
2
|
+
import { buildFigureScene } from '../three/scene.js';
|
|
3
|
+
import { installFileReaderShim } from './shims.js';
|
|
4
|
+
const exportScene = (skeleton, options) => {
|
|
5
|
+
installFileReaderShim();
|
|
6
|
+
const scene = buildFigureScene(skeleton, options);
|
|
7
|
+
const exporter = new GLTFExporter();
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
exporter.parse(scene, (result) => {
|
|
10
|
+
resolve(result);
|
|
11
|
+
}, reject, { binary: options.binary ?? true });
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
/** A solved skeleton as a binary GLB: one file any 3D viewer can orbit and zoom. */
|
|
15
|
+
export const exportGlb = async (skeleton, options = {}) => {
|
|
16
|
+
const result = await exportScene(skeleton, { ...options, binary: true });
|
|
17
|
+
if (!(result instanceof ArrayBuffer))
|
|
18
|
+
throw new Error('GLTFExporter did not return a binary buffer');
|
|
19
|
+
return Buffer.from(result);
|
|
20
|
+
};
|
|
21
|
+
/** The same scene as embedded-buffer glTF JSON, for debugging and diffing. */
|
|
22
|
+
export const exportGltf = async (skeleton, options = {}) => {
|
|
23
|
+
const result = await exportScene(skeleton, { ...options, binary: false });
|
|
24
|
+
if (result instanceof ArrayBuffer)
|
|
25
|
+
throw new Error('GLTFExporter returned binary for a JSON export');
|
|
26
|
+
return `${JSON.stringify(result, null, 2)}\n`;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=gltf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltf.js","sourceRoot":"","sources":["../../src/export3d/gltf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAA2B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAOnD,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,OAA0B,EAAiC,EAAE;IACpG,qBAAqB,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,CACZ,KAAK,EACL,CAAC,MAAM,EAAE,EAAE;YACT,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,EACD,MAAM,EACN,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,QAAkB,EAAE,UAA6B,EAAE,EAAmB,EAAE;IACtG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACrG,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAkB,EAAE,UAA6B,EAAE,EAAmB,EAAE;IACvG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,MAAM,YAAY,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACrG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export3d/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export3d/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* three's GLTFExporter was written for browsers: on the binary path it reads
|
|
3
|
+
* Blobs back through FileReader, which Node does not have. Blob itself is
|
|
4
|
+
* native in Node >= 18, so this one small shim is the entire gap.
|
|
5
|
+
*/
|
|
6
|
+
export declare const installFileReaderShim: () => void;
|
|
7
|
+
//# sourceMappingURL=shims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shims.d.ts","sourceRoot":"","sources":["../../src/export3d/shims.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAO,IAuBxC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* three's GLTFExporter was written for browsers: on the binary path it reads
|
|
3
|
+
* Blobs back through FileReader, which Node does not have. Blob itself is
|
|
4
|
+
* native in Node >= 18, so this one small shim is the entire gap.
|
|
5
|
+
*/
|
|
6
|
+
export const installFileReaderShim = () => {
|
|
7
|
+
if ('FileReader' in globalThis)
|
|
8
|
+
return;
|
|
9
|
+
class NodeFileReader {
|
|
10
|
+
onloadend = null;
|
|
11
|
+
result = null;
|
|
12
|
+
readAsArrayBuffer(blob) {
|
|
13
|
+
void blob.arrayBuffer().then((buffer) => {
|
|
14
|
+
this.result = buffer;
|
|
15
|
+
this.onloadend?.();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
readAsDataURL(blob) {
|
|
19
|
+
void blob.arrayBuffer().then((buffer) => {
|
|
20
|
+
this.result = `data:${blob.type || 'application/octet-stream'};base64,${Buffer.from(buffer).toString('base64')}`;
|
|
21
|
+
this.onloadend?.();
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
globalThis.FileReader = NodeFileReader;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=shims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shims.js","sourceRoot":"","sources":["../../src/export3d/shims.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAS,EAAE;IAC9C,IAAI,YAAY,IAAI,UAAU;QAAE,OAAO;IAEvC,MAAM,cAAc;QAClB,SAAS,GAAwB,IAAI,CAAC;QACtC,MAAM,GAAgC,IAAI,CAAC;QAE3C,iBAAiB,CAAC,IAAU;YAC1B,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,IAAU;YACtB,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,CAAC,IAAI,IAAI,0BAA0B,WAAW,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjH,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;KACF;IAEA,UAAsC,CAAC,UAAU,GAAG,cAAc,CAAC;AACtE,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
export * from './core/types.js';
|
|
2
|
+
export * from './core/camera.js';
|
|
2
3
|
export * from './core/rig.js';
|
|
4
|
+
export * from './core/joints.js';
|
|
3
5
|
export * from './core/skeleton.js';
|
|
4
6
|
export * from './core/vec2.js';
|
|
7
|
+
export * from './core/vec3.js';
|
|
8
|
+
export * from './core/quat.js';
|
|
5
9
|
export * from './core/angles.js';
|
|
6
10
|
export * from './anatomy/muscles.js';
|
|
11
|
+
export * from './anatomy/validate.js';
|
|
7
12
|
export * from './model/index.js';
|
|
8
13
|
export * from './render/index.js';
|
|
14
|
+
export * from './three/index.js';
|
|
15
|
+
export * from './export3d/index.js';
|
|
16
|
+
export * from './viewer/index.js';
|
|
17
|
+
export * from './solve.js';
|
|
9
18
|
export * from './library/index.js';
|
|
10
19
|
export * from './standards/keypoints.js';
|
|
11
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
export * from './core/types.js';
|
|
2
|
+
export * from './core/camera.js';
|
|
2
3
|
export * from './core/rig.js';
|
|
4
|
+
export * from './core/joints.js';
|
|
3
5
|
export * from './core/skeleton.js';
|
|
4
6
|
export * from './core/vec2.js';
|
|
7
|
+
export * from './core/vec3.js';
|
|
8
|
+
export * from './core/quat.js';
|
|
5
9
|
export * from './core/angles.js';
|
|
6
10
|
export * from './anatomy/muscles.js';
|
|
11
|
+
export * from './anatomy/validate.js';
|
|
7
12
|
export * from './model/index.js';
|
|
8
13
|
export * from './render/index.js';
|
|
14
|
+
export * from './three/index.js';
|
|
15
|
+
export * from './export3d/index.js';
|
|
16
|
+
export * from './viewer/index.js';
|
|
17
|
+
export * from './solve.js';
|
|
9
18
|
export * from './library/index.js';
|
|
10
19
|
export * from './standards/keypoints.js';
|
|
11
20
|
//# 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":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
package/dist/library/index.js
CHANGED
|
@@ -55,12 +55,12 @@ export const expandSequence = (sequence, library) => {
|
|
|
55
55
|
}
|
|
56
56
|
const sides = step.side === 'both' ? ['left', 'right'] : [step.side];
|
|
57
57
|
for (const side of sides) {
|
|
58
|
-
// The second side is the mirror
|
|
59
|
-
//
|
|
60
|
-
//
|
|
58
|
+
// The second side is the true mirror of the asana: left and right
|
|
59
|
+
// joints swap and every absolute direction reflects across the
|
|
60
|
+
// sagittal plane. That is what `mirror` does.
|
|
61
61
|
const mirrored = side === 'right';
|
|
62
62
|
steps.push({
|
|
63
|
-
pose: mirrored ? { ...pose, figure: { ...pose.figure,
|
|
63
|
+
pose: mirrored ? { ...pose, figure: { ...pose.figure, mirror: !pose.figure.mirror } } : pose,
|
|
64
64
|
label: step.label ?? pose.name,
|
|
65
65
|
section: section.name,
|
|
66
66
|
...(step.breath === undefined ? {} : { breath: step.breath }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAoC,MAAM,mBAAmB,CAAC;AAQ/F,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAEhH,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAE5C,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;IACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAAe,kBAAkB,EAAE,EAAoB,EAAE;IACzF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACzF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC3F,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AAWF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAsB,EAAE,OAAgB,EAAkB,EAAE;IACzF,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,EAAE,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACtF,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,OAAO,CAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,CAAW,CAAC;YAC3F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,kEAAkE;gBAClE,+DAA+D;gBAC/D,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC5F,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;oBAC9B,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC7D,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
package/dist/model/pose.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import type { JointId, KinematicPose } from '../core/types.js';
|
|
1
|
+
import type { JointId, JointValue, KinematicPose, WorldDirection } from '../core/types.js';
|
|
2
2
|
import type { FigureSpec } from './schema.js';
|
|
3
3
|
/**
|
|
4
|
-
* Swap every left
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Swap every left joint with its right counterpart; centre bones stay put.
|
|
5
|
+
* Joint values carry over untouched, because flex/abduct/twist are defined
|
|
6
|
+
* relative to each side's own anatomy - "abduct 30" means "30 away from the
|
|
7
|
+
* midline" on either side.
|
|
7
8
|
*/
|
|
8
|
-
export declare const
|
|
9
|
+
export declare const mirrorJoints: (joints: Partial<Record<JointId, JointValue>>) => Partial<Record<JointId, JointValue>>;
|
|
10
|
+
/**
|
|
11
|
+
* World directions are absolute, so mirroring a pose across the sagittal plane
|
|
12
|
+
* must also flip which way they point: azimuth negates, elevation stays.
|
|
13
|
+
*/
|
|
14
|
+
export declare const mirrorWorld: (world: Partial<Record<JointId, WorldDirection>>) => Partial<Record<JointId, WorldDirection>>;
|
|
9
15
|
/** Turn the declarative figure block of a pose file into a solvable kinematic pose. */
|
|
10
16
|
export declare const resolveFigure: (figure: FigureSpec) => KinematicPose;
|
|
11
17
|
//# sourceMappingURL=pose.d.ts.map
|
package/dist/model/pose.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pose.d.ts","sourceRoot":"","sources":["../../src/model/pose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"pose.d.ts","sourceRoot":"","sources":["../../src/model/pose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAC5F,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,KAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAMvC,CAAC;AAEJ,uFAAuF;AACvF,eAAO,MAAM,aAAa,GAAI,QAAQ,UAAU,KAAG,aAelD,CAAC"}
|
package/dist/model/pose.js
CHANGED
|
@@ -4,23 +4,37 @@ const mirrorJointId = (id) => {
|
|
|
4
4
|
const swapped = OTHER_SIDE[last];
|
|
5
5
|
return swapped === undefined ? id : `${id.slice(0, -1)}${swapped}`;
|
|
6
6
|
};
|
|
7
|
+
const swapSides = (angles) => Object.fromEntries(Object.entries(angles).map(([id, value]) => [mirrorJointId(id), value]));
|
|
7
8
|
/**
|
|
8
|
-
* Swap every left
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Swap every left joint with its right counterpart; centre bones stay put.
|
|
10
|
+
* Joint values carry over untouched, because flex/abduct/twist are defined
|
|
11
|
+
* relative to each side's own anatomy - "abduct 30" means "30 away from the
|
|
12
|
+
* midline" on either side.
|
|
11
13
|
*/
|
|
12
|
-
export const
|
|
14
|
+
export const mirrorJoints = (joints) => swapSides(joints);
|
|
15
|
+
/**
|
|
16
|
+
* World directions are absolute, so mirroring a pose across the sagittal plane
|
|
17
|
+
* must also flip which way they point: azimuth negates, elevation stays.
|
|
18
|
+
*/
|
|
19
|
+
export const mirrorWorld = (world) => Object.fromEntries(Object.entries(swapSides(world)).map(([id, dir]) => [
|
|
20
|
+
id,
|
|
21
|
+
{ ...dir, azimuth: -dir.azimuth, ...(dir.twist === undefined ? {} : { twist: -dir.twist }) },
|
|
22
|
+
]));
|
|
13
23
|
/** Turn the declarative figure block of a pose file into a solvable kinematic pose. */
|
|
14
|
-
export const resolveFigure = (figure) =>
|
|
15
|
-
|
|
16
|
-
root
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
export const resolveFigure = (figure) => {
|
|
25
|
+
const m = figure.mirror;
|
|
26
|
+
const [px, py, pz] = figure.root.position;
|
|
27
|
+
return {
|
|
28
|
+
root: {
|
|
29
|
+
position: m ? [-px, py, pz] : [px, py, pz],
|
|
30
|
+
yaw: m ? -figure.root.yaw : figure.root.yaw,
|
|
31
|
+
pitch: figure.root.pitch,
|
|
32
|
+
roll: m ? -figure.root.roll : figure.root.roll,
|
|
33
|
+
scale: figure.root.scale,
|
|
34
|
+
},
|
|
35
|
+
joints: m ? mirrorJoints(figure.joints) : figure.joints,
|
|
36
|
+
world: m ? mirrorWorld(figure.world) : figure.world,
|
|
37
|
+
grounded: figure.grounded,
|
|
38
|
+
};
|
|
39
|
+
};
|
|
26
40
|
//# sourceMappingURL=pose.js.map
|
package/dist/model/pose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pose.js","sourceRoot":"","sources":["../../src/model/pose.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAA2B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AAE9D,MAAM,aAAa,GAAG,CAAC,EAAU,EAAU,EAAE;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"pose.js","sourceRoot":"","sources":["../../src/model/pose.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAA2B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AAE9D,MAAM,aAAa,GAAG,CAAC,EAAU,EAAU,EAAE;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAI,MAAmC,EAA+B,EAAE,CACxF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAA4C,EAAwC,EAAE,CACjH,SAAS,CAAC,MAAM,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAA+C,EACL,EAAE,CAC5C,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IAClD,EAAE;IACF,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE;CAC7F,CAAC,CACH,CAAC;AAEJ,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAkB,EAAiB,EAAE;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1C,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;YAC9C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;SACzB;QACD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QACvD,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;QACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/model/schema.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/** Current version of the .pose file format. Bumped only on breaking changes. */
|
|
3
|
-
export declare const POSE_FORMAT_VERSION =
|
|
4
|
-
/** Anything an annotation or prop can be pinned to: a named landmark or a raw point. */
|
|
3
|
+
export declare const POSE_FORMAT_VERSION = 2;
|
|
4
|
+
/** Anything an annotation or prop can be pinned to: a named landmark or a raw picture-plane point. */
|
|
5
5
|
declare const anchor: z.ZodUnion<readonly [z.ZodEnum<{
|
|
6
6
|
hipCenter: "hipCenter";
|
|
7
7
|
waist: "waist";
|
|
@@ -47,20 +47,32 @@ export declare const jointsSchema: z.ZodRecord<z.ZodEnum<{
|
|
|
47
47
|
thighR: "thighR";
|
|
48
48
|
shinR: "shinR";
|
|
49
49
|
footR: "footR";
|
|
50
|
-
}> & z.core.$partial, z.ZodNumber
|
|
50
|
+
}> & z.core.$partial, z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
51
|
+
flex: z.ZodDefault<z.ZodNumber>;
|
|
52
|
+
abduct: z.ZodDefault<z.ZodNumber>;
|
|
53
|
+
twist: z.ZodDefault<z.ZodNumber>;
|
|
54
|
+
}, z.core.$strip>]>>;
|
|
55
|
+
export declare const cameraSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
56
|
+
left: "left";
|
|
57
|
+
right: "right";
|
|
58
|
+
front: "front";
|
|
59
|
+
back: "back";
|
|
60
|
+
side: "side";
|
|
61
|
+
"three-quarter": "three-quarter";
|
|
62
|
+
top: "top";
|
|
63
|
+
}>, z.ZodObject<{
|
|
64
|
+
azimuth: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
elevation: z.ZodDefault<z.ZodNumber>;
|
|
66
|
+
roll: z.ZodDefault<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strip>]>;
|
|
51
68
|
export declare const figureSchema: z.ZodObject<{
|
|
52
|
-
view: z.ZodDefault<z.ZodEnum<{
|
|
53
|
-
front: "front";
|
|
54
|
-
back: "back";
|
|
55
|
-
side: "side";
|
|
56
|
-
"three-quarter": "three-quarter";
|
|
57
|
-
}>>;
|
|
58
|
-
flip: z.ZodDefault<z.ZodBoolean>;
|
|
59
69
|
mirror: z.ZodDefault<z.ZodBoolean>;
|
|
60
70
|
grounded: z.ZodDefault<z.ZodBoolean>;
|
|
61
71
|
root: z.ZodPrefault<z.ZodObject<{
|
|
62
|
-
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
63
|
-
|
|
72
|
+
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
73
|
+
yaw: z.ZodDefault<z.ZodNumber>;
|
|
74
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
75
|
+
roll: z.ZodDefault<z.ZodNumber>;
|
|
64
76
|
scale: z.ZodDefault<z.ZodNumber>;
|
|
65
77
|
}, z.core.$strip>>;
|
|
66
78
|
joints: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
@@ -84,7 +96,11 @@ export declare const figureSchema: z.ZodObject<{
|
|
|
84
96
|
thighR: "thighR";
|
|
85
97
|
shinR: "shinR";
|
|
86
98
|
footR: "footR";
|
|
87
|
-
}> & z.core.$partial, z.ZodNumber
|
|
99
|
+
}> & z.core.$partial, z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
100
|
+
flex: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
abduct: z.ZodDefault<z.ZodNumber>;
|
|
102
|
+
twist: z.ZodDefault<z.ZodNumber>;
|
|
103
|
+
}, z.core.$strip>]>>>;
|
|
88
104
|
world: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
89
105
|
head: "head";
|
|
90
106
|
pelvis: "pelvis";
|
|
@@ -106,7 +122,11 @@ export declare const figureSchema: z.ZodObject<{
|
|
|
106
122
|
thighR: "thighR";
|
|
107
123
|
shinR: "shinR";
|
|
108
124
|
footR: "footR";
|
|
109
|
-
}> & z.core.$partial, z.
|
|
125
|
+
}> & z.core.$partial, z.ZodObject<{
|
|
126
|
+
azimuth: z.ZodDefault<z.ZodNumber>;
|
|
127
|
+
elevation: z.ZodDefault<z.ZodNumber>;
|
|
128
|
+
twist: z.ZodOptional<z.ZodNumber>;
|
|
129
|
+
}, z.core.$strip>>>;
|
|
110
130
|
}, z.core.$strip>;
|
|
111
131
|
export declare const annotationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
112
132
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -519,7 +539,7 @@ export declare const propSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
519
539
|
}>>;
|
|
520
540
|
}, z.core.$strip>], "type">;
|
|
521
541
|
export declare const poseSchema: z.ZodObject<{
|
|
522
|
-
asanakit: z.ZodLiteral<
|
|
542
|
+
asanakit: z.ZodLiteral<2>;
|
|
523
543
|
id: z.ZodString;
|
|
524
544
|
name: z.ZodString;
|
|
525
545
|
sanskrit: z.ZodOptional<z.ZodString>;
|
|
@@ -542,18 +562,13 @@ export declare const poseSchema: z.ZodObject<{
|
|
|
542
562
|
free: "free";
|
|
543
563
|
}>>;
|
|
544
564
|
figure: z.ZodPrefault<z.ZodObject<{
|
|
545
|
-
view: z.ZodDefault<z.ZodEnum<{
|
|
546
|
-
front: "front";
|
|
547
|
-
back: "back";
|
|
548
|
-
side: "side";
|
|
549
|
-
"three-quarter": "three-quarter";
|
|
550
|
-
}>>;
|
|
551
|
-
flip: z.ZodDefault<z.ZodBoolean>;
|
|
552
565
|
mirror: z.ZodDefault<z.ZodBoolean>;
|
|
553
566
|
grounded: z.ZodDefault<z.ZodBoolean>;
|
|
554
567
|
root: z.ZodPrefault<z.ZodObject<{
|
|
555
|
-
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
556
|
-
|
|
568
|
+
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
569
|
+
yaw: z.ZodDefault<z.ZodNumber>;
|
|
570
|
+
pitch: z.ZodDefault<z.ZodNumber>;
|
|
571
|
+
roll: z.ZodDefault<z.ZodNumber>;
|
|
557
572
|
scale: z.ZodDefault<z.ZodNumber>;
|
|
558
573
|
}, z.core.$strip>>;
|
|
559
574
|
joints: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
@@ -577,7 +592,11 @@ export declare const poseSchema: z.ZodObject<{
|
|
|
577
592
|
thighR: "thighR";
|
|
578
593
|
shinR: "shinR";
|
|
579
594
|
footR: "footR";
|
|
580
|
-
}> & z.core.$partial, z.ZodNumber
|
|
595
|
+
}> & z.core.$partial, z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
596
|
+
flex: z.ZodDefault<z.ZodNumber>;
|
|
597
|
+
abduct: z.ZodDefault<z.ZodNumber>;
|
|
598
|
+
twist: z.ZodDefault<z.ZodNumber>;
|
|
599
|
+
}, z.core.$strip>]>>>;
|
|
581
600
|
world: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
|
|
582
601
|
head: "head";
|
|
583
602
|
pelvis: "pelvis";
|
|
@@ -599,8 +618,29 @@ export declare const poseSchema: z.ZodObject<{
|
|
|
599
618
|
thighR: "thighR";
|
|
600
619
|
shinR: "shinR";
|
|
601
620
|
footR: "footR";
|
|
602
|
-
}> & z.core.$partial, z.
|
|
621
|
+
}> & z.core.$partial, z.ZodObject<{
|
|
622
|
+
azimuth: z.ZodDefault<z.ZodNumber>;
|
|
623
|
+
elevation: z.ZodDefault<z.ZodNumber>;
|
|
624
|
+
twist: z.ZodOptional<z.ZodNumber>;
|
|
625
|
+
}, z.core.$strip>>>;
|
|
603
626
|
}, z.core.$strip>>;
|
|
627
|
+
camera: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
|
|
628
|
+
left: "left";
|
|
629
|
+
right: "right";
|
|
630
|
+
front: "front";
|
|
631
|
+
back: "back";
|
|
632
|
+
side: "side";
|
|
633
|
+
"three-quarter": "three-quarter";
|
|
634
|
+
top: "top";
|
|
635
|
+
}>, z.ZodObject<{
|
|
636
|
+
azimuth: z.ZodDefault<z.ZodNumber>;
|
|
637
|
+
elevation: z.ZodDefault<z.ZodNumber>;
|
|
638
|
+
roll: z.ZodDefault<z.ZodNumber>;
|
|
639
|
+
}, z.core.$strip>]>>;
|
|
640
|
+
physics: z.ZodDefault<z.ZodEnum<{
|
|
641
|
+
none: "none";
|
|
642
|
+
settle: "settle";
|
|
643
|
+
}>>;
|
|
604
644
|
contact: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
605
645
|
hipCenter: "hipCenter";
|
|
606
646
|
waist: "waist";
|
|
@@ -1084,11 +1124,12 @@ export declare const poseSchema: z.ZodObject<{
|
|
|
1084
1124
|
export type PoseSpec = z.output<typeof poseSchema>;
|
|
1085
1125
|
export type PoseSpecInput = z.input<typeof poseSchema>;
|
|
1086
1126
|
export type FigureSpec = z.output<typeof figureSchema>;
|
|
1127
|
+
export type CameraSpec = z.output<typeof cameraSchema>;
|
|
1087
1128
|
export type Annotation = z.output<typeof annotationSchema>;
|
|
1088
1129
|
export type Prop = z.output<typeof propSchema>;
|
|
1089
1130
|
export type Anchor = z.output<typeof anchor>;
|
|
1090
1131
|
export declare const sequenceSchema: z.ZodObject<{
|
|
1091
|
-
asanakit: z.ZodLiteral<
|
|
1132
|
+
asanakit: z.ZodLiteral<2>;
|
|
1092
1133
|
id: z.ZodString;
|
|
1093
1134
|
name: z.ZodString;
|
|
1094
1135
|
tradition: z.ZodOptional<z.ZodString>;
|
|
@@ -1108,8 +1149,8 @@ export declare const sequenceSchema: z.ZodObject<{
|
|
|
1108
1149
|
side: z.ZodDefault<z.ZodEnum<{
|
|
1109
1150
|
left: "left";
|
|
1110
1151
|
right: "right";
|
|
1111
|
-
both: "both";
|
|
1112
1152
|
none: "none";
|
|
1153
|
+
both: "both";
|
|
1113
1154
|
}>>;
|
|
1114
1155
|
note: z.ZodOptional<z.ZodString>;
|
|
1115
1156
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"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"}
|