@bubo-squared/gyroview 0.4.0 → 0.4.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/CHANGELOG.md +12 -0
- package/README.md +2 -2
- package/dist/packages/core/src/domain/motion/imu/ImuFrame.js +16 -3
- package/dist/standalone.js +59 -59
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
What changed for a page using the package, newest first. Until 1.0, a minor version may change
|
|
4
4
|
the API.
|
|
5
5
|
|
|
6
|
+
## 0.4.1 (2026-10-01)
|
|
7
|
+
|
|
8
|
+
What a page may notice:
|
|
9
|
+
|
|
10
|
+
- An Insta360 X4 Air recording is stabilized about the right axes: its IMU frame is measured
|
|
11
|
+
(ADR 0009) where it was assumed. The `ready` event's `imuFrame` is
|
|
12
|
+
`{ name: 'X4 Air', isVerified: true }` where it was the unverified aligned frame, and the load
|
|
13
|
+
no longer warns (`recording-degraded`) that the IMU frame has not been verified on a recording.
|
|
14
|
+
- A camera is given a measured IMU frame only by its whole model name: a model whose name merely
|
|
15
|
+
begins with a measured camera's, such as a later "X5 Pro", gets the unverified frame and its
|
|
16
|
+
warning until a recording of it is measured.
|
|
17
|
+
|
|
6
18
|
## 0.4.0 (2026-10-01)
|
|
7
19
|
|
|
8
20
|
New:
|
package/README.md
CHANGED
|
@@ -45,10 +45,10 @@ A page without a bundler loads the standalone file, which has Three.js and media
|
|
|
45
45
|
```html
|
|
46
46
|
<script
|
|
47
47
|
type="module"
|
|
48
|
-
src="https://cdn.jsdelivr.net/npm/@bubo-squared/gyroview@0.
|
|
48
|
+
src="https://cdn.jsdelivr.net/npm/@bubo-squared/gyroview@0.4/dist/standalone.js"
|
|
49
49
|
></script>
|
|
50
50
|
<script type="module">
|
|
51
|
-
import { inspectRecording } from 'https://cdn.jsdelivr.net/npm/@bubo-squared/gyroview@0.
|
|
51
|
+
import { inspectRecording } from 'https://cdn.jsdelivr.net/npm/@bubo-squared/gyroview@0.4/dist/standalone.js';
|
|
52
52
|
</script>
|
|
53
53
|
```
|
|
54
54
|
|
|
@@ -102,6 +102,11 @@ var X5_IMU_FRAME = measuredImuFrame("X5", QUARTER_TURN_ABOUT_LATERAL);
|
|
|
102
102
|
*/
|
|
103
103
|
var X6_IMU_FRAME = measuredImuFrame("X6", QUARTER_TURN_ABOUT_LATERAL);
|
|
104
104
|
/**
|
|
105
|
+
* Measured on one X4 Air recording (ADR 0009): the X5's arrangement again, which the ranking puts
|
|
106
|
+
* first, the aligned frame third.
|
|
107
|
+
*/
|
|
108
|
+
var X4_AIR_IMU_FRAME = measuredImuFrame("X4 Air", QUARTER_TURN_ABOUT_LATERAL);
|
|
109
|
+
/**
|
|
105
110
|
* Until a recording proves otherwise, the IMU is assumed aligned with the body.
|
|
106
111
|
*/
|
|
107
112
|
var ALIGNED_IMU_FRAME = assumedImuFrame("aligned (unverified)", [
|
|
@@ -109,13 +114,21 @@ var ALIGNED_IMU_FRAME = assumedImuFrame("aligned (unverified)", [
|
|
|
109
114
|
"y",
|
|
110
115
|
"z"
|
|
111
116
|
]);
|
|
112
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Keyed by the whole model name: a name that extends a measured one ("X4 Air" of "X4", an "X5
|
|
119
|
+
* Pro") is another camera, unmeasured until a recording of it is ranked.
|
|
120
|
+
*/
|
|
121
|
+
var IMU_FRAMES_BY_MODEL = /* @__PURE__ */ new Map([
|
|
122
|
+
["Insta360 X4 Air", X4_AIR_IMU_FRAME],
|
|
123
|
+
["Insta360 X5", X5_IMU_FRAME],
|
|
124
|
+
["Insta360 X6", X6_IMU_FRAME]
|
|
125
|
+
]);
|
|
113
126
|
/**
|
|
114
127
|
* The IMU frame for a recording, chosen from the camera model the file names. A starting point
|
|
115
128
|
* the recording's own data can be checked against with the ranking test, never the last word.
|
|
116
129
|
*/
|
|
117
130
|
function imuFrameFor(hints) {
|
|
118
|
-
return IMU_FRAMES_BY_MODEL.
|
|
131
|
+
return IMU_FRAMES_BY_MODEL.get(hints.model?.trim() ?? "") ?? ALIGNED_IMU_FRAME;
|
|
119
132
|
}
|
|
120
133
|
//#endregion
|
|
121
|
-
export { ALIGNED_IMU_FRAME, X5_IMU_FRAME, X6_IMU_FRAME, assumedImuFrame, imuFrameFor, isProperRotation, toBodyFrame };
|
|
134
|
+
export { ALIGNED_IMU_FRAME, X4_AIR_IMU_FRAME, X5_IMU_FRAME, X6_IMU_FRAME, assumedImuFrame, imuFrameFor, isProperRotation, toBodyFrame };
|