@zappar/zappar-cv 0.4.0-beta.8 → 0.4.0-beta.9
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/gl-state-manager.d.ts +9 -0
- package/lib/gl-state-manager.js +35 -0
- package/lib/image-process-gl.js +47 -14
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/zcv.js +11 -11
- package/lib/zcv.wasm +0 -0
- package/package.json +1 -1
- package/umd/{fbf9061bc2d2826ecf97c8ba2b51e7a5.wasm → a78f5ad0a44def457ee50c8bcd5fd27c.wasm} +0 -0
- package/umd/zappar-cv.js +1 -1
- package/umd/zappar-cv.worker.js +1 -1
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/0.4.0-beta.
|
|
21
|
+
<script src="https://libs.zappar.com/zappar-cv/0.4.0-beta.9/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/0.4.0-beta.
|
|
25
|
+
[https://libs.zappar.com/zappar-cv/0.4.0-beta.9/zappar-cv.zip](https://libs.zappar.com/zappar-cv/0.4.0-beta.9/zappar-cv.zip)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GLStateManager = void 0;
|
|
4
|
+
const managers = new Map();
|
|
5
|
+
class GLStateManager {
|
|
6
|
+
constructor(_gl) {
|
|
7
|
+
this._gl = _gl;
|
|
8
|
+
this._viewports = [];
|
|
9
|
+
this._underlyingViewport = this._gl.viewport;
|
|
10
|
+
this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT));
|
|
11
|
+
this._gl.viewport = (x, y, width, height) => {
|
|
12
|
+
this._viewports[this._viewports.length - 1] = [x, y, width, height];
|
|
13
|
+
this._underlyingViewport.call(this._gl, x, y, width, height);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static get(gl) {
|
|
17
|
+
let existing = managers.get(gl);
|
|
18
|
+
if (!existing) {
|
|
19
|
+
existing = new GLStateManager(gl);
|
|
20
|
+
managers.set(gl, existing);
|
|
21
|
+
}
|
|
22
|
+
return existing;
|
|
23
|
+
}
|
|
24
|
+
push() {
|
|
25
|
+
this._viewports.push(this._viewports[this._viewports.length - 1]);
|
|
26
|
+
}
|
|
27
|
+
pop() {
|
|
28
|
+
const current = this._viewports.pop();
|
|
29
|
+
const prev = this._viewports[this._viewports.length - 1];
|
|
30
|
+
if (!current || current[0] !== prev[0] || current[1] !== prev[1] || current[2] !== prev[2] || current[3] !== prev[3]) {
|
|
31
|
+
this._underlyingViewport.call(this._gl, prev[0], prev[1], prev[2], prev[3]);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.GLStateManager = GLStateManager;
|
package/lib/image-process-gl.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ImageProcessGL = void 0;
|
|
4
4
|
const gl_matrix_1 = require("gl-matrix");
|
|
5
|
+
const gl_state_manager_1 = require("./gl-state-manager");
|
|
5
6
|
const profile_1 = require("./profile");
|
|
6
7
|
const shader_1 = require("./shader");
|
|
7
8
|
class ImageProcessGL {
|
|
@@ -32,12 +33,25 @@ class ImageProcessGL {
|
|
|
32
33
|
}
|
|
33
34
|
uploadFrame(texture, img, rotation, fc) {
|
|
34
35
|
let gl = this._gl;
|
|
36
|
+
const glStateManager = gl_state_manager_1.GLStateManager.get(gl);
|
|
37
|
+
glStateManager.push();
|
|
38
|
+
const reenableScissorTest = gl.isEnabled(gl.SCISSOR_TEST);
|
|
39
|
+
const reenableDepthTest = gl.isEnabled(gl.DEPTH_TEST);
|
|
40
|
+
const reenableBlend = gl.isEnabled(gl.BLEND);
|
|
41
|
+
const reenableCullFace = gl.isEnabled(gl.CULL_FACE);
|
|
42
|
+
const previousActiveTexture = gl.getParameter(gl.ACTIVE_TEXTURE);
|
|
43
|
+
const previousUnpackFlip = gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL);
|
|
44
|
+
const previousProgram = gl.getParameter(gl.CURRENT_PROGRAM);
|
|
45
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
46
|
+
const previousBoundTexture = gl.getParameter(gl.TEXTURE_BINDING_2D);
|
|
47
|
+
const previousBoundFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
|
|
48
|
+
const previousBoundArrayBuffer = gl.getParameter(gl.ARRAY_BUFFER_BINDING);
|
|
49
|
+
const previousBoundElementArrayBuffer = gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
|
|
35
50
|
gl.disable(gl.SCISSOR_TEST);
|
|
36
51
|
gl.disable(gl.DEPTH_TEST);
|
|
37
52
|
gl.disable(gl.BLEND);
|
|
38
53
|
gl.disable(gl.CULL_FACE);
|
|
39
54
|
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false);
|
|
40
|
-
gl.activeTexture(gl.TEXTURE0);
|
|
41
55
|
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
42
56
|
const level = 0;
|
|
43
57
|
const internalFormat = gl.RGBA;
|
|
@@ -61,13 +75,22 @@ class ImageProcessGL {
|
|
|
61
75
|
let vbo = this._getVertexBuffer(gl);
|
|
62
76
|
let ibo = this._getIndexBuffer(gl);
|
|
63
77
|
let shader = this._getGreyscaleShader(gl);
|
|
64
|
-
|
|
78
|
+
const previousVertexAttribSize = gl.getVertexAttrib(shader.aVertexPositionLoc, gl.VERTEX_ATTRIB_ARRAY_SIZE);
|
|
79
|
+
const previousVertexAttribType = gl.getVertexAttrib(shader.aVertexPositionLoc, gl.VERTEX_ATTRIB_ARRAY_TYPE);
|
|
80
|
+
const previousVertexAttribNormalized = gl.getVertexAttrib(shader.aVertexPositionLoc, gl.VERTEX_ATTRIB_ARRAY_NORMALIZED);
|
|
81
|
+
const previousVertexAttribStride = gl.getVertexAttrib(shader.aVertexPositionLoc, gl.VERTEX_ATTRIB_ARRAY_STRIDE);
|
|
82
|
+
const previousVertexAttribOffset = gl.getVertexAttribOffset(shader.aVertexPositionLoc, gl.VERTEX_ATTRIB_ARRAY_POINTER);
|
|
83
|
+
const previousTextureAttribSize = gl.getVertexAttrib(shader.aTextureCoordLoc, gl.VERTEX_ATTRIB_ARRAY_SIZE);
|
|
84
|
+
const previousTextureAttribType = gl.getVertexAttrib(shader.aTextureCoordLoc, gl.VERTEX_ATTRIB_ARRAY_TYPE);
|
|
85
|
+
const previousTextureAttribNormalized = gl.getVertexAttrib(shader.aTextureCoordLoc, gl.VERTEX_ATTRIB_ARRAY_NORMALIZED);
|
|
86
|
+
const previousTextureAttribStride = gl.getVertexAttrib(shader.aTextureCoordLoc, gl.VERTEX_ATTRIB_ARRAY_STRIDE);
|
|
87
|
+
const previousTextureAttribOffset = gl.getVertexAttribOffset(shader.aTextureCoordLoc, gl.VERTEX_ATTRIB_ARRAY_POINTER);
|
|
88
|
+
// Rendering to the greyscale conversion buffer - bind the framebuffer
|
|
65
89
|
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
66
90
|
gl.viewport(0, 0, this._framebufferWidth, this._framebufferHeight);
|
|
67
|
-
//
|
|
68
|
-
gl.clearColor(0.0, 0.0, 0.0, 1.0);
|
|
91
|
+
// We'll be replacing all the content - clear is a good hint for this on mobile
|
|
69
92
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
70
|
-
//
|
|
93
|
+
// Set up bindings for vertex attributes
|
|
71
94
|
gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
|
|
72
95
|
gl.vertexAttribPointer(shader.aVertexPositionLoc, 2, gl.FLOAT, false, 4 * 4, 0);
|
|
73
96
|
gl.enableVertexAttribArray(shader.aVertexPositionLoc);
|
|
@@ -87,22 +110,32 @@ class ImageProcessGL {
|
|
|
87
110
|
gl.uniform1i(shader.uSamplerLoc, 0);
|
|
88
111
|
// Do the drawing...
|
|
89
112
|
gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0);
|
|
90
|
-
|
|
91
|
-
gl.
|
|
92
|
-
gl.
|
|
93
|
-
gl.
|
|
94
|
-
gl.bindBuffer(gl.
|
|
95
|
-
gl.
|
|
96
|
-
gl.
|
|
97
|
-
gl.
|
|
113
|
+
gl.vertexAttribPointer(shader.aVertexPositionLoc, previousVertexAttribSize, previousVertexAttribType, previousVertexAttribNormalized, previousVertexAttribStride, previousVertexAttribOffset);
|
|
114
|
+
gl.vertexAttribPointer(shader.aTextureCoordLoc, previousTextureAttribSize, previousTextureAttribType, previousTextureAttribNormalized, previousTextureAttribStride, previousTextureAttribOffset);
|
|
115
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, previousBoundFramebuffer);
|
|
116
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, previousBoundArrayBuffer);
|
|
117
|
+
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, previousBoundElementArrayBuffer);
|
|
118
|
+
gl.useProgram(previousProgram);
|
|
119
|
+
gl.bindTexture(gl.TEXTURE_2D, previousBoundTexture);
|
|
120
|
+
gl.activeTexture(previousActiveTexture);
|
|
121
|
+
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, previousUnpackFlip);
|
|
122
|
+
if (reenableBlend)
|
|
123
|
+
gl.enable(gl.BLEND);
|
|
124
|
+
if (reenableCullFace)
|
|
125
|
+
gl.enable(gl.CULL_FACE);
|
|
126
|
+
if (reenableDepthTest)
|
|
127
|
+
gl.enable(gl.DEPTH_TEST);
|
|
128
|
+
if (reenableScissorTest)
|
|
129
|
+
gl.enable(gl.SCISSOR_TEST);
|
|
98
130
|
}
|
|
99
131
|
readFrame(texture, pixels) {
|
|
100
132
|
let gl = this._gl;
|
|
101
133
|
let pixelsView = new Uint8Array(pixels);
|
|
102
134
|
let framebuffer = this._getFramebuffer(gl, profile_1.profile.dataWidth / 4, profile_1.profile.dataHeight);
|
|
135
|
+
const previousBoundFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
|
|
103
136
|
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
104
137
|
gl.readPixels(0, 0, this._framebufferWidth, this._framebufferHeight, gl.RGBA, gl.UNSIGNED_BYTE, pixelsView);
|
|
105
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER,
|
|
138
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, previousBoundFramebuffer);
|
|
106
139
|
return {
|
|
107
140
|
uvTransform: this._cameraUvTransform,
|
|
108
141
|
data: pixels,
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.4.0-beta.
|
|
1
|
+
export declare const VERSION = "0.4.0-beta.9";
|
package/lib/version.js
CHANGED
package/lib/zcv.js
CHANGED
|
@@ -16,7 +16,7 @@ function ua(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&5
|
|
|
16
16
|
function Ca(){var a=la.buffer;xa=a;e.HEAP8=D=new Int8Array(a);e.HEAP16=ya=new Int16Array(a);e.HEAP32=J=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=F=new Uint16Array(a);e.HEAPU32=K=new Uint32Array(a);e.HEAPF32=za=new Float32Array(a);e.HEAPF64=Aa=new Float64Array(a)}var Da,Ea=[],Fa=[],Ga=[],Ha=!1;function Ia(){var a=e.preRun.shift();Ea.unshift(a)}var L=0,Ja=null,Ka=null;function La(){L++;e.monitorRunDependencies&&e.monitorRunDependencies(L)}
|
|
17
17
|
function Ma(){L--;e.monitorRunDependencies&&e.monitorRunDependencies(L);if(0==L&&(null!==Ja&&(clearInterval(Ja),Ja=null),Ka)){var a=Ka;Ka=null;a()}}e.preloadedImages={};e.preloadedAudios={};function x(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";n(a);ma=!0;na=1;a=new WebAssembly.RuntimeError(a+". Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}var Na;Na="zcv.wasm";if(!Na.startsWith("data:application/octet-stream;base64,")){var Oa=Na;Na=e.locateFile?e.locateFile(Oa,l):l+Oa}
|
|
18
18
|
function Pa(a){var b=Na;try{a:{try{if(b==Na&&ka){var c=new Uint8Array(ka);break a}if(ha){c=ha(b);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(g){x(g)}c=void 0}var d=new WebAssembly.Module(c);var f=new WebAssembly.Instance(d,a)}catch(g){throw a=g.toString(),n("failed to compile wasm module: "+a),(a.includes("imported Memory")||a.includes("memory import"))&&n("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),
|
|
19
|
-
g;}return[f,d]}var M,N,Qa={
|
|
19
|
+
g;}return[f,d]}var M,N,Qa={506728:function(){if(self.crypto&&self.crypto.getRandomValues){var a=new Uint32Array(1);self.crypto.getRandomValues(a);return a[0]}return 9007199254740991*Math.random()},506904:function(a,b){self.respond_ba_request(C.subarray(a,a+b))},506966:function(a,b){self.send_ba_request(C.subarray(a,a+b))}};function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.ad;"number"===typeof c?void 0===b.uc?O(c)():O(c)(b.uc):c(void 0===b.uc?null:b.uc)}}}
|
|
20
20
|
var Sa=[];function O(a){var b=Sa[a];b||(a>=Sa.length&&(Sa.length=a+1),Sa[a]=b=Da.get(a));return b}function Ta(a){a instanceof Ua||"unwind"==a||fa(1,a)}var Wa;Wa=()=>performance.now();function Xa(a,b){if(0===a)a=Date.now();else if(1===a||4===a)a=Wa();else return J[Ya()>>2]=28,-1;J[b>>2]=a/1E3|0;J[b+4>>2]=a%1E3*1E6|0;return 0}
|
|
21
21
|
function Za(a){this.nc=a-16;this.sd=function(b){J[this.nc+4>>2]=b};this.pd=function(b){J[this.nc+8>>2]=b};this.qd=function(){J[this.nc>>2]=0};this.od=function(){D[this.nc+12>>0]=0};this.rd=function(){D[this.nc+13>>0]=0};this.dd=function(b,c){this.sd(b);this.pd(c);this.qd();this.od();this.rd()}}var $a=0;function ab(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}
|
|
22
22
|
function bb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=ab(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}function cb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function db(a){if("/"===a)return"/";a=bb(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
|
|
@@ -91,21 +91,21 @@ new Date(h.cc+1900,h.oc,h.tc);return 0>k(z,h)?g(Math.ceil((31-z.getDate()+(od(nd
|
|
|
91
91
|
e.resumeMainLoop=function(){kc++;var a=bc,b=cc,c=dc;dc=null;jc(c);ac(a,b);fc()};e.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia);window.getUserMedia(void 0)};e.createContext=function(a,b,c,d){return zc(a,b,c,d)};
|
|
92
92
|
(function(a,b){try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){b(d);return}c.onupgradeneeded=function(d){d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=function(d){a(d.target.result)};c.onerror=function(d){b(d)}})(function(a){Qc=a;Ma()},function(){Qc=!1;Ma()});"undefined"!==typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||La();var Dc;
|
|
93
93
|
function kb(a,b){var c=Array(ua(a)+1);a=y(a,c,0,c.length);b&&(c.length=a);return c}
|
|
94
|
-
var td={
|
|
94
|
+
var td={y:function(a,b){return Xa(a,b)},a:function(a){return wa(a+16)+16},b:function(a,b,c){(new Za(a)).dd(b,c);$a++;throw a;},k:function(a,b,c){Wb=c;try{var d=Yb(a);switch(b){case 0:var f=Xb();return 0>f?-28:Nb(d.path,d.flags,0,f).jc;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=Xb(),d.flags|=f,0;case 5:return f=Xb(),ya[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return J[Ya()>>2]=28,-1;default:return-28}}catch(g){if("undefined"===typeof V||!(g instanceof Q))throw g;
|
|
95
95
|
return-g.dc}},E:function(a,b,c){Wb=c;try{var d=Yb(a);switch(b){case 21509:case 21505:return d.ac?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.ac?0:-59;case 21519:if(!d.ac)return-59;var f=Xb();return J[f>>2]=0;case 21520:return d.ac?-28:-59;case 21531:a=f=Xb();if(!d.Zb.fd)throw new Q(59);return d.Zb.fd(d,b,a);case 21523:return d.ac?0:-59;case 21524:return d.ac?0:-59;default:x("bad ioctl syscall "+b)}}catch(g){if("undefined"===typeof V||!(g instanceof Q))throw g;
|
|
96
|
-
return-g.dc}},
|
|
97
|
-
Q))throw c;return-c.dc}},
|
|
98
|
-
F:function(a){delete Pc[a-1]},c:function(){x("")},J:Xa,K:function(){self.postMessage({t:"gfx"})},
|
|
96
|
+
return-g.dc}},B:function(a,b){try{return a=E(a),Vb(Mb,a,b)}catch(c){if("undefined"===typeof V||!(c instanceof Q))throw c;return-c.dc}},o:function(a,b,c){Wb=c;try{var d=E(a),f=c?Xb():0;return Nb(d,b,f).jc}catch(g){if("undefined"===typeof V||!(g instanceof Q))throw g;return-g.dc}},C:function(a,b){try{return a=E(a),Vb(Lb,a,b)}catch(c){if("undefined"===typeof V||!(c instanceof Q))throw c;return-c.dc}},w:function(a,b){try{return a=E(a),b=E(b),Kb(a,b),0}catch(c){if("undefined"===typeof V||!(c instanceof
|
|
97
|
+
Q))throw c;return-c.dc}},x:function(a){try{a=E(a);var b=T(a,{parent:!0}).node;if(!b)throw new Q(44);var c=db(a),d=qb(b,c);a:{try{var f=qb(b,c)}catch(p){var g=p.dc;break a}var k=zb(b,"wx");g=k?k:16384===(f.mode&61440)?31:0}if(g)throw new Q(g);if(!b.Xb.Ac)throw new Q(63);if(d.qc)throw new Q(10);b.Xb.Ac(b,c);var r=yb(d.parent.id,d.name);if(S[r]===d)S[r]=d.lc;else for(var q=S[r];q;){if(q.lc===d){q.lc=d.lc;break}q=q.lc}return 0}catch(p){if("undefined"===typeof V||!(p instanceof Q))throw p;return-p.dc}},
|
|
98
|
+
F:function(a){delete Pc[a-1]},c:function(){x("")},J:Xa,K:function(){self.postMessage({t:"gfx"})},q:function(){var a=(new URL(location.origin)).hostname;0===a.length&&(a=(new URL(location.href.replace("blob:",""))).hostname);if(/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(a))0===a.indexOf("10.")&&(a="10.*"),0===a.indexOf("192.168.")&&(a="192.168.*"),0===a.indexOf("172.")&&(a="172.*"),
|
|
99
99
|
0===a.indexOf("127.")&&(a="127.*");else{var b=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");b.test(a)&&(a="*.ngrok.io");b=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i");b.test(a)&&(a="*.arweb.app")}b=ua(a)+1;var c=wa(b);y(a,C,c,b+1);return c},L:function(){self.postMessage({t:"licerr"})},f:function(a,b,c){Zb.length=0;var d;for(c>>=2;d=C[b++];)(d=105>d)&&c&1&&c++,Zb.push(d?Aa[c++>>1]:J[c]),++c;return Qa[a].apply(null,Zb)},
|
|
100
|
-
l:function(a,b,c){function d(){O(a)(b)}0<=c?$b(d,c):Nc(d)},
|
|
100
|
+
l:function(a,b,c){function d(){O(a)(b)}0<=c?$b(d,c):Nc(d)},v:function(){return 2147483648},H:function(){return!1},s:function(a,b,c){C.copyWithin(a,b,b+c)},t:function(a){var b=C.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{la.grow(Math.min(2147483648,d)-xa.byteLength+65535>>>16);Ca();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},G:function(a,b,c,d,f){function g(B){Rc(B,k,p,
|
|
101
101
|
v,q)}function k(B,vd){Tc(B,vd.response,function(Ba){W(function(){t?O(t)(Ba):b&&b(Ba)},H)},function(Ba){W(function(){t?O(t)(Ba):b&&b(Ba)},H)})}function r(B){Rc(B,w,p,v,q)}function q(B){W(function(){P?O(P)(B):f&&f(B)},H)}function p(B){W(function(){z?O(z)(B):c&&c(B)},H)}function v(B){W(function(){I?O(I)(B):d&&d(B)},H)}function w(B){W(function(){t?O(t)(B):b&&b(B)},H)}var A=a+112,h=E(A),t=K[A+36>>2],z=K[A+40>>2],I=K[A+44>>2],P=K[A+48>>2],X=K[A+52>>2],Va=!!(X&4),u=!!(X&32),G=!!(X&16),H=!!(X&64);if("EM_IDB_STORE"===
|
|
102
|
-
h)h=K[A+84>>2],Tc(a,C.slice(h,h+K[A+88>>2]),w,p);else if("EM_IDB_DELETE"===h)Vc(a,w,p);else if(G){if(u)return 0;Rc(a,Va?k:w,p,v,q)}else Uc(a,w,u?p:Va?g:r);return a},
|
|
103
|
-
b.Ec&&(b.Ec=null);try{b.Zb.close&&b.Zb.close(b)}catch(c){throw c;}finally{tb[b.jc]=null}b.jc=null;return 0}catch(c){if("undefined"===typeof V||!(c instanceof Q))throw c;return c.dc}},
|
|
104
|
-
if(!A)v=r.position;else if(!r.seekable)throw new Q(70);var h=r.Zb.read(r,w,q,p,v);A||(r.position+=h);var t=h;if(0>t){var z=-1;break a}a+=t;if(t<k)break}z=a}J[d>>2]=z;return 0}catch(I){if("undefined"===typeof V||!(I instanceof Q))throw I;return I.dc}},
|
|
102
|
+
h)h=K[A+84>>2],Tc(a,C.slice(h,h+K[A+88>>2]),w,p);else if("EM_IDB_DELETE"===h)Vc(a,w,p);else if(G){if(u)return 0;Rc(a,Va?k:w,p,v,q)}else Uc(a,w,u?p:Va?g:r);return a},z:function(a,b){var c=0;Xc().forEach(function(d,f){var g=b+c;f=J[a+4*f>>2]=g;for(g=0;g<d.length;++g)D[f++>>0]=d.charCodeAt(g);D[f>>0]=0;c+=d.length+1});return 0},A:function(a,b){var c=Xc();J[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});J[b>>2]=d;return 0},I:function(a){lc(a)},j:function(a){try{var b=Yb(a);if(null===b.jc)throw new Q(8);
|
|
103
|
+
b.Ec&&(b.Ec=null);try{b.Zb.close&&b.Zb.close(b)}catch(c){throw c;}finally{tb[b.jc]=null}b.jc=null;return 0}catch(c){if("undefined"===typeof V||!(c instanceof Q))throw c;return c.dc}},D:function(a,b,c,d){try{a:{for(var f=Yb(a),g=a=0;g<c;g++){var k=J[b+(8*g+4)>>2],r=f,q=J[b+8*g>>2],p=k,v=void 0,w=D;if(0>p||0>v)throw new Q(28);if(null===r.jc)throw new Q(8);if(1===(r.flags&2097155))throw new Q(8);if(16384===(r.node.mode&61440))throw new Q(31);if(!r.Zb.read)throw new Q(28);var A="undefined"!==typeof v;
|
|
104
|
+
if(!A)v=r.position;else if(!r.seekable)throw new Q(70);var h=r.Zb.read(r,w,q,p,v);A||(r.position+=h);var t=h;if(0>t){var z=-1;break a}a+=t;if(t<k)break}z=a}J[d>>2]=z;return 0}catch(I){if("undefined"===typeof V||!(I instanceof Q))throw I;return I.dc}},r:function(a,b,c,d,f){try{var g=Yb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Pb(g,a,d);N=[g.position>>>0,(M=g.position,1<=+Math.abs(M)?0<M?(Math.min(+Math.floor(M/4294967296),4294967295)|0)>>>0:~~+Math.ceil((M-+(~~M>>>
|
|
105
105
|
0))/4294967296)>>>0:0)];J[f>>2]=N[0];J[f+4>>2]=N[1];g.Ec&&0===a&&0===d&&(g.Ec=null);return 0}catch(k){if("undefined"===typeof V||!(k instanceof Q))throw k;return k.dc}},i:function(a,b,c,d){try{a:{for(var f=Yb(a),g=a=0;g<c;g++){var k=f,r=J[b+8*g>>2],q=J[b+(8*g+4)>>2],p=void 0,v=D;if(0>q||0>p)throw new Q(28);if(null===k.jc)throw new Q(8);if(0===(k.flags&2097155))throw new Q(8);if(16384===(k.node.mode&61440))throw new Q(31);if(!k.Zb.write)throw new Q(28);k.seekable&&k.flags&1024&&Pb(k,0,2);var w="undefined"!==
|
|
106
106
|
typeof p;if(!w)p=k.position;else if(!k.seekable)throw new Q(70);var A=k.Zb.write(k,v,r,q,p,void 0);w||(k.position+=A);var h=A;if(0>h){var t=-1;break a}a+=h}t=a}J[d>>2]=t;return 0}catch(z){if("undefined"===typeof V||!(z instanceof Q))throw z;return z.dc}},e:function(a){var b=Date.now();J[a>>2]=b/1E3|0;J[a+4>>2]=b%1E3*1E3|0;return 0},m:function(a,b){Dc.bindTexture(a,cd[b])},n:function(a,b){for(var c=0;c<a;c++){var d=Dc.createTexture(),f=d&&dd(cd);d?(d.name=f,cd[f]=d):gd||(gd=1282);J[b+4*c>>2]=f}},g:function(a,
|
|
107
|
-
b,c,d,f,g,k,r,q){var p=Dc,v=p.texImage2D;if(q){var w=r-5120;w=1==w?C:4==w?J:6==w?za:5==w||28922==w?K:F;var A=31-Math.clz32(w.BYTES_PER_ELEMENT);q=w.subarray(q>>A,q+f*(d*({5:3,6:4,8:2,29502:3,29504:4}[k-6402]||1)*(1<<A)+4-1&-4)>>A)}else q=null;v.call(p,a,b,c,d,f,g,k,r,q)},h:function(a,b,c){Dc.texParameteri(a,b,c)},
|
|
108
|
-
a.getFullYear()-1900;J[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1);J[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;J[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;J[b+32>>2]=a;a=J[ld()+(a?4:0)>>2];J[b+40>>2]=a;return b},
|
|
107
|
+
b,c,d,f,g,k,r,q){var p=Dc,v=p.texImage2D;if(q){var w=r-5120;w=1==w?C:4==w?J:6==w?za:5==w||28922==w?K:F;var A=31-Math.clz32(w.BYTES_PER_ELEMENT);q=w.subarray(q>>A,q+f*(d*({5:3,6:4,8:2,29502:3,29504:4}[k-6402]||1)*(1<<A)+4-1&-4)>>A)}else q=null;v.call(p,a,b,c,d,f,g,k,r,q)},h:function(a,b,c){Dc.texParameteri(a,b,c)},p:function(a,b){md||(md=!0,hd());a=new Date(1E3*J[a>>2]);J[b>>2]=a.getSeconds();J[b+4>>2]=a.getMinutes();J[b+8>>2]=a.getHours();J[b+12>>2]=a.getDate();J[b+16>>2]=a.getMonth();J[b+20>>2]=
|
|
108
|
+
a.getFullYear()-1900;J[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1);J[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;J[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;J[b+32>>2]=a;a=J[ld()+(a?4:0)>>2];J[b+40>>2]=a;return b},u:function(a,b,c,d){return sd(a,b,c,d)},d:function(a){var b=Date.now()/1E3|0;a&&(J[a>>2]=b);return b}},Z=function(){function a(c){e.asm=c.exports;la=e.asm.M;
|
|
109
109
|
Ca();Da=e.asm.R;Fa.unshift(e.asm.N);Ma()}var b={a:td};La();if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){return n("Module.instantiateWasm callback failed with error: "+c),!1}b=Pa(b);a(b[0]);return e.asm}();e.___wasm_call_ctors=Z.N;e._zappar_has_initialized=Z.O;e._zappar_invert=Z.P;e._zappar_loaded=Z.Q;e._zappar_pipeline_create=Z.S;e._zappar_pipeline_destroy=Z.T;e._zappar_pipeline_camera_frame_submit=Z.U;e._zappar_pipeline_camera_frame_submit_raw_pointer=Z.V;
|
|
110
110
|
e._zappar_pipeline_frame_update=Z.W;e._zappar_pipeline_camera_frame_user_data=Z.X;e._zappar_pipeline_camera_model=Z.Y;e._zappar_pipeline_frame_number=Z.Z;e._zappar_pipeline_motion_accelerometer_submit=Z._;e._zappar_pipeline_motion_rotation_rate_submit=Z.$;e._zappar_pipeline_motion_attitude_submit=Z.aa;e._zappar_pipeline_motion_attitude_matrix_submit=Z.ba;e._zappar_pipeline_camera_frame_user_facing=Z.ca;e._zappar_pipeline_camera_frame_texture_matrix=Z.da;
|
|
111
111
|
e._zappar_pipeline_camera_pose_with_attitude=Z.ea;e._zappar_pipeline_camera_pose_with_origin=Z.fa;e._zappar_pipeline_camera_frame_camera_attitude=Z.ga;e._zappar_pipeline_camera_frame_device_attitude=Z.ha;e._zappar_pipeline_camera_frame_texture_gl=Z.ia;e._zappar_pipeline_camera_frame_upload_gl=Z.ja;e._zappar_pipeline_sequence_record_start=Z.ka;e._zappar_pipeline_sequence_record_stop=Z.la;e._zappar_pipeline_sequence_record_clear=Z.ma;e._zappar_pipeline_sequence_record_device_attitude_matrices_set=Z.na;
|
package/lib/zcv.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED