@zappar/zappar-cv 3.9.1 → 3.10.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 +2 -2
- package/lib/bridged-d3-tracker.js +2 -26
- package/lib/drawpoints.js +30 -38
- package/lib/gen/zappar-bridge.d.ts +12 -0
- package/lib/gen/zappar-client.js +173 -5
- package/lib/gen/zappar-cwrap.js +115 -0
- package/lib/gen/zappar-native.d.ts +12 -0
- package/lib/gen/zappar-server.js +75 -0
- package/lib/gen/zappar.d.ts +8 -8
- package/lib/native.js +39 -19
- package/lib/sequencesource.js +2 -2
- package/lib/src/gen/zappar-bridge.d.ts +12 -0
- package/lib/src/gen/zappar-native.d.ts +12 -0
- package/lib/src/gen/zappar.d.ts +8 -8
- package/lib/src/version.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/zappar-cv.js +1 -1
- package/lib/zappar-cv.wasm +0 -0
- package/package.json +1 -1
package/lib/native.js
CHANGED
|
@@ -36,6 +36,20 @@ import { WebXRCameraSource } from "./webxr-camera-source";
|
|
|
36
36
|
import { WebXRWorldTracker } from "./webxr-world-tracker";
|
|
37
37
|
let client;
|
|
38
38
|
const pipelineByWorldTracker = new Map();
|
|
39
|
+
const d3TrackerSizeById = new Map();
|
|
40
|
+
function applyD3SizeToPose(o, indx, pose) {
|
|
41
|
+
var _a;
|
|
42
|
+
const anchor_id = client.d3_tracker_id(o, indx);
|
|
43
|
+
if (anchor_id.length <= 0)
|
|
44
|
+
return;
|
|
45
|
+
const size = (_a = d3TrackerSizeById.get(o)) === null || _a === void 0 ? void 0 : _a.get(anchor_id);
|
|
46
|
+
if (size === undefined)
|
|
47
|
+
return pose;
|
|
48
|
+
const scale = 0.5 * size;
|
|
49
|
+
pose[12] *= scale;
|
|
50
|
+
pose[13] *= scale;
|
|
51
|
+
pose[14] *= scale;
|
|
52
|
+
}
|
|
39
53
|
const _temporaryMatrix = mat4.create();
|
|
40
54
|
const _temporaryVec3 = vec3.create();
|
|
41
55
|
export function initialize(opts) {
|
|
@@ -194,25 +208,31 @@ export function initialize(opts) {
|
|
|
194
208
|
let bridgedWtImpl = (bridgedWtApi === null || bridgedWtApi === void 0 ? void 0 : bridgedWtApi.impl) || {};
|
|
195
209
|
const wtImpl = (bridgedWtApi === null || bridgedWtApi === void 0 ? void 0 : bridgedWtApi.impl) || c.impl;
|
|
196
210
|
let bridgedD3Impl = (bridgedD3Api === null || bridgedD3Api === void 0 ? void 0 : bridgedD3Api.impl) || {};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
211
|
+
let d3Impl = (bridgedD3Api === null || bridgedD3Api === void 0 ? void 0 : bridgedD3Api.impl) || c.impl;
|
|
212
|
+
client = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, c.impl), { world_tracker_mesh_anchor_count: () => 0, world_tracker_mesh_anchor_id: () => "", world_tracker_mesh_anchor_indices: () => new Uint32Array(0), world_tracker_mesh_anchor_indices_count: () => 0, world_tracker_mesh_anchor_indices_size: () => 0, world_tracker_mesh_anchor_vertices: () => new Float32Array(0), world_tracker_mesh_anchor_vertices_count: () => 0, world_tracker_mesh_anchor_vertices_size: () => 0, world_tracker_mesh_anchor_vertices_offset: () => 0, world_tracker_mesh_anchor_vertices_stride: () => 0, world_tracker_mesh_anchor_pose_raw: () => new Float32Array(), world_tracker_mesh_anchor_status: () => anchor_status_t.ANCHOR_STATUS_STOPPED, world_tracker_mesh_anchors_enabled: () => false, world_tracker_mesh_anchors_enabled_set: () => { }, d3_tracker_process_max_resolution_set: () => { } }), bridgedWtImpl), bridgedD3Impl), { d3_tracker_create: (pipeline) => {
|
|
213
|
+
let ret = d3Impl.d3_tracker_create(pipeline);
|
|
214
|
+
d3TrackerSizeById.set(ret, new Map());
|
|
215
|
+
return ret;
|
|
216
|
+
}, d3_tracker_destroy: (o) => {
|
|
217
|
+
d3TrackerSizeById.delete(o);
|
|
218
|
+
d3Impl.d3_tracker_destroy(o);
|
|
219
|
+
}, d3_tracker_pose0_raw: (o, indx) => {
|
|
220
|
+
let pose = d3Impl.d3_tracker_pose0_raw(o, indx).slice();
|
|
221
|
+
applyD3SizeToPose(o, indx, pose);
|
|
222
|
+
return pose;
|
|
223
|
+
}, d3_tracker_pose1_raw: (o, indx) => {
|
|
224
|
+
let pose = d3Impl.d3_tracker_pose1_raw(o, indx).slice();
|
|
225
|
+
applyD3SizeToPose(o, indx, pose);
|
|
226
|
+
return pose;
|
|
227
|
+
}, d3_tracker_size_for_id_set: (o, id, size) => {
|
|
228
|
+
var _a;
|
|
229
|
+
(_a = d3TrackerSizeById.get(o)) === null || _a === void 0 ? void 0 : _a.set(id, size);
|
|
230
|
+
}, d3_tracker_pose_raw: (o, indx) => {
|
|
231
|
+
return client.d3_tracker_pose0_raw(o, indx);
|
|
232
|
+
}, d3_tracker_pose: (o, indx, cameraPose, mirror) => {
|
|
233
|
+
return client.d3_tracker_pose0(o, indx, cameraPose, mirror);
|
|
207
234
|
}, d3_tracker_pose_camera_relative: (o, indx, mirror) => {
|
|
208
|
-
|
|
209
|
-
if (mirror) {
|
|
210
|
-
let scale = mat4.create();
|
|
211
|
-
mat4.fromScaling(scale, [-1, 1, 1]);
|
|
212
|
-
mat4.multiply(res, scale, res);
|
|
213
|
-
mat4.multiply(res, res, scale);
|
|
214
|
-
}
|
|
215
|
-
return res;
|
|
235
|
+
return client.d3_tracker_pose0_camera_relative(o, indx, mirror);
|
|
216
236
|
}, d3_tracker_pose0: (o, indx, cameraPose, mirror) => {
|
|
217
237
|
let res = applyScreenCounterRotation(undefined, client.d3_tracker_pose0_raw(o, indx));
|
|
218
238
|
if (mirror) {
|
|
@@ -251,7 +271,7 @@ export function initialize(opts) {
|
|
|
251
271
|
mat4.multiply(res, res, scale);
|
|
252
272
|
}
|
|
253
273
|
return res;
|
|
254
|
-
}
|
|
274
|
+
}, loaded: () => loaded, camera_default_device_id: userFacing => userFacing ? CameraSource.USER_DEFAULT_DEVICE_ID : CameraSource.DEFAULT_DEVICE_ID, camera_source_create: (p, deviceId) => createCameraSource(p, deviceId, preferWebXRCamera), camera_source_destroy: cam => { var _a; return (_a = getCameraSource(cam)) === null || _a === void 0 ? void 0 : _a.destroy(); }, camera_source_pause: cam => { var _a; return (_a = getCameraSource(cam)) === null || _a === void 0 ? void 0 : _a.pause(); }, camera_source_start: cam => { var _a; return (_a = getCameraSource(cam)) === null || _a === void 0 ? void 0 : _a.start(); }, camera_source_profile_set: (cam, p) => { var _a; return (_a = getCameraSource(cam)) === null || _a === void 0 ? void 0 : _a.setProfile(p); }, camera_count: () => 2, camera_id: indx => indx === 0 ? CameraSource.DEFAULT_DEVICE_ID : CameraSource.USER_DEFAULT_DEVICE_ID, camera_name: indx => indx === 0 ? "Rear-facing Camera" : "User-facing Camera", camera_user_facing: indx => indx !== 0, pose_from_raw: (raw_pose, mirror) => {
|
|
255
275
|
let res = applyScreenCounterRotation(undefined, raw_pose);
|
|
256
276
|
if (mirror) {
|
|
257
277
|
let scale = mat4.create();
|
package/lib/sequencesource.js
CHANGED
|
@@ -97,7 +97,7 @@ export class SequenceSource extends Source {
|
|
|
97
97
|
// updates will be one frame later
|
|
98
98
|
this._submitMotionUpdates(pipeline);
|
|
99
99
|
const token = pipeline.registerToken(info);
|
|
100
|
-
pipeline.sendDataToWorker(info.data || new ArrayBuffer(0), token, info.dataWidth, info.dataHeight, info.userFacing, info.cameraToDevice, info.cameraModel, -1);
|
|
100
|
+
pipeline.sendDataToWorker(info.data || new ArrayBuffer(0), token, info.dataWidth, info.dataHeight, info.userFacing, info.cameraToDevice.slice(), info.cameraModel.slice(), -1);
|
|
101
101
|
}
|
|
102
102
|
destroy() {
|
|
103
103
|
byId.delete(this._impl);
|
|
@@ -154,7 +154,7 @@ export class SequenceSource extends Source {
|
|
|
154
154
|
pendingMotionUpdate = true;
|
|
155
155
|
break;
|
|
156
156
|
case SequenceRecorderPacketType.ATTITUDE_MATRIX:
|
|
157
|
-
pipeline.motionAttitudeMatrix(packet.attitude);
|
|
157
|
+
pipeline.motionAttitudeMatrix(packet.attitude.slice());
|
|
158
158
|
pendingMotionUpdate = true;
|
|
159
159
|
break;
|
|
160
160
|
case SequenceRecorderPacketType.ACCELEROMETER_WO_GRAVITY_INT:
|
|
@@ -186,4 +186,16 @@ export interface zappar {
|
|
|
186
186
|
custom_anchor_pose_set_with_parent(o: zappar_custom_anchor_t, pose: Float32Array, anchor_id: string): void;
|
|
187
187
|
d3_tracker_create(pipeline: zappar_pipeline_t): zappar_d3_tracker_t;
|
|
188
188
|
d3_tracker_destroy(o: zappar_d3_tracker_t): void;
|
|
189
|
+
d3_tracker_enabled(o: zappar_d3_tracker_t): boolean;
|
|
190
|
+
d3_tracker_enabled_set(o: zappar_d3_tracker_t, enabled: boolean): void;
|
|
191
|
+
d3_tracker_count(o: zappar_d3_tracker_t): number;
|
|
192
|
+
d3_tracker_id(o: zappar_d3_tracker_t, indx: number): string;
|
|
193
|
+
d3_tracker_pose0_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
194
|
+
d3_tracker_pose1_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
195
|
+
d3_tracker_type(o: zappar_d3_tracker_t, indx: number): number;
|
|
196
|
+
d3_tracker_category(o: zappar_d3_tracker_t, indx: number): number;
|
|
197
|
+
d3_tracker_qr(o: zappar_d3_tracker_t, indx: number): string;
|
|
198
|
+
d3_tracker_dense(o: zappar_d3_tracker_t, indx: number): number;
|
|
199
|
+
d3_tracker_landmarks_data(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
200
|
+
d3_tracker_landmarks_data_size(o: zappar_d3_tracker_t, indx: number): number;
|
|
189
201
|
}
|
|
@@ -263,4 +263,16 @@ export interface zappar_cwrap {
|
|
|
263
263
|
custom_anchor_pose_set_with_parent(o: zappar_custom_anchor_t, pose: Float32Array, anchor_id: string): void;
|
|
264
264
|
d3_tracker_create(pipeline: zappar_pipeline_t): zappar_d3_tracker_t;
|
|
265
265
|
d3_tracker_destroy(o: zappar_d3_tracker_t): void;
|
|
266
|
+
d3_tracker_enabled(o: zappar_d3_tracker_t): boolean;
|
|
267
|
+
d3_tracker_enabled_set(o: zappar_d3_tracker_t, enabled: boolean): void;
|
|
268
|
+
d3_tracker_count(o: zappar_d3_tracker_t): number;
|
|
269
|
+
d3_tracker_id(o: zappar_d3_tracker_t, indx: number): string;
|
|
270
|
+
d3_tracker_pose0_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
271
|
+
d3_tracker_pose1_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
272
|
+
d3_tracker_type(o: zappar_d3_tracker_t, indx: number): number;
|
|
273
|
+
d3_tracker_category(o: zappar_d3_tracker_t, indx: number): number;
|
|
274
|
+
d3_tracker_qr(o: zappar_d3_tracker_t, indx: number): string;
|
|
275
|
+
d3_tracker_dense(o: zappar_d3_tracker_t, indx: number): number;
|
|
276
|
+
d3_tracker_landmarks_data(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
277
|
+
d3_tracker_landmarks_data_size(o: zappar_d3_tracker_t, indx: number): number;
|
|
266
278
|
}
|
package/lib/src/gen/zappar.d.ts
CHANGED
|
@@ -295,25 +295,25 @@ export interface zappar {
|
|
|
295
295
|
custom_anchor_pose_set_with_parent(o: zappar_custom_anchor_t, pose: Float32Array, anchor_id: string): void;
|
|
296
296
|
d3_tracker_create(pipeline: zappar_pipeline_t): zappar_d3_tracker_t;
|
|
297
297
|
d3_tracker_destroy(o: zappar_d3_tracker_t): void;
|
|
298
|
-
d3_tracker_id(o: zappar_d3_tracker_t, indx: number): string;
|
|
299
298
|
d3_tracker_enabled(o: zappar_d3_tracker_t): boolean;
|
|
300
299
|
d3_tracker_enabled_set(o: zappar_d3_tracker_t, enabled: boolean): void;
|
|
301
300
|
d3_tracker_process_max_resolution_set(o: zappar_d3_tracker_t, v: boolean): void;
|
|
302
301
|
d3_tracker_count(o: zappar_d3_tracker_t): number;
|
|
303
|
-
|
|
304
|
-
d3_tracker_pose_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
305
|
-
d3_tracker_pose_camera_relative(o: zappar_d3_tracker_t, indx: number, mirror: boolean): Float32Array;
|
|
306
|
-
d3_tracker_pose(o: zappar_d3_tracker_t, indx: number, camera_pose: Float32Array, mirror: boolean): Float32Array;
|
|
302
|
+
d3_tracker_id(o: zappar_d3_tracker_t, indx: number): string;
|
|
307
303
|
d3_tracker_pose0_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
308
304
|
d3_tracker_pose0_camera_relative(o: zappar_d3_tracker_t, indx: number, mirror: boolean): Float32Array;
|
|
309
305
|
d3_tracker_pose0(o: zappar_d3_tracker_t, indx: number, camera_pose: Float32Array, mirror: boolean): Float32Array;
|
|
310
306
|
d3_tracker_pose1_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
311
307
|
d3_tracker_pose1_camera_relative(o: zappar_d3_tracker_t, indx: number, mirror: boolean): Float32Array;
|
|
312
308
|
d3_tracker_pose1(o: zappar_d3_tracker_t, indx: number, camera_pose: Float32Array, mirror: boolean): Float32Array;
|
|
313
|
-
d3_tracker_landmarks_data(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
314
|
-
d3_tracker_landmarks_data_size(o: zappar_d3_tracker_t, indx: number): number;
|
|
315
309
|
d3_tracker_type(o: zappar_d3_tracker_t, indx: number): number;
|
|
316
|
-
d3_tracker_dense(o: zappar_d3_tracker_t, indx: number): number;
|
|
317
310
|
d3_tracker_category(o: zappar_d3_tracker_t, indx: number): number;
|
|
311
|
+
d3_tracker_qr(o: zappar_d3_tracker_t, indx: number): string;
|
|
312
|
+
d3_tracker_dense(o: zappar_d3_tracker_t, indx: number): number;
|
|
313
|
+
d3_tracker_landmarks_data(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
314
|
+
d3_tracker_landmarks_data_size(o: zappar_d3_tracker_t, indx: number): number;
|
|
315
|
+
d3_tracker_pose_raw(o: zappar_d3_tracker_t, indx: number): Float32Array;
|
|
316
|
+
d3_tracker_pose_camera_relative(o: zappar_d3_tracker_t, indx: number, mirror: boolean): Float32Array;
|
|
317
|
+
d3_tracker_pose(o: zappar_d3_tracker_t, indx: number, camera_pose: Float32Array, mirror: boolean): Float32Array;
|
|
318
318
|
d3_tracker_size_for_id_set(o: zappar_d3_tracker_t, id: string, size: number): void;
|
|
319
319
|
}
|
package/lib/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.
|
|
1
|
+
export declare const VERSION = "3.10.0";
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.
|
|
1
|
+
export declare const VERSION = "3.10.0";
|
package/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = "3.
|
|
1
|
+
export const VERSION = "3.10.0";
|