@viji-dev/core 0.3.0 → 0.3.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/dist/assets/{viji.worker-b3XR7zKX.js → viji.worker-Be0jZvYj.js} +185 -9
- package/dist/assets/viji.worker-Be0jZvYj.js.map +1 -0
- package/dist/{essentia-wasm.web-CO8uMw0d.js → essentia-wasm.web-D7gmeaO3.js} +2 -2
- package/dist/{essentia-wasm.web-CO8uMw0d.js.map → essentia-wasm.web-D7gmeaO3.js.map} +1 -1
- package/dist/{index-BdLMCFEN.js → index-BV1S8Ps-.js} +3 -3
- package/dist/{index-BdLMCFEN.js.map → index-BV1S8Ps-.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/shader-uniforms.js +240 -0
- package/package.json +1 -1
- package/dist/assets/viji.worker-b3XR7zKX.js.map +0 -1
|
@@ -2132,6 +2132,8 @@ class ShaderWorkerAdapter {
|
|
|
2132
2132
|
}
|
|
2133
2133
|
static MAX_STREAMS = 8;
|
|
2134
2134
|
// Maximum number of compositor input streams
|
|
2135
|
+
static MAX_EXTERNAL_DEVICES = 8;
|
|
2136
|
+
// Maximum number of external devices
|
|
2135
2137
|
gl;
|
|
2136
2138
|
program = null;
|
|
2137
2139
|
uniformLocations = /* @__PURE__ */ new Map();
|
|
@@ -2431,6 +2433,58 @@ uniform vec2 u_rightAnklePosition; // Right ankle landmark position in pixels
|
|
|
2431
2433
|
uniform sampler2D u_segmentationMask; // Body segmentation mask texture (0=background, 1=person)
|
|
2432
2434
|
uniform vec2 u_segmentationRes; // Segmentation mask resolution in pixels
|
|
2433
2435
|
|
|
2436
|
+
// Device Sensors - Internal Device (viji.device)
|
|
2437
|
+
uniform vec3 u_deviceAcceleration; // Acceleration without gravity (m/s²) - x, y, z
|
|
2438
|
+
uniform vec3 u_deviceAccelerationGravity; // Acceleration with gravity (m/s²) - x, y, z
|
|
2439
|
+
uniform vec3 u_deviceRotationRate; // Rotation rate (deg/s) - alpha, beta, gamma
|
|
2440
|
+
uniform vec3 u_deviceOrientation; // Device orientation (degrees) - alpha, beta, gamma
|
|
2441
|
+
uniform bool u_deviceOrientationAbsolute; // True if orientation uses magnetometer (compass)
|
|
2442
|
+
uniform vec2 u_deviceLocation; // Geolocation (degrees) - latitude, longitude
|
|
2443
|
+
uniform vec4 u_deviceLocationExt; // Extended geolocation - altitude(m), accuracy(m), heading(deg), speed(m/s)
|
|
2444
|
+
|
|
2445
|
+
// Device Sensors - External Devices (viji.devices[0-7])
|
|
2446
|
+
uniform int u_externalDeviceCount; // Number of connected external devices (0-8)
|
|
2447
|
+
uniform vec3 u_device0Acceleration; // Device 0 acceleration without gravity (m/s²)
|
|
2448
|
+
uniform vec3 u_device0AccelerationGravity; // Device 0 acceleration with gravity (m/s²)
|
|
2449
|
+
uniform vec3 u_device0RotationRate; // Device 0 rotation rate (deg/s)
|
|
2450
|
+
uniform vec3 u_device0Orientation; // Device 0 orientation (degrees) - alpha, beta, gamma
|
|
2451
|
+
uniform vec2 u_device0Location; // Device 0 location - latitude, longitude
|
|
2452
|
+
uniform vec3 u_device1Acceleration; // Device 1 acceleration without gravity (m/s²)
|
|
2453
|
+
uniform vec3 u_device1AccelerationGravity; // Device 1 acceleration with gravity (m/s²)
|
|
2454
|
+
uniform vec3 u_device1RotationRate; // Device 1 rotation rate (deg/s)
|
|
2455
|
+
uniform vec3 u_device1Orientation; // Device 1 orientation (degrees) - alpha, beta, gamma
|
|
2456
|
+
uniform vec2 u_device1Location; // Device 1 location - latitude, longitude
|
|
2457
|
+
uniform vec3 u_device2Acceleration; // Device 2 acceleration without gravity (m/s²)
|
|
2458
|
+
uniform vec3 u_device2AccelerationGravity; // Device 2 acceleration with gravity (m/s²)
|
|
2459
|
+
uniform vec3 u_device2RotationRate; // Device 2 rotation rate (deg/s)
|
|
2460
|
+
uniform vec3 u_device2Orientation; // Device 2 orientation (degrees) - alpha, beta, gamma
|
|
2461
|
+
uniform vec2 u_device2Location; // Device 2 location - latitude, longitude
|
|
2462
|
+
uniform vec3 u_device3Acceleration; // Device 3 acceleration without gravity (m/s²)
|
|
2463
|
+
uniform vec3 u_device3AccelerationGravity; // Device 3 acceleration with gravity (m/s²)
|
|
2464
|
+
uniform vec3 u_device3RotationRate; // Device 3 rotation rate (deg/s)
|
|
2465
|
+
uniform vec3 u_device3Orientation; // Device 3 orientation (degrees) - alpha, beta, gamma
|
|
2466
|
+
uniform vec2 u_device3Location; // Device 3 location - latitude, longitude
|
|
2467
|
+
uniform vec3 u_device4Acceleration; // Device 4 acceleration without gravity (m/s²)
|
|
2468
|
+
uniform vec3 u_device4AccelerationGravity; // Device 4 acceleration with gravity (m/s²)
|
|
2469
|
+
uniform vec3 u_device4RotationRate; // Device 4 rotation rate (deg/s)
|
|
2470
|
+
uniform vec3 u_device4Orientation; // Device 4 orientation (degrees) - alpha, beta, gamma
|
|
2471
|
+
uniform vec2 u_device4Location; // Device 4 location - latitude, longitude
|
|
2472
|
+
uniform vec3 u_device5Acceleration; // Device 5 acceleration without gravity (m/s²)
|
|
2473
|
+
uniform vec3 u_device5AccelerationGravity; // Device 5 acceleration with gravity (m/s²)
|
|
2474
|
+
uniform vec3 u_device5RotationRate; // Device 5 rotation rate (deg/s)
|
|
2475
|
+
uniform vec3 u_device5Orientation; // Device 5 orientation (degrees) - alpha, beta, gamma
|
|
2476
|
+
uniform vec2 u_device5Location; // Device 5 location - latitude, longitude
|
|
2477
|
+
uniform vec3 u_device6Acceleration; // Device 6 acceleration without gravity (m/s²)
|
|
2478
|
+
uniform vec3 u_device6AccelerationGravity; // Device 6 acceleration with gravity (m/s²)
|
|
2479
|
+
uniform vec3 u_device6RotationRate; // Device 6 rotation rate (deg/s)
|
|
2480
|
+
uniform vec3 u_device6Orientation; // Device 6 orientation (degrees) - alpha, beta, gamma
|
|
2481
|
+
uniform vec2 u_device6Location; // Device 6 location - latitude, longitude
|
|
2482
|
+
uniform vec3 u_device7Acceleration; // Device 7 acceleration without gravity (m/s²)
|
|
2483
|
+
uniform vec3 u_device7AccelerationGravity; // Device 7 acceleration with gravity (m/s²)
|
|
2484
|
+
uniform vec3 u_device7RotationRate; // Device 7 rotation rate (deg/s)
|
|
2485
|
+
uniform vec3 u_device7Orientation; // Device 7 orientation (degrees) - alpha, beta, gamma
|
|
2486
|
+
uniform vec2 u_device7Location; // Device 7 location - latitude, longitude
|
|
2487
|
+
|
|
2434
2488
|
// Backbuffer (previous frame feedback)
|
|
2435
2489
|
${this.backbufferEnabled ? "uniform sampler2D backbuffer; // Previous frame texture for feedback effects" : "// backbuffer not enabled"}
|
|
2436
2490
|
`;
|
|
@@ -2741,6 +2795,134 @@ ${error}`);
|
|
|
2741
2795
|
} else {
|
|
2742
2796
|
this.setUniform("u_segmentationRes", "vec2", [0, 0]);
|
|
2743
2797
|
}
|
|
2798
|
+
const internalDevice = viji.device;
|
|
2799
|
+
if (internalDevice) {
|
|
2800
|
+
const motion = internalDevice.motion;
|
|
2801
|
+
if (motion?.acceleration) {
|
|
2802
|
+
this.setUniform("u_deviceAcceleration", "vec3", [
|
|
2803
|
+
motion.acceleration.x ?? 0,
|
|
2804
|
+
motion.acceleration.y ?? 0,
|
|
2805
|
+
motion.acceleration.z ?? 0
|
|
2806
|
+
]);
|
|
2807
|
+
} else {
|
|
2808
|
+
this.setUniform("u_deviceAcceleration", "vec3", [0, 0, 0]);
|
|
2809
|
+
}
|
|
2810
|
+
if (motion?.accelerationIncludingGravity) {
|
|
2811
|
+
this.setUniform("u_deviceAccelerationGravity", "vec3", [
|
|
2812
|
+
motion.accelerationIncludingGravity.x ?? 0,
|
|
2813
|
+
motion.accelerationIncludingGravity.y ?? 0,
|
|
2814
|
+
motion.accelerationIncludingGravity.z ?? 0
|
|
2815
|
+
]);
|
|
2816
|
+
} else {
|
|
2817
|
+
this.setUniform("u_deviceAccelerationGravity", "vec3", [0, 0, 0]);
|
|
2818
|
+
}
|
|
2819
|
+
if (motion?.rotationRate) {
|
|
2820
|
+
this.setUniform("u_deviceRotationRate", "vec3", [
|
|
2821
|
+
motion.rotationRate.alpha ?? 0,
|
|
2822
|
+
motion.rotationRate.beta ?? 0,
|
|
2823
|
+
motion.rotationRate.gamma ?? 0
|
|
2824
|
+
]);
|
|
2825
|
+
} else {
|
|
2826
|
+
this.setUniform("u_deviceRotationRate", "vec3", [0, 0, 0]);
|
|
2827
|
+
}
|
|
2828
|
+
const orientation = internalDevice.orientation;
|
|
2829
|
+
if (orientation) {
|
|
2830
|
+
this.setUniform("u_deviceOrientation", "vec3", [
|
|
2831
|
+
orientation.alpha ?? 0,
|
|
2832
|
+
orientation.beta ?? 0,
|
|
2833
|
+
orientation.gamma ?? 0
|
|
2834
|
+
]);
|
|
2835
|
+
this.setUniform("u_deviceOrientationAbsolute", "bool", orientation.absolute);
|
|
2836
|
+
} else {
|
|
2837
|
+
this.setUniform("u_deviceOrientation", "vec3", [0, 0, 0]);
|
|
2838
|
+
this.setUniform("u_deviceOrientationAbsolute", "bool", false);
|
|
2839
|
+
}
|
|
2840
|
+
const geolocation = internalDevice.geolocation;
|
|
2841
|
+
if (geolocation) {
|
|
2842
|
+
this.setUniform("u_deviceLocation", "vec2", [
|
|
2843
|
+
geolocation.latitude ?? 0,
|
|
2844
|
+
geolocation.longitude ?? 0
|
|
2845
|
+
]);
|
|
2846
|
+
this.setUniform("u_deviceLocationExt", "vec4", [
|
|
2847
|
+
geolocation.altitude ?? 0,
|
|
2848
|
+
geolocation.accuracy ?? 0,
|
|
2849
|
+
geolocation.heading ?? 0,
|
|
2850
|
+
geolocation.speed ?? 0
|
|
2851
|
+
]);
|
|
2852
|
+
} else {
|
|
2853
|
+
this.setUniform("u_deviceLocation", "vec2", [0, 0]);
|
|
2854
|
+
this.setUniform("u_deviceLocationExt", "vec4", [0, 0, 0, 0]);
|
|
2855
|
+
}
|
|
2856
|
+
} else {
|
|
2857
|
+
this.setUniform("u_deviceAcceleration", "vec3", [0, 0, 0]);
|
|
2858
|
+
this.setUniform("u_deviceAccelerationGravity", "vec3", [0, 0, 0]);
|
|
2859
|
+
this.setUniform("u_deviceRotationRate", "vec3", [0, 0, 0]);
|
|
2860
|
+
this.setUniform("u_deviceOrientation", "vec3", [0, 0, 0]);
|
|
2861
|
+
this.setUniform("u_deviceOrientationAbsolute", "bool", false);
|
|
2862
|
+
this.setUniform("u_deviceLocation", "vec2", [0, 0]);
|
|
2863
|
+
this.setUniform("u_deviceLocationExt", "vec4", [0, 0, 0, 0]);
|
|
2864
|
+
}
|
|
2865
|
+
const externalDevices = viji.devices || [];
|
|
2866
|
+
const externalDeviceCount = Math.min(externalDevices.length, ShaderWorkerAdapter.MAX_EXTERNAL_DEVICES);
|
|
2867
|
+
this.setUniform("u_externalDeviceCount", "int", externalDeviceCount);
|
|
2868
|
+
for (let i = 0; i < ShaderWorkerAdapter.MAX_EXTERNAL_DEVICES; i++) {
|
|
2869
|
+
if (i < externalDeviceCount) {
|
|
2870
|
+
const device = externalDevices[i];
|
|
2871
|
+
const motion = device.motion;
|
|
2872
|
+
if (motion?.acceleration) {
|
|
2873
|
+
this.setUniform(`u_device${i}Acceleration`, "vec3", [
|
|
2874
|
+
motion.acceleration.x ?? 0,
|
|
2875
|
+
motion.acceleration.y ?? 0,
|
|
2876
|
+
motion.acceleration.z ?? 0
|
|
2877
|
+
]);
|
|
2878
|
+
} else {
|
|
2879
|
+
this.setUniform(`u_device${i}Acceleration`, "vec3", [0, 0, 0]);
|
|
2880
|
+
}
|
|
2881
|
+
if (motion?.accelerationIncludingGravity) {
|
|
2882
|
+
this.setUniform(`u_device${i}AccelerationGravity`, "vec3", [
|
|
2883
|
+
motion.accelerationIncludingGravity.x ?? 0,
|
|
2884
|
+
motion.accelerationIncludingGravity.y ?? 0,
|
|
2885
|
+
motion.accelerationIncludingGravity.z ?? 0
|
|
2886
|
+
]);
|
|
2887
|
+
} else {
|
|
2888
|
+
this.setUniform(`u_device${i}AccelerationGravity`, "vec3", [0, 0, 0]);
|
|
2889
|
+
}
|
|
2890
|
+
if (motion?.rotationRate) {
|
|
2891
|
+
this.setUniform(`u_device${i}RotationRate`, "vec3", [
|
|
2892
|
+
motion.rotationRate.alpha ?? 0,
|
|
2893
|
+
motion.rotationRate.beta ?? 0,
|
|
2894
|
+
motion.rotationRate.gamma ?? 0
|
|
2895
|
+
]);
|
|
2896
|
+
} else {
|
|
2897
|
+
this.setUniform(`u_device${i}RotationRate`, "vec3", [0, 0, 0]);
|
|
2898
|
+
}
|
|
2899
|
+
const orientation = device.orientation;
|
|
2900
|
+
if (orientation) {
|
|
2901
|
+
this.setUniform(`u_device${i}Orientation`, "vec3", [
|
|
2902
|
+
orientation.alpha ?? 0,
|
|
2903
|
+
orientation.beta ?? 0,
|
|
2904
|
+
orientation.gamma ?? 0
|
|
2905
|
+
]);
|
|
2906
|
+
} else {
|
|
2907
|
+
this.setUniform(`u_device${i}Orientation`, "vec3", [0, 0, 0]);
|
|
2908
|
+
}
|
|
2909
|
+
const geolocation = device.geolocation;
|
|
2910
|
+
if (geolocation) {
|
|
2911
|
+
this.setUniform(`u_device${i}Location`, "vec2", [
|
|
2912
|
+
geolocation.latitude ?? 0,
|
|
2913
|
+
geolocation.longitude ?? 0
|
|
2914
|
+
]);
|
|
2915
|
+
} else {
|
|
2916
|
+
this.setUniform(`u_device${i}Location`, "vec2", [0, 0]);
|
|
2917
|
+
}
|
|
2918
|
+
} else {
|
|
2919
|
+
this.setUniform(`u_device${i}Acceleration`, "vec3", [0, 0, 0]);
|
|
2920
|
+
this.setUniform(`u_device${i}AccelerationGravity`, "vec3", [0, 0, 0]);
|
|
2921
|
+
this.setUniform(`u_device${i}RotationRate`, "vec3", [0, 0, 0]);
|
|
2922
|
+
this.setUniform(`u_device${i}Orientation`, "vec3", [0, 0, 0]);
|
|
2923
|
+
this.setUniform(`u_device${i}Location`, "vec2", [0, 0]);
|
|
2924
|
+
}
|
|
2925
|
+
}
|
|
2744
2926
|
}
|
|
2745
2927
|
/**
|
|
2746
2928
|
* Update parameter uniforms from parameter objects
|
|
@@ -3822,18 +4004,12 @@ class VijiWorkerRuntime {
|
|
|
3822
4004
|
if (!tctx) throw new Error("Failed to get 2D context");
|
|
3823
4005
|
tctx.drawImage(sourceCanvas, sx, sy, sWidth, sHeight, 0, 0, targetWidth, targetHeight);
|
|
3824
4006
|
const blob = await temp.convertToBlob({ type: mimeType });
|
|
3825
|
-
const arrayBuffer = await blob.arrayBuffer();
|
|
3826
4007
|
self.postMessage({
|
|
3827
4008
|
type: "capture-frame-result",
|
|
3828
4009
|
id: message.id,
|
|
3829
4010
|
timestamp: Date.now(),
|
|
3830
|
-
data: {
|
|
3831
|
-
|
|
3832
|
-
buffer: arrayBuffer,
|
|
3833
|
-
width: targetWidth,
|
|
3834
|
-
height: targetHeight
|
|
3835
|
-
}
|
|
3836
|
-
}, [arrayBuffer]);
|
|
4011
|
+
data: { blob }
|
|
4012
|
+
});
|
|
3837
4013
|
} catch (error) {
|
|
3838
4014
|
this.postMessage("error", {
|
|
3839
4015
|
id: message.id,
|
|
@@ -4018,4 +4194,4 @@ async function setSceneCode(sceneCode) {
|
|
|
4018
4194
|
}
|
|
4019
4195
|
}
|
|
4020
4196
|
self.setSceneCode = setSceneCode;
|
|
4021
|
-
//# sourceMappingURL=viji.worker-
|
|
4197
|
+
//# sourceMappingURL=viji.worker-Be0jZvYj.js.map
|