@zappar/zappar-cv 3.0.1-beta.0 → 3.0.1-beta.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 CHANGED
@@ -18,8 +18,8 @@ npm i @zappar/zappar-cv
18
18
 
19
19
  You can use our CDN from within your HTML:
20
20
  ```
21
- <script src="https://libs.zappar.com/zappar-cv/3.0.1-beta.0/zappar-cv.js"></script>
21
+ <script src="https://libs.zappar.com/zappar-cv/3.0.1-beta.3/zappar-cv.js"></script>
22
22
  ```
23
23
 
24
24
  Or you can download and host our standalone JavaScript bundle:
25
- [https://libs.zappar.com/zappar-cv/3.0.1-beta.0/zappar-cv.zip](https://libs.zappar.com/zappar-cv/3.0.1-beta.0/zappar-cv.zip)
25
+ [https://libs.zappar.com/zappar-cv/3.0.1-beta.3/zappar-cv.zip](https://libs.zappar.com/zappar-cv/3.0.1-beta.3/zappar-cv.zip)
@@ -3,6 +3,18 @@ import { zappar_face_mesh_t, zappar_face_tracker_t, zappar_world_tracker_t, zapp
3
3
  export declare type zappar_html_element_source_t = number & {
4
4
  _: 'zappar_html_element_source_t';
5
5
  };
6
+ export interface PermissionRequestUIOptions {
7
+ title?: string;
8
+ description?: string;
9
+ button?: string;
10
+ }
11
+ export interface PermissionDeniedUIOptions {
12
+ title?: string;
13
+ descriptionIOS?: string;
14
+ descriptionChrome?: string;
15
+ description?: string;
16
+ button?: string;
17
+ }
6
18
  export interface Additional {
7
19
  pipeline_gl_context_set(pipeline: zappar_pipeline_t, gl: WebGLRenderingContext, texturePool?: WebGLTexture[]): void;
8
20
  pipeline_gl_context_lost(pipeline: zappar_pipeline_t): void;
@@ -11,8 +23,6 @@ export interface Additional {
11
23
  pipeline_draw_face_project(pipeline: zappar_pipeline_t, drawwMatrix: Float32Array, vertices: Float32Array, uvMatrix: Float32Array, uvs: Float32Array, indices: Uint16Array, texture: WebGLTexture): void;
12
24
  pipeline_camera_frame_data_raw_enabled_set(pipeline: zappar_pipeline_t, enabled: boolean): void;
13
25
  pipeline_camera_frame_data_raw(pipeline: zappar_pipeline_t): Promise<CameraFrameData | undefined>;
14
- pipeline_camera_frame_data_width(pipeline: zappar_pipeline_t): number;
15
- pipeline_camera_frame_data_height(pipeline: zappar_pipeline_t): number;
16
26
  draw_plane(gl: WebGLRenderingContext, projectionMatrix: Float32Array, cameraMatrix: Float32Array, targetMatrix: Float32Array, texture: string): void;
17
27
  draw_grid(gl: WebGLRenderingContext, projectionMatrix: Float32Array, cameraMatrix: Float32Array, targetMatrix: Float32Array): void;
18
28
  draw_axis(gl: WebGLRenderingContext, projectionMatrix: Float32Array, cameraMatrix: Float32Array, targetMatrix: Float32Array): void;
@@ -22,7 +32,8 @@ export interface Additional {
22
32
  face_mesh_load_default_full_head_simplified(o: zappar_face_mesh_t, fillMouth: boolean, fillEyeL: boolean, fillEyeR: boolean, fillNeck: boolean): Promise<void>;
23
33
  face_tracker_model_load_default(o: zappar_face_tracker_t): Promise<void>;
24
34
  pipeline_camera_frame_draw_gl(pipeline: zappar_pipeline_t, screenWidth: number, screenHeight: number, mirror?: boolean): void;
25
- permission_request_ui_promise(): Promise<boolean>;
35
+ permission_request_ui_promise(options?: PermissionRequestUIOptions): Promise<boolean>;
36
+ permission_denied_ui(options?: PermissionDeniedUIOptions): void;
26
37
  html_element_source_create(pipeline: zappar_pipeline_t, element: HTMLVideoElement | HTMLImageElement): zappar_html_element_source_t;
27
38
  html_element_source_start(o: zappar_html_element_source_t): void;
28
39
  html_element_source_pause(o: zappar_html_element_source_t): void;
@@ -1,2 +1,2 @@
1
- export declare function projectionMatrix(params: Float32Array, screenWidth: number, screenHeight: number, near?: number, far?: number): Float32Array;
1
+ export declare function projectionMatrixFromModelAndSize(params: Float32Array, cameraDataWidth: number, cameraDataHeight: number, screenWidth: number, screenHeight: number, near?: number, far?: number): Float32Array;
2
2
  export declare function cameraRotationForScreenOrientation(isUserFacing: boolean): number;
@@ -1,8 +1,8 @@
1
1
  import { mat4, vec3 } from "gl-matrix";
2
2
  import { profile } from "./profile";
3
- export function projectionMatrix(params, screenWidth, screenHeight, near = 0.01, far = 100.0) {
4
- let cam_x = params[2] * 2;
5
- let cam_y = params[3] * 2;
3
+ export function projectionMatrixFromModelAndSize(params, cameraDataWidth, cameraDataHeight, screenWidth, screenHeight, near = 0.01, far = 100.0) {
4
+ let cam_x = cameraDataWidth;
5
+ let cam_y = cameraDataHeight;
6
6
  let projection = mat4.create();
7
7
  mat4.frustum(projection, near * (-0.5 - params[2]) / params[0], near * (cam_x - 0.5 - params[2]) / params[0], near * (cam_y - 0.5 - params[3]) / params[1], near * (-0.5 - params[3]) / params[1], near, far);
8
8
  // Flip camera y axis (before any other transformations) - converts from
@@ -3,7 +3,7 @@ export declare class PointsWithTypeDraw {
3
3
  private _vbo;
4
4
  private _typebo;
5
5
  private _shader;
6
- constructor(_gl: WebGL2RenderingContext);
6
+ constructor(_gl: WebGLRenderingContext);
7
7
  dispose(): void;
8
8
  private _generate;
9
9
  private _generateTypes;
@@ -64,7 +64,7 @@ export class PointsWithTypeDraw {
64
64
  gl.vertexAttribPointer(shader.attr_position, 2, gl.FLOAT, false, 0, 0);
65
65
  gl.enableVertexAttribArray(shader.attr_position);
66
66
  gl.bindBuffer(gl.ARRAY_BUFFER, typebo);
67
- gl.vertexAttribIPointer(shader.attr_type, 1, gl.UNSIGNED_BYTE, 0, 0);
67
+ gl.vertexAttribPointer(shader.attr_type, 1, gl.UNSIGNED_BYTE, false, 0, 0);
68
68
  gl.enableVertexAttribArray(shader.attr_type);
69
69
  gl.drawArrays(gl.POINTS, 0, points.length / 2);
70
70
  gl.disableVertexAttribArray(shader.attr_type);
@@ -112,37 +112,35 @@ export class PointsWithTypeDraw {
112
112
  return this._shader;
113
113
  }
114
114
  }
115
- let vertexShaderSrc = `#version 300 es
116
-
117
- in vec2 pos;
118
- in uint aType;
115
+ let vertexShaderSrc = `
116
+ attribute vec2 pos;
117
+ attribute float aType;
119
118
  uniform mat4 skinTexTransform;
120
119
  uniform float pointSize;
121
120
 
122
- out vec4 vColor;
121
+ varying vec4 vColor;
123
122
 
124
123
  void main()
125
124
  {
126
125
  gl_Position = skinTexTransform * vec4(pos, 0.0, 1.0);
127
126
  vColor = vec4(1.0, 0.0, 0.0, 1.0);
128
- if (aType == 1u) {
127
+ if (aType == 1.0) {
129
128
  vColor = vec4(1.0, 0.7, 0.0, 1.0);
130
- } else if (aType >= 4u) {
129
+ } else if (aType >= 4.0) {
131
130
  vColor = vec4(0.0, 0.0, 1.0, 1.0);
132
- } else if (aType > 1u) {
131
+ } else if (aType > 1.0) {
133
132
  vColor = vec4(0.0, 1.0, 0.0, 1.0);
134
133
  }
135
134
  gl_PointSize = pointSize;
136
135
  }`;
137
- let fragmentShaderSrc = `#version 300 es
136
+ let fragmentShaderSrc = `
138
137
  precision highp float;
139
138
 
140
- in vec4 vColor;
141
- out vec4 outColor;
139
+ varying vec4 vColor;
142
140
 
143
141
  void main()
144
142
  {
145
- outColor = vColor;
143
+ gl_FragColor = vColor;
146
144
  }`;
147
145
  function cameraRotationForScreenOrientation() {
148
146
  if (window.screen.orientation && !profile.forceWindowOrientation) {
@@ -61,6 +61,8 @@ export interface zappar {
61
61
  pipeline_frame_update(o: zappar_pipeline_t): void;
62
62
  pipeline_frame_number(o: zappar_pipeline_t): number;
63
63
  pipeline_camera_model(o: zappar_pipeline_t): Float32Array;
64
+ pipeline_camera_data_width(o: zappar_pipeline_t): number;
65
+ pipeline_camera_data_height(o: zappar_pipeline_t): number;
64
66
  pipeline_camera_frame_user_data(o: zappar_pipeline_t): number;
65
67
  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, timestampSeconds: number): void;
66
68
  pipeline_camera_frame_camera_attitude(o: zappar_pipeline_t): Float32Array;
@@ -164,9 +166,10 @@ export interface zappar {
164
166
  custom_anchor_create(pipeline: zappar_pipeline_t, worldtracker: zappar_world_tracker_t, id: string): zappar_custom_anchor_t;
165
167
  custom_anchor_destroy(o: zappar_custom_anchor_t): void;
166
168
  custom_anchor_status(o: zappar_custom_anchor_t): anchor_status_t;
167
- custom_anchor_enabled_set(o: zappar_custom_anchor_t, enabled: boolean): void;
168
- custom_anchor_enabled(o: zappar_custom_anchor_t): boolean;
169
+ custom_anchor_pose_version(o: zappar_custom_anchor_t): number;
169
170
  custom_anchor_pose_raw(o: zappar_custom_anchor_t): Float32Array;
170
171
  custom_anchor_pose_set_from_camera_offset_raw(o: zappar_custom_anchor_t, x: number, y: number, z: number, orientation: transform_orientation_t): void;
171
172
  custom_anchor_pose_set_from_anchor_offset(o: zappar_custom_anchor_t, anchor_id: string, x: number, y: number, z: number, orientation: transform_orientation_t): void;
173
+ custom_anchor_pose_set(o: zappar_custom_anchor_t, pose: Float32Array): void;
174
+ custom_anchor_pose_set_with_parent(o: zappar_custom_anchor_t, pose: Float32Array, anchor_id: string): void;
172
175
  }
@@ -44,6 +44,8 @@ export class zappar_client {
44
44
  let s = {
45
45
  current_frame_user_data: 0,
46
46
  camera_model: new Float32Array([300, 300, 160, 120, 0, 0]),
47
+ camera_data_width: 320,
48
+ camera_data_height: 240,
47
49
  camera_pose: new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
48
50
  camera_frame_camera_attitude: new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
49
51
  camera_frame_device_attitude: new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
@@ -84,6 +86,18 @@ export class zappar_client {
84
86
  throw new Error("This object has been destroyed");
85
87
  return s.camera_model;
86
88
  },
89
+ pipeline_camera_data_width: (o) => {
90
+ let s = this._pipeline_state_by_instance.get(o);
91
+ if (!s)
92
+ throw new Error("This object has been destroyed");
93
+ return s.camera_data_width;
94
+ },
95
+ pipeline_camera_data_height: (o) => {
96
+ let s = this._pipeline_state_by_instance.get(o);
97
+ if (!s)
98
+ throw new Error("This object has been destroyed");
99
+ return s.camera_data_height;
100
+ },
87
101
  pipeline_camera_frame_user_data: (o) => {
88
102
  let s = this._pipeline_state_by_instance.get(o);
89
103
  if (!s)
@@ -937,9 +951,9 @@ export class zappar_client {
937
951
  custom_anchor_create: (pipeline, worldtracker, id) => {
938
952
  let newId = (this._latestId++);
939
953
  let s = {
940
- enabled: true,
941
954
  pose: new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
942
- status: 0,
955
+ status: 3,
956
+ pose_version: 0,
943
957
  };
944
958
  this._custom_anchor_state_by_instance.set(newId, s);
945
959
  this.serializer.sendMessage(53, m => {
@@ -965,20 +979,11 @@ export class zappar_client {
965
979
  throw new Error("This object has been destroyed");
966
980
  return s.status;
967
981
  },
968
- custom_anchor_enabled_set: (o, enabled) => {
969
- let s = this._custom_anchor_state_by_instance.get(o);
970
- if (!s)
971
- throw new Error("This object has been destroyed");
972
- this.serializer.sendMessage(55, m => {
973
- m.type(o);
974
- m.bool(enabled);
975
- });
976
- },
977
- custom_anchor_enabled: (o) => {
982
+ custom_anchor_pose_version: (o) => {
978
983
  let s = this._custom_anchor_state_by_instance.get(o);
979
984
  if (!s)
980
985
  throw new Error("This object has been destroyed");
981
- return s.enabled;
986
+ return s.pose_version;
982
987
  },
983
988
  custom_anchor_pose_raw: (o) => {
984
989
  let s = this._custom_anchor_state_by_instance.get(o);
@@ -990,7 +995,7 @@ export class zappar_client {
990
995
  let s = this._custom_anchor_state_by_instance.get(o);
991
996
  if (!s)
992
997
  throw new Error("This object has been destroyed");
993
- this.serializer.sendMessage(56, m => {
998
+ this.serializer.sendMessage(55, m => {
994
999
  m.type(o);
995
1000
  m.float(x);
996
1001
  m.float(y);
@@ -1002,7 +1007,7 @@ export class zappar_client {
1002
1007
  let s = this._custom_anchor_state_by_instance.get(o);
1003
1008
  if (!s)
1004
1009
  throw new Error("This object has been destroyed");
1005
- this.serializer.sendMessage(57, m => {
1010
+ this.serializer.sendMessage(56, m => {
1006
1011
  m.type(o);
1007
1012
  m.string(anchor_id);
1008
1013
  m.float(x);
@@ -1011,13 +1016,32 @@ export class zappar_client {
1011
1016
  m.transformOrientation(orientation);
1012
1017
  });
1013
1018
  },
1019
+ custom_anchor_pose_set: (o, pose) => {
1020
+ let s = this._custom_anchor_state_by_instance.get(o);
1021
+ if (!s)
1022
+ throw new Error("This object has been destroyed");
1023
+ this.serializer.sendMessage(57, m => {
1024
+ m.type(o);
1025
+ m.matrix4x4(pose);
1026
+ });
1027
+ },
1028
+ custom_anchor_pose_set_with_parent: (o, pose, anchor_id) => {
1029
+ let s = this._custom_anchor_state_by_instance.get(o);
1030
+ if (!s)
1031
+ throw new Error("This object has been destroyed");
1032
+ this.serializer.sendMessage(58, m => {
1033
+ m.type(o);
1034
+ m.matrix4x4(pose);
1035
+ m.string(anchor_id);
1036
+ });
1037
+ },
1014
1038
  };
1015
1039
  }
1016
1040
  processMessages(a) {
1017
1041
  this.deserializer.setData(a);
1018
1042
  this.deserializer.forMessages((messageId, msg) => {
1019
1043
  switch (messageId) {
1020
- case 7: {
1044
+ case 9: {
1021
1045
  let handle = msg.type();
1022
1046
  let inst = this._pipeline_state_by_instance.get(handle);
1023
1047
  if (!inst)
@@ -1033,6 +1057,22 @@ export class zappar_client {
1033
1057
  inst.camera_model = msg.cameraModel();
1034
1058
  break;
1035
1059
  }
1060
+ case 7: {
1061
+ let handle = msg.type();
1062
+ let inst = this._pipeline_state_by_instance.get(handle);
1063
+ if (!inst)
1064
+ return;
1065
+ inst.camera_data_width = msg.int();
1066
+ break;
1067
+ }
1068
+ case 8: {
1069
+ let handle = msg.type();
1070
+ let inst = this._pipeline_state_by_instance.get(handle);
1071
+ if (!inst)
1072
+ return;
1073
+ inst.camera_data_height = msg.int();
1074
+ break;
1075
+ }
1036
1076
  case 5: {
1037
1077
  let handle = msg.type();
1038
1078
  let inst = this._pipeline_state_by_instance.get(handle);
@@ -1041,7 +1081,7 @@ export class zappar_client {
1041
1081
  inst.current_frame_user_data = msg.int();
1042
1082
  break;
1043
1083
  }
1044
- case 11: {
1084
+ case 13: {
1045
1085
  let handle = msg.type();
1046
1086
  let inst = this._pipeline_state_by_instance.get(handle);
1047
1087
  if (!inst)
@@ -1049,7 +1089,7 @@ export class zappar_client {
1049
1089
  inst.camera_frame_camera_attitude = msg.matrix4x4();
1050
1090
  break;
1051
1091
  }
1052
- case 12: {
1092
+ case 14: {
1053
1093
  let handle = msg.type();
1054
1094
  let inst = this._pipeline_state_by_instance.get(handle);
1055
1095
  if (!inst)
@@ -1057,7 +1097,7 @@ export class zappar_client {
1057
1097
  inst.camera_frame_device_attitude = msg.matrix4x4();
1058
1098
  break;
1059
1099
  }
1060
- case 19: {
1100
+ case 21: {
1061
1101
  let handle = msg.type();
1062
1102
  let inst = this._image_tracker_state_by_instance.get(handle);
1063
1103
  if (!inst)
@@ -1091,7 +1131,7 @@ export class zappar_client {
1091
1131
  inst.anchor_pose[indx] = msg.matrix4x4();
1092
1132
  break;
1093
1133
  }
1094
- case 18: {
1134
+ case 20: {
1095
1135
  let handle = msg.type();
1096
1136
  let inst = this._face_tracker_state_by_instance.get(handle);
1097
1137
  if (!inst)
@@ -1099,7 +1139,7 @@ export class zappar_client {
1099
1139
  inst.model_loaded = msg.int();
1100
1140
  break;
1101
1141
  }
1102
- case 13: {
1142
+ case 15: {
1103
1143
  let handle = msg.type();
1104
1144
  let inst = this._face_tracker_state_by_instance.get(handle);
1105
1145
  if (!inst)
@@ -1107,7 +1147,7 @@ export class zappar_client {
1107
1147
  inst.anchor_count = msg.int();
1108
1148
  break;
1109
1149
  }
1110
- case 14: {
1150
+ case 16: {
1111
1151
  let handle = msg.type();
1112
1152
  let inst = this._face_tracker_state_by_instance.get(handle);
1113
1153
  if (!inst)
@@ -1116,7 +1156,7 @@ export class zappar_client {
1116
1156
  inst.anchor_id[indx] = msg.string();
1117
1157
  break;
1118
1158
  }
1119
- case 15: {
1159
+ case 17: {
1120
1160
  let handle = msg.type();
1121
1161
  let inst = this._face_tracker_state_by_instance.get(handle);
1122
1162
  if (!inst)
@@ -1125,7 +1165,7 @@ export class zappar_client {
1125
1165
  inst.anchor_pose[indx] = msg.matrix4x4();
1126
1166
  break;
1127
1167
  }
1128
- case 16: {
1168
+ case 18: {
1129
1169
  let handle = msg.type();
1130
1170
  let inst = this._face_tracker_state_by_instance.get(handle);
1131
1171
  if (!inst)
@@ -1134,7 +1174,7 @@ export class zappar_client {
1134
1174
  inst.anchor_identity_coefficients[indx] = msg.identityCoefficients();
1135
1175
  break;
1136
1176
  }
1137
- case 17: {
1177
+ case 19: {
1138
1178
  let handle = msg.type();
1139
1179
  let inst = this._face_tracker_state_by_instance.get(handle);
1140
1180
  if (!inst)
@@ -1143,7 +1183,7 @@ export class zappar_client {
1143
1183
  inst.anchor_expression_coefficients[indx] = msg.expressionCoefficients();
1144
1184
  break;
1145
1185
  }
1146
- case 8: {
1186
+ case 10: {
1147
1187
  let handle = msg.type();
1148
1188
  let inst = this._barcode_finder_state_by_instance.get(handle);
1149
1189
  if (!inst)
@@ -1151,7 +1191,7 @@ export class zappar_client {
1151
1191
  inst.number_found = msg.int();
1152
1192
  break;
1153
1193
  }
1154
- case 9: {
1194
+ case 11: {
1155
1195
  let handle = msg.type();
1156
1196
  let inst = this._barcode_finder_state_by_instance.get(handle);
1157
1197
  if (!inst)
@@ -1160,7 +1200,7 @@ export class zappar_client {
1160
1200
  inst.found_text[indx] = msg.string();
1161
1201
  break;
1162
1202
  }
1163
- case 10: {
1203
+ case 12: {
1164
1204
  let handle = msg.type();
1165
1205
  let inst = this._barcode_finder_state_by_instance.get(handle);
1166
1206
  if (!inst)
@@ -1177,7 +1217,7 @@ export class zappar_client {
1177
1217
  inst.pose = msg.matrix4x4();
1178
1218
  break;
1179
1219
  }
1180
- case 24: {
1220
+ case 26: {
1181
1221
  let handle = msg.type();
1182
1222
  let inst = this._zapcode_tracker_state_by_instance.get(handle);
1183
1223
  if (!inst)
@@ -1185,7 +1225,7 @@ export class zappar_client {
1185
1225
  inst.target_loaded_version = msg.int();
1186
1226
  break;
1187
1227
  }
1188
- case 21: {
1228
+ case 23: {
1189
1229
  let handle = msg.type();
1190
1230
  let inst = this._zapcode_tracker_state_by_instance.get(handle);
1191
1231
  if (!inst)
@@ -1193,7 +1233,7 @@ export class zappar_client {
1193
1233
  inst.anchor_count = msg.int();
1194
1234
  break;
1195
1235
  }
1196
- case 22: {
1236
+ case 24: {
1197
1237
  let handle = msg.type();
1198
1238
  let inst = this._zapcode_tracker_state_by_instance.get(handle);
1199
1239
  if (!inst)
@@ -1202,7 +1242,7 @@ export class zappar_client {
1202
1242
  inst.anchor_id[indx] = msg.string();
1203
1243
  break;
1204
1244
  }
1205
- case 23: {
1245
+ case 25: {
1206
1246
  let handle = msg.type();
1207
1247
  let inst = this._zapcode_tracker_state_by_instance.get(handle);
1208
1248
  if (!inst)
@@ -1211,7 +1251,7 @@ export class zappar_client {
1211
1251
  inst.anchor_pose[indx] = msg.matrix4x4();
1212
1252
  break;
1213
1253
  }
1214
- case 40: {
1254
+ case 42: {
1215
1255
  let handle = msg.type();
1216
1256
  let inst = this._world_tracker_state_by_instance.get(handle);
1217
1257
  if (!inst)
@@ -1219,7 +1259,7 @@ export class zappar_client {
1219
1259
  inst.quality = msg.int();
1220
1260
  break;
1221
1261
  }
1222
- case 25: {
1262
+ case 27: {
1223
1263
  let handle = msg.type();
1224
1264
  let inst = this._world_tracker_state_by_instance.get(handle);
1225
1265
  if (!inst)
@@ -1227,7 +1267,7 @@ export class zappar_client {
1227
1267
  inst.plane_anchor_count = msg.int();
1228
1268
  break;
1229
1269
  }
1230
- case 33: {
1270
+ case 35: {
1231
1271
  let handle = msg.type();
1232
1272
  let inst = this._world_tracker_state_by_instance.get(handle);
1233
1273
  if (!inst)
@@ -1236,7 +1276,7 @@ export class zappar_client {
1236
1276
  inst.plane_anchor_id[indx] = msg.string();
1237
1277
  break;
1238
1278
  }
1239
- case 26: {
1279
+ case 28: {
1240
1280
  let handle = msg.type();
1241
1281
  let inst = this._world_tracker_state_by_instance.get(handle);
1242
1282
  if (!inst)
@@ -1245,7 +1285,7 @@ export class zappar_client {
1245
1285
  inst.plane_anchor_pose[indx] = msg.matrix4x4();
1246
1286
  break;
1247
1287
  }
1248
- case 28: {
1288
+ case 30: {
1249
1289
  let handle = msg.type();
1250
1290
  let inst = this._world_tracker_state_by_instance.get(handle);
1251
1291
  if (!inst)
@@ -1254,7 +1294,7 @@ export class zappar_client {
1254
1294
  inst.plane_anchor_status[indx] = msg.anchorStatus();
1255
1295
  break;
1256
1296
  }
1257
- case 29: {
1297
+ case 31: {
1258
1298
  let handle = msg.type();
1259
1299
  let inst = this._world_tracker_state_by_instance.get(handle);
1260
1300
  if (!inst)
@@ -1263,7 +1303,7 @@ export class zappar_client {
1263
1303
  inst.plane_anchor_polygon_data_size[indx] = msg.int();
1264
1304
  break;
1265
1305
  }
1266
- case 30: {
1306
+ case 32: {
1267
1307
  let handle = msg.type();
1268
1308
  let inst = this._world_tracker_state_by_instance.get(handle);
1269
1309
  if (!inst)
@@ -1272,7 +1312,7 @@ export class zappar_client {
1272
1312
  inst.plane_anchor_polygon_data[indx] = msg.floatArray();
1273
1313
  break;
1274
1314
  }
1275
- case 31: {
1315
+ case 33: {
1276
1316
  let handle = msg.type();
1277
1317
  let inst = this._world_tracker_state_by_instance.get(handle);
1278
1318
  if (!inst)
@@ -1281,7 +1321,7 @@ export class zappar_client {
1281
1321
  inst.plane_anchor_polygon_version[indx] = msg.int();
1282
1322
  break;
1283
1323
  }
1284
- case 32: {
1324
+ case 34: {
1285
1325
  let handle = msg.type();
1286
1326
  let inst = this._world_tracker_state_by_instance.get(handle);
1287
1327
  if (!inst)
@@ -1290,7 +1330,7 @@ export class zappar_client {
1290
1330
  inst.plane_anchor_orientation[indx] = msg.planeOrientation();
1291
1331
  break;
1292
1332
  }
1293
- case 36: {
1333
+ case 38: {
1294
1334
  let handle = msg.type();
1295
1335
  let inst = this._world_tracker_state_by_instance.get(handle);
1296
1336
  if (!inst)
@@ -1298,7 +1338,7 @@ export class zappar_client {
1298
1338
  inst.world_anchor_status = msg.anchorStatus();
1299
1339
  break;
1300
1340
  }
1301
- case 35: {
1341
+ case 37: {
1302
1342
  let handle = msg.type();
1303
1343
  let inst = this._world_tracker_state_by_instance.get(handle);
1304
1344
  if (!inst)
@@ -1306,7 +1346,7 @@ export class zappar_client {
1306
1346
  inst.world_anchor_id = msg.string();
1307
1347
  break;
1308
1348
  }
1309
- case 34: {
1349
+ case 36: {
1310
1350
  let handle = msg.type();
1311
1351
  let inst = this._world_tracker_state_by_instance.get(handle);
1312
1352
  if (!inst)
@@ -1314,7 +1354,7 @@ export class zappar_client {
1314
1354
  inst.world_anchor_pose = msg.matrix4x4();
1315
1355
  break;
1316
1356
  }
1317
- case 38: {
1357
+ case 40: {
1318
1358
  let handle = msg.type();
1319
1359
  let inst = this._world_tracker_state_by_instance.get(handle);
1320
1360
  if (!inst)
@@ -1322,7 +1362,7 @@ export class zappar_client {
1322
1362
  inst.ground_anchor_id = msg.string();
1323
1363
  break;
1324
1364
  }
1325
- case 39: {
1365
+ case 41: {
1326
1366
  let handle = msg.type();
1327
1367
  let inst = this._world_tracker_state_by_instance.get(handle);
1328
1368
  if (!inst)
@@ -1330,7 +1370,7 @@ export class zappar_client {
1330
1370
  inst.ground_anchor_status = msg.anchorStatus();
1331
1371
  break;
1332
1372
  }
1333
- case 37: {
1373
+ case 39: {
1334
1374
  let handle = msg.type();
1335
1375
  let inst = this._world_tracker_state_by_instance.get(handle);
1336
1376
  if (!inst)
@@ -1338,7 +1378,7 @@ export class zappar_client {
1338
1378
  inst.ground_anchor_pose = msg.matrix4x4();
1339
1379
  break;
1340
1380
  }
1341
- case 43: {
1381
+ case 45: {
1342
1382
  let handle = msg.type();
1343
1383
  let inst = this._world_tracker_state_by_instance.get(handle);
1344
1384
  if (!inst)
@@ -1346,7 +1386,7 @@ export class zappar_client {
1346
1386
  inst.tracks_data_size = msg.int();
1347
1387
  break;
1348
1388
  }
1349
- case 42: {
1389
+ case 44: {
1350
1390
  let handle = msg.type();
1351
1391
  let inst = this._world_tracker_state_by_instance.get(handle);
1352
1392
  if (!inst)
@@ -1354,7 +1394,7 @@ export class zappar_client {
1354
1394
  inst.tracks_data = msg.floatArray();
1355
1395
  break;
1356
1396
  }
1357
- case 45: {
1397
+ case 47: {
1358
1398
  let handle = msg.type();
1359
1399
  let inst = this._world_tracker_state_by_instance.get(handle);
1360
1400
  if (!inst)
@@ -1362,7 +1402,7 @@ export class zappar_client {
1362
1402
  inst.tracks_type_data_size = msg.int();
1363
1403
  break;
1364
1404
  }
1365
- case 44: {
1405
+ case 46: {
1366
1406
  let handle = msg.type();
1367
1407
  let inst = this._world_tracker_state_by_instance.get(handle);
1368
1408
  if (!inst)
@@ -1370,7 +1410,7 @@ export class zappar_client {
1370
1410
  inst.tracks_type_data = msg.ucharArray();
1371
1411
  break;
1372
1412
  }
1373
- case 48: {
1413
+ case 50: {
1374
1414
  let handle = msg.type();
1375
1415
  let inst = this._world_tracker_state_by_instance.get(handle);
1376
1416
  if (!inst)
@@ -1378,7 +1418,7 @@ export class zappar_client {
1378
1418
  inst.projections_data_size = msg.int();
1379
1419
  break;
1380
1420
  }
1381
- case 47: {
1421
+ case 49: {
1382
1422
  let handle = msg.type();
1383
1423
  let inst = this._world_tracker_state_by_instance.get(handle);
1384
1424
  if (!inst)
@@ -1386,7 +1426,7 @@ export class zappar_client {
1386
1426
  inst.projections_data = msg.floatArray();
1387
1427
  break;
1388
1428
  }
1389
- case 50: {
1429
+ case 52: {
1390
1430
  let handle = msg.type();
1391
1431
  let inst = this._custom_anchor_state_by_instance.get(handle);
1392
1432
  if (!inst)
@@ -1394,7 +1434,15 @@ export class zappar_client {
1394
1434
  inst.status = msg.anchorStatus();
1395
1435
  break;
1396
1436
  }
1397
- case 49: {
1437
+ case 53: {
1438
+ let handle = msg.type();
1439
+ let inst = this._custom_anchor_state_by_instance.get(handle);
1440
+ if (!inst)
1441
+ return;
1442
+ inst.pose_version = msg.int();
1443
+ break;
1444
+ }
1445
+ case 51: {
1398
1446
  let handle = msg.type();
1399
1447
  let inst = this._custom_anchor_state_by_instance.get(handle);
1400
1448
  if (!inst)