@rig-c/play 1.17.0 → 1.17.1
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 +40 -1359
- package/dist/MeshGlBlitter.d.ts +1 -0
- package/dist/MeshGlBlitter.d.ts.map +1 -1
- package/dist/index.js +15 -6
- package/dist/index.js.map +1 -1
- package/dist/loadModel.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/MeshGlBlitter.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeshGlBlitter.d.ts","sourceRoot":"","sources":["../src/MeshGlBlitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,MAAM,EAAE,iBAAiB,CAAC;IAC1B,+EAA+E;IAC/E,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;;OAKG;IACH,GAAG,EAAE,OAAO,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,YAAY,CAAC;IACvB,mDAAmD;IACnD,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACvB,gDAAgD;IAChD,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,sCAAsC;IACtC,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"MeshGlBlitter.d.ts","sourceRoot":"","sources":["../src/MeshGlBlitter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6790,11 +6790,12 @@ const VERTEX_SHADER = `
|
|
|
6790
6790
|
attribute vec2 aPos;
|
|
6791
6791
|
attribute vec2 aUV;
|
|
6792
6792
|
uniform vec2 uResolution;
|
|
6793
|
+
uniform vec2 uOrigin;
|
|
6793
6794
|
varying vec2 vUV;
|
|
6794
6795
|
void main() {
|
|
6795
6796
|
// aPos is in offscreen-canvas device px, top-left origin (matching the
|
|
6796
6797
|
// top-left-origin drawImage read of the same rect).
|
|
6797
|
-
vec2 clip = aPos / uResolution * 2.0 - 1.0;
|
|
6798
|
+
vec2 clip = (aPos - uOrigin) / uResolution * 2.0 - 1.0;
|
|
6798
6799
|
gl_Position = vec4(clip.x, -clip.y, 0.0, 1.0);
|
|
6799
6800
|
vUV = aUV;
|
|
6800
6801
|
}`;
|
|
@@ -6818,6 +6819,7 @@ class MeshGlBlitter {
|
|
|
6818
6819
|
canvas = document.createElement("canvas");
|
|
6819
6820
|
gl;
|
|
6820
6821
|
uResolution;
|
|
6822
|
+
uOrigin;
|
|
6821
6823
|
meshProgram;
|
|
6822
6824
|
meshPos;
|
|
6823
6825
|
meshUV;
|
|
@@ -6860,8 +6862,10 @@ class MeshGlBlitter {
|
|
|
6860
6862
|
this.meshProgram = program;
|
|
6861
6863
|
gl.useProgram(program);
|
|
6862
6864
|
const uResolution = gl.getUniformLocation(program, "uResolution");
|
|
6863
|
-
|
|
6865
|
+
const uOrigin = gl.getUniformLocation(program, "uOrigin");
|
|
6866
|
+
if (!uResolution || !uOrigin) throw new Error("mesh program uniforms not found");
|
|
6864
6867
|
this.uResolution = uResolution;
|
|
6868
|
+
this.uOrigin = uOrigin;
|
|
6865
6869
|
gl.uniform1i(gl.getUniformLocation(program, "uTex"), 0);
|
|
6866
6870
|
this.meshPos = gl.getAttribLocation(program, "aPos");
|
|
6867
6871
|
this.meshUV = gl.getAttribLocation(program, "aUV");
|
|
@@ -6924,11 +6928,8 @@ class MeshGlBlitter {
|
|
|
6924
6928
|
Math.ceil(Math.max(height, this.canvas.height) / GROW_STEP) * GROW_STEP
|
|
6925
6929
|
);
|
|
6926
6930
|
}
|
|
6927
|
-
const bufW = this.canvas.width;
|
|
6928
6931
|
const bufH = this.canvas.height;
|
|
6929
|
-
gl.viewport(0, 0, bufW, bufH);
|
|
6930
6932
|
this.bindMesh();
|
|
6931
|
-
gl.uniform2f(this.uResolution, bufW, bufH);
|
|
6932
6933
|
let floats = 0;
|
|
6933
6934
|
for (const job of jobs) floats += job.triangles.length * 4;
|
|
6934
6935
|
if (this.vertexData.length < floats) {
|
|
@@ -6957,6 +6958,9 @@ class MeshGlBlitter {
|
|
|
6957
6958
|
gl.bindTexture(gl.TEXTURE_2D, this.textureFor(job.page, job.pma));
|
|
6958
6959
|
boundPage = job.page;
|
|
6959
6960
|
}
|
|
6961
|
+
gl.viewport(packX[i], bufH - packY[i] - job.height, job.width, job.height);
|
|
6962
|
+
gl.uniform2f(this.uResolution, job.width, job.height);
|
|
6963
|
+
gl.uniform2f(this.uOrigin, packX[i], packY[i]);
|
|
6960
6964
|
gl.scissor(packX[i], bufH - packY[i] - job.height, job.width, job.height);
|
|
6961
6965
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
6962
6966
|
gl.drawArrays(gl.TRIANGLES, first, job.triangles.length);
|
|
@@ -8579,7 +8583,7 @@ function readSetupMesh(assets, target) {
|
|
|
8579
8583
|
return readSetupMesh$1(underNoSkin(assets.document.doc), target);
|
|
8580
8584
|
}
|
|
8581
8585
|
const SETS_SPECS = ["spine-parts-sets/1", "rig-parts-sets/1"];
|
|
8582
|
-
const SET_KEYS_NOT_POSED = ["drawnLength", "registration", "threshold"];
|
|
8586
|
+
const SET_KEYS_NOT_POSED = ["drawnLength", "registration", "threshold", "focus"];
|
|
8583
8587
|
const SET_KEYS = ["slots", "hides", "drawn", ...SET_KEYS_NOT_POSED];
|
|
8584
8588
|
const SETS_DOCUMENT_KEYS = ["spec", "sets", "threshold"];
|
|
8585
8589
|
function isRecord(value) {
|
|
@@ -8701,6 +8705,11 @@ function readSetsText(text, where, doc) {
|
|
|
8701
8705
|
drawn[boneName] = degrees;
|
|
8702
8706
|
}
|
|
8703
8707
|
}
|
|
8708
|
+
if (item.focus !== void 0) {
|
|
8709
|
+
if (!Array.isArray(item.focus) || item.focus.length !== 2 || typeof item.focus[0] !== "number" || !Number.isFinite(item.focus[0]) || typeof item.focus[1] !== "number" || !Number.isFinite(item.focus[1])) {
|
|
8710
|
+
throw new Error(`${where}: set "${name}" "focus" must be [x, y] of two finite numbers`);
|
|
8711
|
+
}
|
|
8712
|
+
}
|
|
8704
8713
|
out.push(
|
|
8705
8714
|
Object.freeze({
|
|
8706
8715
|
name,
|