three-mediapipe-rig 0.1.1 → 0.1.3
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 +8 -4
- package/dist/face-tracker-utils-xt9__vBF.js +16 -0
- package/dist/meshcap/atlas-builder.d.ts +10 -0
- package/dist/meshcap/atlas-builder.d.ts.map +1 -0
- package/dist/meshcap/audio.d.ts +27 -0
- package/dist/meshcap/audio.d.ts.map +1 -0
- package/dist/meshcap/constants.d.ts +3 -0
- package/dist/meshcap/constants.d.ts.map +1 -0
- package/dist/meshcap/material.d.ts +75 -0
- package/dist/meshcap/material.d.ts.map +1 -0
- package/dist/meshcap/meshcap.d.ts +6 -0
- package/dist/meshcap/meshcap.d.ts.map +1 -0
- package/dist/meshcap/parse-mcap-file.d.ts +8 -0
- package/dist/meshcap/parse-mcap-file.d.ts.map +1 -0
- package/dist/meshcap/types.d.ts +88 -0
- package/dist/meshcap/types.d.ts.map +1 -0
- package/dist/meshcap/write-mcap-file.d.ts +3 -0
- package/dist/meshcap/write-mcap-file.d.ts.map +1 -0
- package/dist/meshcap.d.ts +2 -0
- package/dist/meshcap.js +468 -0
- package/dist/module.d.ts +1 -0
- package/dist/module.d.ts.map +1 -1
- package/dist/rigger.d.ts +2 -0
- package/dist/rigger.js +864 -0
- package/dist/tracking/BoneMapping.d.ts.map +1 -1
- package/dist/tracking/FaceTracker.d.ts +12 -2
- package/dist/tracking/FaceTracker.d.ts.map +1 -1
- package/dist/tracking/HandTracker.d.ts +3 -3
- package/dist/tracking/HandTracker.d.ts.map +1 -1
- package/dist/tracking/PoseTracker.d.ts +1 -1
- package/dist/tracking/PoseTracker.d.ts.map +1 -1
- package/dist/tracking/TrackerManager.d.ts +126 -0
- package/dist/tracking/TrackerManager.d.ts.map +1 -0
- package/dist/tracking/recoding/recorder.d.ts +10 -8
- package/dist/tracking/recoding/recorder.d.ts.map +1 -1
- package/dist/tracking/util/face-tracker-utils.d.ts +9 -0
- package/dist/tracking/util/face-tracker-utils.d.ts.map +1 -0
- package/package.json +16 -10
- package/dist/three-mediapipe-rig.js +0 -839
- package/dist/three-mediapipe-rig.js.map +0 -1
package/README.md
CHANGED
|
@@ -9,14 +9,18 @@ The motion from the webcam will be applied to a skeleton. Angle based so it work
|
|
|
9
9
|
|
|
10
10
|
This will run 3 models: face, body, hands. So expect a FPS drop.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- [
|
|
14
|
-
- [
|
|
12
|
+
## Explore the demos:
|
|
13
|
+
- Open the [MeshCap Editor](https://github.com/bandinopla/three-mediapipe-rig/blob/main/MESHCAP.md), examples using it:
|
|
14
|
+
- [Loading .mcap files](https://bandinopla.github.io/three-mediapipe-rig/?demo=load-meshcap-files)
|
|
15
|
+
- [Clips with Audio: Memory game](https://bandinopla.github.io/three-mediapipe-rig/?demo=game-youtubers)
|
|
16
|
+
- [Characters](https://bandinopla.github.io/three-mediapipe-rig) ( pose + hands + face )
|
|
17
|
+
- [Hands Demo](https://bandinopla.github.io/three-mediapipe-rig/?demo=hands) ( pose + hands )
|
|
15
18
|
- [**Video to Face Geometry** !!](https://bandinopla.github.io/three-mediapipe-rig/?demo=face-uv)
|
|
19
|
+
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
## Table of Contents
|
|
19
|
-
|
|
23
|
+
- New! [**MeshCap Editor**](https://github.com/bandinopla/three-mediapipe-rig/blob/main/MESHCAP.md)
|
|
20
24
|
- [Features](#features)
|
|
21
25
|
- [Installation](#installation)
|
|
22
26
|
- [Quick Start](#quick-start)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BufferAttribute as c } from "three";
|
|
2
|
+
const d = 478, g = (r) => {
|
|
3
|
+
if (r.geometry.hasAttribute("landmarkIndex")) return;
|
|
4
|
+
const s = r.geometry, e = s.attributes.position, a = [], n = /* @__PURE__ */ new Map(), i = [];
|
|
5
|
+
for (let t = 0; t < e.count; t++) {
|
|
6
|
+
const o = Math.round(e.getX(t) * 1e6) + "," + Math.round(e.getY(t) * 1e6) + "," + Math.round(e.getZ(t) * 1e6);
|
|
7
|
+
n.has(o) || (n.set(o, a.length), a.push(t));
|
|
8
|
+
const u = n.get(o);
|
|
9
|
+
i.push(u < d ? u : 65535);
|
|
10
|
+
}
|
|
11
|
+
s.setAttribute("landmarkIndex", new c(new Uint16Array(i), 1));
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
d as F,
|
|
15
|
+
g as c
|
|
16
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MeshCapAtlas, RecordedClip } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a texture atlas from a list of recorded clips.
|
|
4
|
+
* @param clips The clips to build the atlas from
|
|
5
|
+
* @param atlasSize Max size of the atlas (width or height)
|
|
6
|
+
* @param padding The padding to add between frames
|
|
7
|
+
* @returns The atlas
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildMeshCapAtlas(clips: RecordedClip[], atlasSize: number, padding?: number): MeshCapAtlas;
|
|
10
|
+
//# sourceMappingURL=atlas-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas-builder.d.ts","sourceRoot":"","sources":["../../src/meshcap/atlas-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,YAAY,EAAW,MAAM,SAAS,CAAC;AAsNxE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAE,KAAK,EAAC,YAAY,EAAE,EAAE,SAAS,EAAC,MAAM,EAAE,OAAO,GAAC,MAAQ,GAAG,YAAY,CAwGzG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MCapClip, RecordedClip } from './types';
|
|
2
|
+
export type AudioSpriteAtlas = {
|
|
3
|
+
blob: Blob;
|
|
4
|
+
sprites: ([start: number, duration: number] | undefined)[];
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Will complete the missing audio element on the clips by extracting the audio clip from the atlas.
|
|
8
|
+
*
|
|
9
|
+
* @param audioFile The audio file to extract sprites from.
|
|
10
|
+
* @param clips The clips to extract sprites for.
|
|
11
|
+
* @returns An array of audio elements, one for each clip ( undefined if no audio sprite is defined for that clip)
|
|
12
|
+
*/
|
|
13
|
+
export declare function extractAudioSprites(audioFile: File | Blob | string | ArrayBuffer, clips: RecordedClip[]): Promise<AudioSpriteAtlas>;
|
|
14
|
+
export declare function audioBufferToWav(buffer: AudioBuffer): ArrayBuffer;
|
|
15
|
+
export type AudioAtlasPlayer = {
|
|
16
|
+
stopCurrent: () => void;
|
|
17
|
+
playSprite: (clipIndex: number) => AudioBufferSourceNode | undefined;
|
|
18
|
+
setVolume: (value: number) => void;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Creates a player that can play the audio sprites of the clips.
|
|
22
|
+
* @param audioBuffer The audio buffer that contains the audio for the clips.
|
|
23
|
+
* @param clips The meshcap clips
|
|
24
|
+
* @returns A player that can play the audio sprites of the clips.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createAudioAtlasPlayer(audioBuffer: AudioBuffer, clips: MCapClip[]): AudioAtlasPlayer;
|
|
27
|
+
//# sourceMappingURL=audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/meshcap/audio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAC,IAAI,CAAA;IACT,OAAO,EAAE,CAAC,CAAC,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,CAAC,GAAC,SAAS,CAAC,EAAE,CAAA;CACtD,CAAA;AAmBD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAC,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,WAAW,EAAE,KAAK,EAAC,YAAY,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAC,CA+CtI;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA+BjE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAC,MAAI,IAAI,CAAA;IACpB,UAAU,EAAC,CAAC,SAAS,EAAC,MAAM,KAAG,qBAAqB,GAAC,SAAS,CAAA;IAC9D,SAAS,EAAC,CAAC,KAAK,EAAE,MAAM,KAAG,IAAI,CAAA;CAC/B,CAAA;AAKD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAE,WAAW,EAAC,WAAW,EAAE,KAAK,EAAC,QAAQ,EAAE,GAAK,gBAAgB,CA+CrG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/meshcap/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,aAAa,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Mesh, Texture } from 'three';
|
|
2
|
+
import { MCapClip } from './types';
|
|
3
|
+
import { NodeMaterial } from 'three/webgpu';
|
|
4
|
+
export type MeshCapMaterialHandler = {
|
|
5
|
+
/**
|
|
6
|
+
* If it should play a sound or not (if it has one. Default: false )
|
|
7
|
+
*/
|
|
8
|
+
muted: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* This hook will be called everytime a clip starts playing.
|
|
11
|
+
* @param clipIndex Index of the clip that is starting to play
|
|
12
|
+
* @param clipStartTime Start time of sound clip withing the sound atlas (in seconds)
|
|
13
|
+
* @param clipDuration Duration of the clip (in seconds)
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
playClipAudioHook?: (clipIndex: number, clipStartTime: number, clipDuration: number) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Moves to a particular clip
|
|
19
|
+
* @param clipIndex The index of the clip to move to
|
|
20
|
+
* @param _loop Optional: Whether the clip should loop
|
|
21
|
+
* @param _onEndReached Optional: Callback to be called when the clip reaches the end
|
|
22
|
+
*/
|
|
23
|
+
goto: (clipIndex: number | string, _loop?: boolean, _onEndOrLoopReached?: (timeOffset: number) => void, playSound?: boolean) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Play a clip and when it reaches the end, it will loop back
|
|
26
|
+
* @param clipName Name of the clip
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
gotoAndLoop: (clipIndex: number | string, _onLoop?: (timeOffset: number) => void) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Play a clip and when it reaches the end, it will not loop back
|
|
32
|
+
* @param clipName Name of the clip
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
gotoAndPlay: (clipIndex: number | string, _onEndReached?: () => void) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Moves to a particular clip and stops at the first frame
|
|
38
|
+
* @param clipIndex The index of the clip to move to
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
gotoAndStop: (clipIndex: number | string, frame?: number) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Updates the material with the given delta time
|
|
44
|
+
* @param delta The time to add to the current time
|
|
45
|
+
*/
|
|
46
|
+
update: (delta: number) => void;
|
|
47
|
+
/**
|
|
48
|
+
* The clips available to play
|
|
49
|
+
*/
|
|
50
|
+
clips: MCapClip[];
|
|
51
|
+
/**
|
|
52
|
+
* The texture atlas that contains the frames used by the clips
|
|
53
|
+
*/
|
|
54
|
+
atlasTexture: Texture;
|
|
55
|
+
/**
|
|
56
|
+
* Disposes the material and the texture atlas
|
|
57
|
+
*/
|
|
58
|
+
dispose: VoidFunction;
|
|
59
|
+
/**
|
|
60
|
+
* The material used
|
|
61
|
+
*/
|
|
62
|
+
material: NodeMaterial;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Creates or setups a MeshCap material handler (not the material itself) for a given mesh.
|
|
66
|
+
*
|
|
67
|
+
* @param atlasTexture The texture atlas that contains the frames used by the clips. You may need to `flipY=false` on the texture atlas.
|
|
68
|
+
* @param clips The clips previously obtained by loading an .mcap file
|
|
69
|
+
* @param targetMesh The mesh to apply the material to. (It will be updated with a landmarkIndex attribute if it doesn't have one)
|
|
70
|
+
* @param host Optional: The material to use as a base. Defaults to a MeshPhysicalNodeMaterial.
|
|
71
|
+
* @param audioAtlas Optional: The audio atlas that contains the audio for the clips if you want to let the handler play the audio clips automatically on it's own. Else you will have to hook on the `playClipAudioHook` callback from the returned handler and play them yourself.
|
|
72
|
+
* @returns A handler that allows you to control the material.
|
|
73
|
+
*/
|
|
74
|
+
export declare function createMeshCapMaterial(atlasTexture: Texture, clips: MCapClip[], targetMesh: Mesh, host?: NodeMaterial, audioAtlas?: AudioBuffer): MeshCapMaterialHandler;
|
|
75
|
+
//# sourceMappingURL=material.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../src/meshcap/material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAA4B,YAAY,EAAW,MAAM,cAAc,CAAC;AAO/E,MAAM,MAAM,sBAAsB,GAAG;IAEpC;;OAEG;IACH,KAAK,EAAC,OAAO,CAAC;IAEd;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAC,CAAC,SAAS,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,KAAG,IAAI,CAAC;IAGvF;;;;;OAKG;IACH,IAAI,EAAC,CAAE,SAAS,EAAC,MAAM,GAAC,MAAM,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,mBAAmB,CAAC,EAAC,CAAE,UAAU,EAAC,MAAM,KAAI,IAAI,EAAE,SAAS,CAAC,EAAC,OAAO,KAAI,IAAI,CAAA;IAE5H;;;;OAIG;IACH,WAAW,EAAC,CAAE,SAAS,EAAC,MAAM,GAAC,MAAM,EAAE,OAAO,CAAC,EAAC,CAAE,UAAU,EAAC,MAAM,KAAI,IAAI,KAAI,IAAI,CAAA;IAEnF;;;;OAIG;IACH,WAAW,EAAC,CAAE,SAAS,EAAC,MAAM,GAAC,MAAM,EAAE,aAAa,CAAC,EAAC,MAAI,IAAI,KAAI,IAAI,CAAA;IAEtE;;;;OAIG;IACH,WAAW,EAAC,CAAE,SAAS,EAAC,MAAM,GAAC,MAAM,EAAE,KAAK,CAAC,EAAC,MAAM,KAAI,IAAI,CAAA;IAE5D;;;OAGG;IACH,MAAM,EAAC,CAAE,KAAK,EAAC,MAAM,KAAI,IAAI,CAAA;IAE7B;;OAEG;IACH,KAAK,EAAC,QAAQ,EAAE,CAAA;IAEhB;;OAEG;IACH,YAAY,EAAC,OAAO,CAAA;IAEpB;;OAEG;IACH,OAAO,EAAC,YAAY,CAAA;IAEpB;;OAEG;IACH,QAAQ,EAAC,YAAY,CAAA;CACrB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAE,YAAY,EAAC,OAAO,EAAE,KAAK,EAAC,QAAQ,EAAE,EAAE,UAAU,EAAC,IAAI,EAAE,IAAI,CAAC,EAAC,YAAY,EAAE,UAAU,CAAC,EAAC,WAAW,GAAG,sBAAsB,CA4SnK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshcap.d.ts","sourceRoot":"","sources":["../../src/meshcap/meshcap.ts"],"names":[],"mappings":"AAAA,mBAAmB,SAAS,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MCapFile } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Loads a MeshCap (.mcap) file from a URL or File object. This is the file that contains the metadata for the clips.
|
|
4
|
+
* @param mcapFileSource URL or File object
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadMeshCapFile(mcapFileSource: string | File): Promise<MCapFile>;
|
|
8
|
+
//# sourceMappingURL=parse-mcap-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-mcap-file.d.ts","sourceRoot":"","sources":["../../src/meshcap/parse-mcap-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,QAAQ,EAAyB,MAAM,SAAS,CAAC;AASpE;;;;GAIG;AACH,wBAAsB,eAAe,CAAE,cAAc,EAAC,MAAM,GAAC,IAAI,GAAK,OAAO,CAAC,QAAQ,CAAC,CAmBtF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Mesh, Texture, Vector3Like } from 'three';
|
|
2
|
+
import { AudioSpriteAtlas } from './audio';
|
|
3
|
+
import { MeshCapMaterialHandler } from './material';
|
|
4
|
+
import { NodeMaterial } from 'three/webgpu';
|
|
5
|
+
export interface UVCoord {
|
|
6
|
+
u: number;
|
|
7
|
+
v: number;
|
|
8
|
+
w: number;
|
|
9
|
+
h: number;
|
|
10
|
+
}
|
|
11
|
+
export interface Clip {
|
|
12
|
+
fps: number;
|
|
13
|
+
name: string;
|
|
14
|
+
landmarks: Vector3Like[][];
|
|
15
|
+
scale: number;
|
|
16
|
+
aspectRatio: number;
|
|
17
|
+
audioSprite?: {
|
|
18
|
+
start: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Duration of this clip (in seconds)
|
|
22
|
+
*/
|
|
23
|
+
duration: number;
|
|
24
|
+
}
|
|
25
|
+
export interface RecordedClip extends Clip {
|
|
26
|
+
frames: {
|
|
27
|
+
canvas: HTMLCanvasElement;
|
|
28
|
+
cropUV: UVCoord;
|
|
29
|
+
startTime: number;
|
|
30
|
+
}[];
|
|
31
|
+
audioSprite?: {
|
|
32
|
+
domElement?: HTMLAudioElement;
|
|
33
|
+
/**
|
|
34
|
+
* Start time in the audio sprite atlas (seconds)
|
|
35
|
+
*/
|
|
36
|
+
start: number;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface MCapClip extends Clip {
|
|
40
|
+
frames: {
|
|
41
|
+
cropUV: UVCoord;
|
|
42
|
+
frameUV: UVCoord;
|
|
43
|
+
startTime: number;
|
|
44
|
+
}[];
|
|
45
|
+
}
|
|
46
|
+
export interface MCapFile {
|
|
47
|
+
clips: MCapClip[];
|
|
48
|
+
version: number;
|
|
49
|
+
atlasSize: number;
|
|
50
|
+
atlasPadding: number;
|
|
51
|
+
/**
|
|
52
|
+
* Extract the clips from the atlas image using the metadata as a guide to know where the clips are.
|
|
53
|
+
* If the clips use a sound atlas, and one is provided, their audio clips will be reconstructed.
|
|
54
|
+
* @param atlas
|
|
55
|
+
*/
|
|
56
|
+
unpackClips: (atlas: File | string | HTMLImageElement | HTMLCanvasElement, audioFile?: File | Blob | string | ArrayBuffer) => Promise<{
|
|
57
|
+
clips: RecordedClip[];
|
|
58
|
+
audioAtlas?: AudioSpriteAtlas;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a material on the mesh that updates its texture to match the clip frames.
|
|
62
|
+
* If you pass `audioAtlas`, the handler will play the audio for the clip when it is played.
|
|
63
|
+
* @param mesh
|
|
64
|
+
* @param atlasTexture
|
|
65
|
+
* @returns
|
|
66
|
+
*/
|
|
67
|
+
createMaterialHandlerOnMesh: (mesh: Mesh, atlasTexture: Texture, host?: NodeMaterial, audioAtlas?: AudioBuffer) => MeshCapMaterialHandler;
|
|
68
|
+
}
|
|
69
|
+
export interface MeshCapAtlas {
|
|
70
|
+
canvas: HTMLCanvasElement;
|
|
71
|
+
/**
|
|
72
|
+
* the index of each will correspond to the provided recorded clip's frames array at the time of creation
|
|
73
|
+
*/
|
|
74
|
+
clips: MCapClip[];
|
|
75
|
+
/**
|
|
76
|
+
* padding used in the creation of the atlas
|
|
77
|
+
*/
|
|
78
|
+
padding: number;
|
|
79
|
+
/**
|
|
80
|
+
* prefered max atlas dimension
|
|
81
|
+
*/
|
|
82
|
+
atlasSize: number;
|
|
83
|
+
/**
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
86
|
+
save(downloadFile: boolean): Promise<Blob>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/meshcap/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,MAAM,WAAW,OAAO;IAAE,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC;AAE9D,MAAM,WAAW,IAAI;IACpB,GAAG,EAAC,MAAM,CAAC;IACX,IAAI,EAAC,MAAM,CAAC;IACZ,SAAS,EAAC,WAAW,EAAE,EAAE,CAAC;IAC1B,KAAK,EAAC,MAAM,CAAA;IACZ,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,CAAC,EAAC;QACZ,KAAK,EAAC,MAAM,CAAC;KACb,CAAA;IAED;;OAEG;IACH,QAAQ,EAAC,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,YAAa,SAAQ,IAAI;IACzC,MAAM,EAAC;QAAE,MAAM,EAAC,iBAAiB,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAC,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,WAAW,CAAC,EAAC;QACZ,UAAU,CAAC,EAAC,gBAAgB,CAAC;QAE7B;;WAEG;QACH,KAAK,EAAC,MAAM,CAAC;KACb,CAAA;CACD;AAED,MAAM,WAAW,QAAS,SAAQ,IAAI;IACrC,MAAM,EAAE;QAAE,MAAM,EAAC,OAAO,CAAC;QAAC,OAAO,EAAC,OAAO,CAAC;QAAC,SAAS,EAAC,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/D;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAC,MAAM,CAAC;IACjB,YAAY,EAAC,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAC,IAAI,GAAC,MAAM,GAAC,gBAAgB,GAAC,iBAAiB,EAAE,SAAS,CAAC,EAAC,IAAI,GAAC,IAAI,GAAC,MAAM,GAAC,WAAW,KAAG,OAAO,CAAC;QAAC,KAAK,EAAC,YAAY,EAAE,CAAC;QAAC,UAAU,CAAC,EAAC,gBAAgB,CAAA;KAAC,CAAC,CAAC;IAE5K;;;;;;OAMG;IACH,2BAA2B,EAAE,CAAC,IAAI,EAAC,IAAI,EAAE,YAAY,EAAC,OAAO,EAAE,IAAI,CAAC,EAAC,YAAY,EAAE,UAAU,CAAC,EAAC,WAAW,KAAG,sBAAsB,CAAC;CACpI;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAE7B;;OAEG;IACA,KAAK,EAAE,QAAQ,EAAE,CAAC;IAErB;;OAEG;IACH,OAAO,EAAC,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,EAAC,MAAM,CAAA;IAEhB;;OAEG;IACH,IAAI,CAAE,YAAY,EAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-mcap-file.d.ts","sourceRoot":"","sources":["../../src/meshcap/write-mcap-file.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,GAAC,OAAc,iBAwMzF"}
|