@zappar/zappar-cv 0.3.14 → 0.4.0-beta.11

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.
Files changed (60) hide show
  1. package/README.md +2 -2
  2. package/lib/additional.d.ts +2 -1
  3. package/lib/camera-source-map.d.ts +10 -0
  4. package/lib/camera-source-map.js +40 -0
  5. package/lib/camera-source.d.ts +3 -5
  6. package/lib/camera-source.js +8 -15
  7. package/lib/deserializer.d.ts +1 -0
  8. package/lib/deserializer.js +7 -0
  9. package/lib/drawcamera.js +2 -1
  10. package/lib/gen/zappar-client.d.ts +1 -0
  11. package/lib/gen/zappar-client.js +78 -41
  12. package/lib/gen/zappar-cwrap.js +71 -20
  13. package/lib/gen/zappar-native.d.ts +20 -3
  14. package/lib/gen/zappar-native.js +13 -1
  15. package/lib/gen/zappar-server.d.ts +3 -0
  16. package/lib/gen/zappar-server.js +70 -34
  17. package/lib/gen/zappar.d.ts +29 -1
  18. package/lib/gen/zappar.js +5 -3
  19. package/lib/gfx.d.ts +1 -0
  20. package/lib/gfx.js +4 -0
  21. package/lib/gl-state-manager.d.ts +9 -0
  22. package/lib/gl-state-manager.js +35 -0
  23. package/lib/html-element-source.d.ts +7 -22
  24. package/lib/html-element-source.js +30 -289
  25. package/lib/image-process-gl.d.ts +37 -0
  26. package/lib/image-process-gl.js +298 -0
  27. package/lib/imagebitmap-camera-source.d.ts +36 -0
  28. package/lib/imagebitmap-camera-source.js +277 -0
  29. package/lib/imagetracker.d.ts +28 -0
  30. package/lib/imagetracker.js +119 -0
  31. package/lib/index.d.ts +1 -1
  32. package/lib/mstp-camera-source.d.ts +29 -0
  33. package/lib/mstp-camera-source.js +230 -0
  34. package/lib/native.js +129 -6
  35. package/lib/pipeline.d.ts +22 -2
  36. package/lib/pipeline.js +140 -19
  37. package/lib/profile.d.ts +2 -0
  38. package/lib/profile.js +21 -6
  39. package/lib/riff-reader.d.ts +18 -0
  40. package/lib/riff-reader.js +56 -0
  41. package/lib/sequencerecorder.d.ts +83 -0
  42. package/lib/sequencerecorder.js +283 -0
  43. package/lib/sequencesource.d.ts +23 -0
  44. package/lib/sequencesource.js +170 -0
  45. package/lib/serializer.d.ts +1 -0
  46. package/lib/serializer.js +1 -0
  47. package/lib/source.d.ts +10 -3
  48. package/lib/version.d.ts +1 -1
  49. package/lib/version.js +1 -1
  50. package/lib/worker-imagebitmap.d.ts +5 -0
  51. package/lib/worker-imagebitmap.js +63 -0
  52. package/lib/worker-server.js +124 -8
  53. package/lib/workerinterface.d.ts +50 -1
  54. package/lib/zcv.js +121 -197
  55. package/lib/zcv.wasm +0 -0
  56. package/package.json +6 -3
  57. package/umd/e9486c1cdadb21608a4f7e2fa3be9517.wasm +0 -0
  58. package/umd/zappar-cv.js +1 -1
  59. package/umd/zappar-cv.worker.js +1 -1
  60. package/umd/0bdbfe863a384bcd2935e7437d8f1153.wasm +0 -0
@@ -25,11 +25,18 @@ function getRuntimeObject(mod) {
25
25
  ]);
26
26
  let pipeline_camera_frame_submit_wrapped = mod.cwrap("zappar_pipeline_camera_frame_submit", null, [
27
27
  "number",
28
- "number", "number", "number", "number", "number", "number"
28
+ "number", "number", "number", "number", "number", "number", "number", "number"
29
+ ]);
30
+ let pipeline_camera_frame_submit_raw_pointer_wrapped = mod.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer", null, [
31
+ "number",
32
+ "number", "number", "number", "number", "number", "number", "number", "number", "number", "number"
29
33
  ]);
30
34
  let pipeline_camera_frame_camera_attitude_wrapped = mod.cwrap("zappar_pipeline_camera_frame_camera_attitude", "number", [
31
35
  "number"
32
36
  ]);
37
+ let pipeline_camera_frame_device_attitude_wrapped = mod.cwrap("zappar_pipeline_camera_frame_device_attitude", "number", [
38
+ "number"
39
+ ]);
33
40
  let pipeline_motion_accelerometer_submit_wrapped = mod.cwrap("zappar_pipeline_motion_accelerometer_submit", null, [
34
41
  "number",
35
42
  "number", "number", "number", "number"
@@ -42,8 +49,14 @@ function getRuntimeObject(mod) {
42
49
  "number",
43
50
  "number", "number", "number", "number"
44
51
  ]);
52
+ let pipeline_motion_attitude_matrix_submit_wrapped = mod.cwrap("zappar_pipeline_motion_attitude_matrix_submit", null, [
53
+ "number",
54
+ "number"
55
+ ]);
45
56
  let camera_source_create_wrapped = mod.cwrap("zappar_camera_source_create", "number", ["number", "string"]);
46
57
  let camera_source_destroy_wrapped = mod.cwrap("zappar_camera_source_destroy", null, ["number"]);
58
+ let sequence_source_create_wrapped = mod.cwrap("zappar_sequence_source_create", "number", ["number"]);
59
+ let sequence_source_destroy_wrapped = mod.cwrap("zappar_sequence_source_destroy", null, ["number"]);
47
60
  let image_tracker_create_wrapped = mod.cwrap("zappar_image_tracker_create", "number", ["number"]);
48
61
  let image_tracker_destroy_wrapped = mod.cwrap("zappar_image_tracker_destroy", null, ["number"]);
49
62
  let image_tracker_target_load_from_memory_wrapped = mod.cwrap("zappar_image_tracker_target_load_from_memory", null, [
@@ -53,9 +66,6 @@ function getRuntimeObject(mod) {
53
66
  let image_tracker_target_loaded_version_wrapped = mod.cwrap("zappar_image_tracker_target_loaded_version", "number", [
54
67
  "number"
55
68
  ]);
56
- let image_tracker_target_count_wrapped = mod.cwrap("zappar_image_tracker_target_count", "number", [
57
- "number"
58
- ]);
59
69
  let image_tracker_enabled_wrapped = mod.cwrap("zappar_image_tracker_enabled", "number", [
60
70
  "number"
61
71
  ]);
@@ -159,7 +169,7 @@ function getRuntimeObject(mod) {
159
169
  let instant_world_tracker_anchor_pose_raw_wrapped = mod.cwrap("zappar_instant_world_tracker_anchor_pose_raw", "number", [
160
170
  "number"
161
171
  ]);
162
- let instant_world_tracker_anchor_pose_set_from_camera_offset_wrapped = mod.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset", null, [
172
+ let instant_world_tracker_anchor_pose_set_from_camera_offset_raw_wrapped = mod.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw", null, [
163
173
  "number",
164
174
  "number", "number", "number", "number"
165
175
  ]);
@@ -167,6 +177,17 @@ function getRuntimeObject(mod) {
167
177
  let dataArrayArg = mod._malloc(dataArrayArgLength);
168
178
  let floatDataArrayArgLength = 16 * 4;
169
179
  let floatDataArrayArg = mod._malloc(floatDataArrayArgLength);
180
+ let floatDataArraysByArgIndex = new Map();
181
+ let getFloatDataArrayForArgIndex = (indx, len) => {
182
+ let existing = floatDataArraysByArgIndex.get(indx);
183
+ if (!existing || existing[0] < len) {
184
+ if (existing)
185
+ mod._free(existing[1]);
186
+ existing = [len, mod._malloc(len)];
187
+ floatDataArraysByArgIndex.set(indx, existing);
188
+ }
189
+ return existing[1];
190
+ };
170
191
  return {
171
192
  log_level: () => {
172
193
  let ret = log_level_wrapped();
@@ -207,7 +228,7 @@ function getRuntimeObject(mod) {
207
228
  let ret = pipeline_camera_frame_user_data_wrapped(o);
208
229
  return ret;
209
230
  },
210
- pipeline_camera_frame_submit: (o, data, width, height, user_data, camera_to_device_transform) => {
231
+ pipeline_camera_frame_submit: (o, data, width, height, user_data, camera_to_device_transform, camera_model, user_facing) => {
211
232
  if (dataArrayArgLength < data.byteLength) {
212
233
  mod._free(dataArrayArg);
213
234
  dataArrayArgLength = data.byteLength;
@@ -219,14 +240,28 @@ function getRuntimeObject(mod) {
219
240
  let arg_width = width;
220
241
  let arg_height = height;
221
242
  let arg_user_data = user_data;
222
- if (floatDataArrayArgLength < camera_to_device_transform.byteLength) {
223
- mod._free(floatDataArrayArgLength);
224
- floatDataArrayArgLength = camera_to_device_transform.byteLength;
225
- floatDataArrayArg = mod._malloc(floatDataArrayArgLength);
226
- }
227
- let arg_camera_to_device_transform = floatDataArrayArg;
228
- mod.HEAPF32.set(camera_to_device_transform, floatDataArrayArg / 4);
229
- let ret = pipeline_camera_frame_submit_wrapped(o, arg_data, arg_len_data, arg_width, arg_height, arg_user_data, arg_camera_to_device_transform);
243
+ let arg_camera_to_device_transform = getFloatDataArrayForArgIndex(4, camera_to_device_transform.byteLength);
244
+ mod.HEAPF32.set(camera_to_device_transform, arg_camera_to_device_transform / 4);
245
+ let arg_camera_model = getFloatDataArrayForArgIndex(5, camera_model.byteLength);
246
+ mod.HEAPF32.set(camera_model, arg_camera_model / 4);
247
+ let arg_user_facing = user_facing ? 1 : 0;
248
+ let ret = pipeline_camera_frame_submit_wrapped(o, arg_data, arg_len_data, arg_width, arg_height, arg_user_data, arg_camera_to_device_transform, arg_camera_model, arg_user_facing);
249
+ return ret;
250
+ },
251
+ pipeline_camera_frame_submit_raw_pointer: (o, data, dataLength, format, width, height, user_data, camera_to_device_transform, rotation, camera_model, user_facing) => {
252
+ let arg_data = data;
253
+ let arg_dataLength = dataLength;
254
+ let arg_format = format;
255
+ let arg_width = width;
256
+ let arg_height = height;
257
+ let arg_user_data = user_data;
258
+ let arg_camera_to_device_transform = getFloatDataArrayForArgIndex(6, camera_to_device_transform.byteLength);
259
+ mod.HEAPF32.set(camera_to_device_transform, arg_camera_to_device_transform / 4);
260
+ let arg_rotation = rotation;
261
+ let arg_camera_model = getFloatDataArrayForArgIndex(8, camera_model.byteLength);
262
+ mod.HEAPF32.set(camera_model, arg_camera_model / 4);
263
+ let arg_user_facing = user_facing ? 1 : 0;
264
+ let ret = pipeline_camera_frame_submit_raw_pointer_wrapped(o, arg_data, arg_dataLength, arg_format, arg_width, arg_height, arg_user_data, arg_camera_to_device_transform, arg_rotation, arg_camera_model, arg_user_facing);
230
265
  return ret;
231
266
  },
232
267
  pipeline_camera_frame_camera_attitude: (o) => {
@@ -236,6 +271,13 @@ function getRuntimeObject(mod) {
236
271
  ret = ab;
237
272
  return ret;
238
273
  },
274
+ pipeline_camera_frame_device_attitude: (o) => {
275
+ let ret = pipeline_camera_frame_device_attitude_wrapped(o);
276
+ let ab = new Float32Array(16);
277
+ ab.set(mod.HEAPF32.subarray(ret / 4, 16 + ret / 4));
278
+ ret = ab;
279
+ return ret;
280
+ },
239
281
  pipeline_motion_accelerometer_submit: (o, time, x, y, z) => {
240
282
  let arg_time = time;
241
283
  let arg_x = x;
@@ -260,6 +302,12 @@ function getRuntimeObject(mod) {
260
302
  let ret = pipeline_motion_attitude_submit_wrapped(o, arg_time, arg_x, arg_y, arg_z);
261
303
  return ret;
262
304
  },
305
+ pipeline_motion_attitude_matrix_submit: (o, mat) => {
306
+ let arg_mat = getFloatDataArrayForArgIndex(0, mat.byteLength);
307
+ mod.HEAPF32.set(mat, arg_mat / 4);
308
+ let ret = pipeline_motion_attitude_matrix_submit_wrapped(o, arg_mat);
309
+ return ret;
310
+ },
263
311
  camera_source_create: (pipeline, device_id) => {
264
312
  let arg_pipeline = pipeline;
265
313
  let arg_device_id = device_id;
@@ -268,6 +316,13 @@ function getRuntimeObject(mod) {
268
316
  camera_source_destroy: () => {
269
317
  camera_source_destroy_wrapped();
270
318
  },
319
+ sequence_source_create: (pipeline) => {
320
+ let arg_pipeline = pipeline;
321
+ return sequence_source_create_wrapped(arg_pipeline);
322
+ },
323
+ sequence_source_destroy: () => {
324
+ sequence_source_destroy_wrapped();
325
+ },
271
326
  image_tracker_create: (pipeline) => {
272
327
  let arg_pipeline = pipeline;
273
328
  return image_tracker_create_wrapped(arg_pipeline);
@@ -291,10 +346,6 @@ function getRuntimeObject(mod) {
291
346
  let ret = image_tracker_target_loaded_version_wrapped(o);
292
347
  return ret;
293
348
  },
294
- image_tracker_target_count: (o) => {
295
- let ret = image_tracker_target_count_wrapped(o);
296
- return ret;
297
- },
298
349
  image_tracker_enabled: (o) => {
299
350
  let ret = image_tracker_enabled_wrapped(o);
300
351
  ret = ret === 1;
@@ -474,12 +525,12 @@ function getRuntimeObject(mod) {
474
525
  ret = ab;
475
526
  return ret;
476
527
  },
477
- instant_world_tracker_anchor_pose_set_from_camera_offset: (o, x, y, z, orientation) => {
528
+ instant_world_tracker_anchor_pose_set_from_camera_offset_raw: (o, x, y, z, orientation) => {
478
529
  let arg_x = x;
479
530
  let arg_y = y;
480
531
  let arg_z = z;
481
532
  let arg_orientation = orientation;
482
- let ret = instant_world_tracker_anchor_pose_set_from_camera_offset_wrapped(o, arg_x, arg_y, arg_z, arg_orientation);
533
+ let ret = instant_world_tracker_anchor_pose_set_from_camera_offset_raw_wrapped(o, arg_x, arg_y, arg_z, arg_orientation);
483
534
  return ret;
484
535
  },
485
536
  };
@@ -46,12 +46,25 @@ export declare enum log_level_t {
46
46
  LOG_LEVEL_WARNING = 2,
47
47
  LOG_LEVEL_VERBOSE = 3
48
48
  }
49
+ export declare enum frame_pixel_format_t {
50
+ FRAME_PIXEL_FORMAT_I420 = 0,
51
+ FRAME_PIXEL_FORMAT_I420A = 1,
52
+ FRAME_PIXEL_FORMAT_I422 = 2,
53
+ FRAME_PIXEL_FORMAT_I444 = 3,
54
+ FRAME_PIXEL_FORMAT_NV12 = 4,
55
+ FRAME_PIXEL_FORMAT_RGBA = 5,
56
+ FRAME_PIXEL_FORMAT_BGRA = 6,
57
+ FRAME_PIXEL_FORMAT_Y = 7
58
+ }
49
59
  export declare type zappar_pipeline_t = number & {
50
60
  _: 'zappar_pipeline_t';
51
61
  };
52
62
  export declare type zappar_camera_source_t = number & {
53
63
  _: 'zappar_camera_source_t';
54
64
  };
65
+ export declare type zappar_sequence_source_t = number & {
66
+ _: 'zappar_sequence_source_t';
67
+ };
55
68
  export declare type zappar_image_tracker_t = number & {
56
69
  _: 'zappar_image_tracker_t';
57
70
  };
@@ -80,18 +93,22 @@ export interface zappar_cwrap {
80
93
  pipeline_frame_number(o: zappar_pipeline_t): number;
81
94
  pipeline_camera_model(o: zappar_pipeline_t): Float32Array;
82
95
  pipeline_camera_frame_user_data(o: zappar_pipeline_t): number;
83
- pipeline_camera_frame_submit(o: zappar_pipeline_t, data: ArrayBuffer, width: number, height: number, user_data: number, camera_to_device_transform: Float32Array): void;
96
+ pipeline_camera_frame_submit(o: zappar_pipeline_t, data: ArrayBuffer, width: number, height: number, user_data: number, camera_to_device_transform: Float32Array, camera_model: Float32Array, user_facing: boolean): void;
97
+ pipeline_camera_frame_submit_raw_pointer(o: zappar_pipeline_t, data: number, dataLength: number, format: frame_pixel_format_t, width: number, height: number, user_data: number, camera_to_device_transform: Float32Array, rotation: number, camera_model: Float32Array, user_facing: boolean): void;
84
98
  pipeline_camera_frame_camera_attitude(o: zappar_pipeline_t): Float32Array;
99
+ pipeline_camera_frame_device_attitude(o: zappar_pipeline_t): Float32Array;
85
100
  pipeline_motion_accelerometer_submit(o: zappar_pipeline_t, time: number, x: number, y: number, z: number): void;
86
101
  pipeline_motion_rotation_rate_submit(o: zappar_pipeline_t, time: number, x: number, y: number, z: number): void;
87
102
  pipeline_motion_attitude_submit(o: zappar_pipeline_t, time: number, x: number, y: number, z: number): void;
103
+ pipeline_motion_attitude_matrix_submit(o: zappar_pipeline_t, mat: Float32Array): void;
88
104
  camera_source_create(pipeline: zappar_pipeline_t, device_id: string): zappar_camera_source_t;
89
105
  camera_source_destroy(o: zappar_camera_source_t): void;
106
+ sequence_source_create(pipeline: zappar_pipeline_t): zappar_sequence_source_t;
107
+ sequence_source_destroy(o: zappar_sequence_source_t): void;
90
108
  image_tracker_create(pipeline: zappar_pipeline_t): zappar_image_tracker_t;
91
109
  image_tracker_destroy(o: zappar_image_tracker_t): void;
92
110
  image_tracker_target_load_from_memory(o: zappar_image_tracker_t, data: ArrayBuffer): void;
93
111
  image_tracker_target_loaded_version(o: zappar_image_tracker_t): number;
94
- image_tracker_target_count(o: zappar_image_tracker_t): number;
95
112
  image_tracker_enabled(o: zappar_image_tracker_t): boolean;
96
113
  image_tracker_enabled_set(o: zappar_image_tracker_t, enabled: boolean): void;
97
114
  image_tracker_anchor_count(o: zappar_image_tracker_t): number;
@@ -128,5 +145,5 @@ export interface zappar_cwrap {
128
145
  instant_world_tracker_enabled_set(o: zappar_instant_world_tracker_t, enabled: boolean): void;
129
146
  instant_world_tracker_enabled(o: zappar_instant_world_tracker_t): boolean;
130
147
  instant_world_tracker_anchor_pose_raw(o: zappar_instant_world_tracker_t): Float32Array;
131
- instant_world_tracker_anchor_pose_set_from_camera_offset(o: zappar_instant_world_tracker_t, x: number, y: number, z: number, orientation: instant_world_tracker_transform_orientation_t): void;
148
+ instant_world_tracker_anchor_pose_set_from_camera_offset_raw(o: zappar_instant_world_tracker_t, x: number, y: number, z: number, orientation: instant_world_tracker_transform_orientation_t): void;
132
149
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.log_level_t = exports.instant_world_tracker_transform_orientation_t = exports.face_landmark_name_t = exports.barcode_format_t = void 0;
3
+ exports.frame_pixel_format_t = exports.log_level_t = exports.instant_world_tracker_transform_orientation_t = exports.face_landmark_name_t = exports.barcode_format_t = void 0;
4
4
  var barcode_format_t;
5
5
  (function (barcode_format_t) {
6
6
  barcode_format_t[barcode_format_t["UNKNOWN"] = 131072] = "UNKNOWN";
@@ -57,3 +57,15 @@ var log_level_t;
57
57
  log_level_t[log_level_t["LOG_LEVEL_VERBOSE"] = 3] = "LOG_LEVEL_VERBOSE";
58
58
  })(log_level_t = exports.log_level_t || (exports.log_level_t = {}));
59
59
  ;
60
+ var frame_pixel_format_t;
61
+ (function (frame_pixel_format_t) {
62
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_I420"] = 0] = "FRAME_PIXEL_FORMAT_I420";
63
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_I420A"] = 1] = "FRAME_PIXEL_FORMAT_I420A";
64
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_I422"] = 2] = "FRAME_PIXEL_FORMAT_I422";
65
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_I444"] = 3] = "FRAME_PIXEL_FORMAT_I444";
66
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_NV12"] = 4] = "FRAME_PIXEL_FORMAT_NV12";
67
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_RGBA"] = 5] = "FRAME_PIXEL_FORMAT_RGBA";
68
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_BGRA"] = 6] = "FRAME_PIXEL_FORMAT_BGRA";
69
+ frame_pixel_format_t[frame_pixel_format_t["FRAME_PIXEL_FORMAT_Y"] = 7] = "FRAME_PIXEL_FORMAT_Y";
70
+ })(frame_pixel_format_t = exports.frame_pixel_format_t || (exports.frame_pixel_format_t = {}));
71
+ ;
@@ -2,6 +2,7 @@ import { MessageSerializer } from "../serializer";
2
2
  import { zappar_cwrap } from "./zappar-native";
3
3
  import { zappar_pipeline_t } from "./zappar-native";
4
4
  import { zappar_camera_source_t } from "./zappar-native";
5
+ import { zappar_sequence_source_t } from "./zappar-native";
5
6
  import { zappar_image_tracker_t } from "./zappar-native";
6
7
  import { zappar_face_tracker_t } from "./zappar-native";
7
8
  import { zappar_face_mesh_t } from "./zappar-native";
@@ -18,6 +19,8 @@ export declare class zappar_server {
18
19
  _pipeline_by_instance: Map<number, zappar_pipeline_t>;
19
20
  _pipeline_id_by_camera_source_id: Map<number, number>;
20
21
  _camera_source_by_instance: Map<number, zappar_camera_source_t>;
22
+ _pipeline_id_by_sequence_source_id: Map<number, number>;
23
+ _sequence_source_by_instance: Map<number, zappar_sequence_source_t>;
21
24
  _pipeline_id_by_image_tracker_id: Map<number, number>;
22
25
  _image_tracker_by_instance: Map<number, zappar_image_tracker_t>;
23
26
  _pipeline_id_by_face_tracker_id: Map<number, number>;
@@ -13,6 +13,8 @@ class zappar_server {
13
13
  this._pipeline_by_instance = new Map();
14
14
  this._pipeline_id_by_camera_source_id = new Map();
15
15
  this._camera_source_by_instance = new Map();
16
+ this._pipeline_id_by_sequence_source_id = new Map();
17
+ this._sequence_source_by_instance = new Map();
16
18
  this._pipeline_id_by_image_tracker_id = new Map();
17
19
  this._image_tracker_by_instance = new Map();
18
20
  this._pipeline_id_by_face_tracker_id = new Map();
@@ -30,15 +32,15 @@ class zappar_server {
30
32
  this._deserializer.setData(b);
31
33
  this._deserializer.forMessages((messageId, msg) => {
32
34
  switch (messageId) {
33
- case 33: {
35
+ case 34: {
34
36
  this._impl.log_level_set(msg.logLevel());
35
37
  break;
36
38
  }
37
- case 30: {
39
+ case 31: {
38
40
  this._impl.analytics_project_id_set(msg.string());
39
41
  break;
40
42
  }
41
- case 26: {
43
+ case 27: {
42
44
  let clientId = msg.type();
43
45
  let handle = this._impl.pipeline_create();
44
46
  this._pipeline_by_instance.set(clientId, handle);
@@ -48,7 +50,7 @@ class zappar_server {
48
50
  }));
49
51
  break;
50
52
  }
51
- case 27: {
53
+ case 28: {
52
54
  let clientId = msg.type();
53
55
  let obj = this._pipeline_by_instance.get(clientId);
54
56
  if (obj === undefined)
@@ -70,7 +72,7 @@ class zappar_server {
70
72
  let obj = this._pipeline_by_instance.get(clientId);
71
73
  if (obj === undefined)
72
74
  return;
73
- this._impl.pipeline_camera_frame_submit(obj, msg.dataWithLength(), msg.int(), msg.int(), msg.int(), msg.matrix4x4());
75
+ this._impl.pipeline_camera_frame_submit(obj, msg.dataWithLength(), msg.int(), msg.int(), msg.int(), msg.matrix4x4(), msg.cameraModel(), msg.bool());
74
76
  break;
75
77
  }
76
78
  case 10: {
@@ -97,7 +99,15 @@ class zappar_server {
97
99
  this._impl.pipeline_motion_attitude_submit(obj, msg.timestamp(), msg.float(), msg.float(), msg.float());
98
100
  break;
99
101
  }
100
- case 28: {
102
+ case 13: {
103
+ let clientId = msg.type();
104
+ let obj = this._pipeline_by_instance.get(clientId);
105
+ if (obj === undefined)
106
+ return;
107
+ this._impl.pipeline_motion_attitude_matrix_submit(obj, msg.matrix4x4());
108
+ break;
109
+ }
110
+ case 29: {
101
111
  let clientId = msg.type();
102
112
  let arg_pipeline_id = msg.type();
103
113
  let arg_pipeline = this._pipeline_by_instance.get(arg_pipeline_id);
@@ -107,7 +117,7 @@ class zappar_server {
107
117
  this._pipeline_id_by_camera_source_id.set(clientId, arg_pipeline_id);
108
118
  break;
109
119
  }
110
- case 29: {
120
+ case 30: {
111
121
  let clientId = msg.type();
112
122
  let obj = this._camera_source_by_instance.get(clientId);
113
123
  if (obj === undefined)
@@ -116,6 +126,24 @@ class zappar_server {
116
126
  this._camera_source_by_instance.delete(clientId);
117
127
  break;
118
128
  }
129
+ case 35: {
130
+ let clientId = msg.type();
131
+ let arg_pipeline_id = msg.type();
132
+ let arg_pipeline = this._pipeline_by_instance.get(arg_pipeline_id);
133
+ let handle = this._impl.sequence_source_create(arg_pipeline);
134
+ this._sequence_source_by_instance.set(clientId, handle);
135
+ this._pipeline_id_by_sequence_source_id.set(clientId, arg_pipeline_id);
136
+ break;
137
+ }
138
+ case 36: {
139
+ let clientId = msg.type();
140
+ let obj = this._sequence_source_by_instance.get(clientId);
141
+ if (obj === undefined)
142
+ return;
143
+ this._impl.sequence_source_destroy(obj);
144
+ this._sequence_source_by_instance.delete(clientId);
145
+ break;
146
+ }
119
147
  case 2: {
120
148
  let clientId = msg.type();
121
149
  let arg_pipeline_id = msg.type();
@@ -125,7 +153,7 @@ class zappar_server {
125
153
  this._pipeline_id_by_image_tracker_id.set(clientId, arg_pipeline_id);
126
154
  break;
127
155
  }
128
- case 13: {
156
+ case 14: {
129
157
  let clientId = msg.type();
130
158
  let obj = this._image_tracker_by_instance.get(clientId);
131
159
  if (obj === undefined)
@@ -150,7 +178,7 @@ class zappar_server {
150
178
  this._impl.image_tracker_enabled_set(obj, msg.bool());
151
179
  break;
152
180
  }
153
- case 19: {
181
+ case 20: {
154
182
  let clientId = msg.type();
155
183
  let arg_pipeline_id = msg.type();
156
184
  let arg_pipeline = this._pipeline_by_instance.get(arg_pipeline_id);
@@ -159,7 +187,7 @@ class zappar_server {
159
187
  this._pipeline_id_by_face_tracker_id.set(clientId, arg_pipeline_id);
160
188
  break;
161
189
  }
162
- case 20: {
190
+ case 21: {
163
191
  let clientId = msg.type();
164
192
  let obj = this._face_tracker_by_instance.get(clientId);
165
193
  if (obj === undefined)
@@ -168,7 +196,7 @@ class zappar_server {
168
196
  this._face_tracker_by_instance.delete(clientId);
169
197
  break;
170
198
  }
171
- case 21: {
199
+ case 22: {
172
200
  let clientId = msg.type();
173
201
  let obj = this._face_tracker_by_instance.get(clientId);
174
202
  if (obj === undefined)
@@ -176,7 +204,7 @@ class zappar_server {
176
204
  this._impl.face_tracker_model_load_from_memory(obj, msg.dataWithLength());
177
205
  break;
178
206
  }
179
- case 22: {
207
+ case 23: {
180
208
  let clientId = msg.type();
181
209
  let obj = this._face_tracker_by_instance.get(clientId);
182
210
  if (obj === undefined)
@@ -184,7 +212,7 @@ class zappar_server {
184
212
  this._impl.face_tracker_enabled_set(obj, msg.bool());
185
213
  break;
186
214
  }
187
- case 23: {
215
+ case 24: {
188
216
  let clientId = msg.type();
189
217
  let obj = this._face_tracker_by_instance.get(clientId);
190
218
  if (obj === undefined)
@@ -192,13 +220,13 @@ class zappar_server {
192
220
  this._impl.face_tracker_max_faces_set(obj, msg.int());
193
221
  break;
194
222
  }
195
- case 24: {
223
+ case 25: {
196
224
  let clientId = msg.type();
197
225
  let handle = this._impl.face_mesh_create();
198
226
  this._face_mesh_by_instance.set(clientId, handle);
199
227
  break;
200
228
  }
201
- case 25: {
229
+ case 26: {
202
230
  let clientId = msg.type();
203
231
  let obj = this._face_mesh_by_instance.get(clientId);
204
232
  if (obj === undefined)
@@ -207,14 +235,14 @@ class zappar_server {
207
235
  this._face_mesh_by_instance.delete(clientId);
208
236
  break;
209
237
  }
210
- case 31: {
238
+ case 32: {
211
239
  let clientId = msg.type();
212
240
  let arg_landmark = msg.faceLandmarkName();
213
241
  let handle = this._impl.face_landmark_create(arg_landmark);
214
242
  this._face_landmark_by_instance.set(clientId, handle);
215
243
  break;
216
244
  }
217
- case 32: {
245
+ case 33: {
218
246
  let clientId = msg.type();
219
247
  let obj = this._face_landmark_by_instance.get(clientId);
220
248
  if (obj === undefined)
@@ -223,7 +251,7 @@ class zappar_server {
223
251
  this._face_landmark_by_instance.delete(clientId);
224
252
  break;
225
253
  }
226
- case 15: {
254
+ case 16: {
227
255
  let clientId = msg.type();
228
256
  let arg_pipeline_id = msg.type();
229
257
  let arg_pipeline = this._pipeline_by_instance.get(arg_pipeline_id);
@@ -232,7 +260,7 @@ class zappar_server {
232
260
  this._pipeline_id_by_barcode_finder_id.set(clientId, arg_pipeline_id);
233
261
  break;
234
262
  }
235
- case 16: {
263
+ case 17: {
236
264
  let clientId = msg.type();
237
265
  let obj = this._barcode_finder_by_instance.get(clientId);
238
266
  if (obj === undefined)
@@ -241,7 +269,7 @@ class zappar_server {
241
269
  this._barcode_finder_by_instance.delete(clientId);
242
270
  break;
243
271
  }
244
- case 17: {
272
+ case 18: {
245
273
  let clientId = msg.type();
246
274
  let obj = this._barcode_finder_by_instance.get(clientId);
247
275
  if (obj === undefined)
@@ -249,7 +277,7 @@ class zappar_server {
249
277
  this._impl.barcode_finder_enabled_set(obj, msg.bool());
250
278
  break;
251
279
  }
252
- case 18: {
280
+ case 19: {
253
281
  let clientId = msg.type();
254
282
  let obj = this._barcode_finder_by_instance.get(clientId);
255
283
  if (obj === undefined)
@@ -266,7 +294,7 @@ class zappar_server {
266
294
  this._pipeline_id_by_instant_world_tracker_id.set(clientId, arg_pipeline_id);
267
295
  break;
268
296
  }
269
- case 14: {
297
+ case 15: {
270
298
  let clientId = msg.type();
271
299
  let obj = this._instant_world_tracker_by_instance.get(clientId);
272
300
  if (obj === undefined)
@@ -288,7 +316,7 @@ class zappar_server {
288
316
  let obj = this._instant_world_tracker_by_instance.get(clientId);
289
317
  if (obj === undefined)
290
318
  return;
291
- this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset(obj, msg.float(), msg.float(), msg.float(), msg.instantTrackerTransformOrientation());
319
+ this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(obj, msg.float(), msg.float(), msg.float(), msg.instantTrackerTransformOrientation());
292
320
  break;
293
321
  }
294
322
  }
@@ -318,6 +346,10 @@ class zappar_server {
318
346
  msg.type(k);
319
347
  msg.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(v));
320
348
  });
349
+ serializer.sendMessage(12, msg => {
350
+ msg.type(k);
351
+ msg.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(v));
352
+ });
321
353
  }
322
354
  for (let [k, v] of this._camera_source_by_instance) {
323
355
  let pipeline = this._pipeline_id_by_camera_source_id.get(k);
@@ -327,6 +359,14 @@ class zappar_server {
327
359
  if (!serializer)
328
360
  continue;
329
361
  }
362
+ for (let [k, v] of this._sequence_source_by_instance) {
363
+ let pipeline = this._pipeline_id_by_sequence_source_id.get(k);
364
+ if (!pipeline)
365
+ continue;
366
+ let serializer = this.serializersByPipelineId.get(pipeline);
367
+ if (!serializer)
368
+ continue;
369
+ }
330
370
  for (let [k, v] of this._image_tracker_by_instance) {
331
371
  let pipeline = this._pipeline_id_by_image_tracker_id.get(k);
332
372
  if (!pipeline)
@@ -334,14 +374,10 @@ class zappar_server {
334
374
  let serializer = this.serializersByPipelineId.get(pipeline);
335
375
  if (!serializer)
336
376
  continue;
337
- serializer.sendMessage(18, msg => {
377
+ serializer.sendMessage(19, msg => {
338
378
  msg.type(k);
339
379
  msg.int(this._impl.image_tracker_target_loaded_version(v));
340
380
  });
341
- serializer.sendMessage(20, msg => {
342
- msg.type(k);
343
- msg.int(this._impl.image_tracker_target_count(v));
344
- });
345
381
  serializer.sendMessage(1, msg => {
346
382
  msg.type(k);
347
383
  msg.int(this._impl.image_tracker_anchor_count(v));
@@ -368,37 +404,37 @@ class zappar_server {
368
404
  let serializer = this.serializersByPipelineId.get(pipeline);
369
405
  if (!serializer)
370
406
  continue;
371
- serializer.sendMessage(17, msg => {
407
+ serializer.sendMessage(18, msg => {
372
408
  msg.type(k);
373
409
  msg.int(this._impl.face_tracker_model_loaded_version(v));
374
410
  });
375
- serializer.sendMessage(12, msg => {
411
+ serializer.sendMessage(13, msg => {
376
412
  msg.type(k);
377
413
  msg.int(this._impl.face_tracker_anchor_count(v));
378
414
  });
379
415
  for (let i = 0; i < this._impl.face_tracker_anchor_count(v); i++) {
380
- serializer.sendMessage(13, msg => {
416
+ serializer.sendMessage(14, msg => {
381
417
  msg.type(k);
382
418
  msg.int(i);
383
419
  msg.string(this._impl.face_tracker_anchor_id(v, i));
384
420
  });
385
421
  }
386
422
  for (let i = 0; i < this._impl.face_tracker_anchor_count(v); i++) {
387
- serializer.sendMessage(14, msg => {
423
+ serializer.sendMessage(15, msg => {
388
424
  msg.type(k);
389
425
  msg.int(i);
390
426
  msg.matrix4x4(this._impl.face_tracker_anchor_pose_raw(v, i));
391
427
  });
392
428
  }
393
429
  for (let i = 0; i < this._impl.face_tracker_anchor_count(v); i++) {
394
- serializer.sendMessage(15, msg => {
430
+ serializer.sendMessage(16, msg => {
395
431
  msg.type(k);
396
432
  msg.int(i);
397
433
  msg.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(v, i));
398
434
  });
399
435
  }
400
436
  for (let i = 0; i < this._impl.face_tracker_anchor_count(v); i++) {
401
- serializer.sendMessage(16, msg => {
437
+ serializer.sendMessage(17, msg => {
402
438
  msg.type(k);
403
439
  msg.int(i);
404
440
  msg.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(v, i));