@helix3/helix-cli 0.1.15-helix3.225 → 0.1.15-helix3.226
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/character/stages/vrmDynamics.d.ts +41 -25
- package/dist/character/stages/vrmDynamics.js +123 -61
- package/dist/character/stages/vrmDynamics.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
|
@@ -12,21 +12,22 @@
|
|
|
12
12
|
* Chains and colliders map across almost mechanically. The parameters do not, and this is where every naive
|
|
13
13
|
* converter goes wrong — including, by its own admission, VRChat's:
|
|
14
14
|
*
|
|
15
|
-
* · VRM `stiffness` is **world units per second**. It is added to the tail as
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* rate is `stiffness / boneLength` rad/s, which is what maps onto ω.
|
|
15
|
+
* · VRM `stiffness` is **world units per second**. It is added to the tail as `axis * stiffness * dt`, then the
|
|
16
|
+
* tail is projected back to its authored bone length. The projection couples stiffness, bone length and drag;
|
|
17
|
+
* none of the three can be converted independently without changing the response.
|
|
19
18
|
*
|
|
20
|
-
* · VRM `dragForce` is a per-FRAME velocity multiplier
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
19
|
+
* · VRM `dragForce` is a per-FRAME velocity multiplier. Three-vrm's reference Verlet step retains
|
|
20
|
+
* `(1 - dragForce)` of the previous displacement once per update while stiffness and gravity are scaled by
|
|
21
|
+
* dt. Converting it means choosing the frame rate it was authored against; 60 Hz is the preview convention.
|
|
22
|
+
* We linearise that exact projected step and map its two discrete poles to the continuous spring's poles.
|
|
23
|
+
* This preserves both oscillation frequency and decay instead of equating velocity retention alone, which
|
|
24
|
+
* over-damped ordinary VRoid hair and flattened distinct authored values at the critical-damping clamp.
|
|
24
25
|
*
|
|
25
26
|
* · VRM `gravityPower` is likewise a velocity, not an acceleration, so it cannot be read as m/s². The
|
|
26
27
|
* conversion goes through the EQUILIBRIUM instead: in VRM the rest droop satisfies
|
|
27
|
-
* `tan θ ≈ gravityPower / stiffness`, and in this solver the sag is `g /
|
|
28
|
-
*
|
|
29
|
-
* preserving a number that means something different on each side.
|
|
28
|
+
* `tan θ ≈ gravityPower / stiffness`, and in this solver the sag is `g / (ω²L)`. Setting those equal gives
|
|
29
|
+
* `g = gravityPower * ω²L / stiffness`, using the bounded ω this converter actually emits. That preserves
|
|
30
|
+
* how far a chain hangs rather than preserving a number that means something different on each side.
|
|
30
31
|
*
|
|
31
32
|
* None of this is exact, and it is not claimed to be. The research that produced these relations fitted them
|
|
32
33
|
* numerically and found parameter recovery good but multi-joint waveforms drifting in phase over seconds. The
|
|
@@ -81,25 +82,40 @@ export interface VrmImportResult {
|
|
|
81
82
|
}
|
|
82
83
|
/** ω (rad/s) → the contract's normalised 0..1 stiffness. The inverse of `stiffnessToOmega`. */
|
|
83
84
|
export declare function omegaToStiffness(omega: number): number;
|
|
85
|
+
/** Continuous response plus its bounded `helix/dynamics@1` representation. */
|
|
86
|
+
export interface ConvertedSpring {
|
|
87
|
+
/** Unclamped continuous natural frequency, in rad/s. */
|
|
88
|
+
omega: number;
|
|
89
|
+
/** Unclamped continuous damping ratio. Values above one cannot be represented by dynamics@1. */
|
|
90
|
+
dampingRatio: number;
|
|
91
|
+
/** Natural frequency of the closest representable response, before the engine's 2..40 rad/s clamp. */
|
|
92
|
+
mappedOmega: number;
|
|
93
|
+
/** Natural frequency after the dynamics@1 clamp; this is what the runtime actually solves. */
|
|
94
|
+
engineOmega: number;
|
|
95
|
+
/** Damping ratio of the bounded dynamics@1 representation. */
|
|
96
|
+
mappedDampingRatio: number;
|
|
97
|
+
/** Normalised dynamics@1 stiffness. */
|
|
98
|
+
stiffness: number;
|
|
99
|
+
/** Normalised dynamics@1 damping. */
|
|
100
|
+
damping: number;
|
|
101
|
+
}
|
|
84
102
|
/**
|
|
85
|
-
*
|
|
103
|
+
* Convert one VRM projected-Verlet joint to the continuous `helix/dynamics@1` spring.
|
|
86
104
|
*
|
|
87
|
-
*
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* VRM `dragForce` (per-frame velocity retention) → damping ratio ζ.
|
|
105
|
+
* For a small angular displacement `x`, three-vrm's documented update linearises to:
|
|
106
|
+
*
|
|
107
|
+
* q = 1 + (stiffness / boneLength) dt
|
|
108
|
+
* x[n+1] = ((1 + retention) / q) x[n] - (retention / q) x[n-1]
|
|
92
109
|
*
|
|
93
|
-
*
|
|
94
|
-
* `exp(
|
|
95
|
-
*
|
|
96
|
-
*
|
|
110
|
+
* The roots of that recurrence are the response sampled at the authoring rate. Mapping their magnitude and
|
|
111
|
+
* phase to `exp((-ζω ± iωd)dt)` gives the continuous spring parameters directly. Dynamics@1 cannot express an
|
|
112
|
+
* overdamped response, so real positive roots map to a critical spring at the slow pole's rate. That preserves
|
|
113
|
+
* the visible return tail by lowering stiffness, as the contract requires, instead of clamping damping while
|
|
114
|
+
* retaining the geometric-mean frequency and making a heavily dragged chain snap back too quickly.
|
|
97
115
|
*/
|
|
98
|
-
export declare function
|
|
99
|
-
/** The unclamped ζ, so the caller can tell the creator when a value saturated instead of silently flattening it. */
|
|
100
|
-
export declare function rawDampingRatio(dragForce: number, omega: number, hz?: number): number;
|
|
116
|
+
export declare function convertSpring(vrmStiffness: number, dragForce: number, boneLengthM: number, hz?: number): ConvertedSpring;
|
|
101
117
|
/** VRM `gravityPower` → a multiplier on real world gravity, via the equilibrium droop. See the header. */
|
|
102
|
-
export declare function convertGravity(gravityPower: number, vrmStiffness: number, boneLengthM: number): number;
|
|
118
|
+
export declare function convertGravity(gravityPower: number, vrmStiffness: number, boneLengthM: number, engineOmega: number): number;
|
|
103
119
|
/**
|
|
104
120
|
* Guess how much a chain matters from its bone names.
|
|
105
121
|
*
|
|
@@ -13,21 +13,22 @@
|
|
|
13
13
|
* Chains and colliders map across almost mechanically. The parameters do not, and this is where every naive
|
|
14
14
|
* converter goes wrong — including, by its own admission, VRChat's:
|
|
15
15
|
*
|
|
16
|
-
* · VRM `stiffness` is **world units per second**. It is added to the tail as
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* rate is `stiffness / boneLength` rad/s, which is what maps onto ω.
|
|
16
|
+
* · VRM `stiffness` is **world units per second**. It is added to the tail as `axis * stiffness * dt`, then the
|
|
17
|
+
* tail is projected back to its authored bone length. The projection couples stiffness, bone length and drag;
|
|
18
|
+
* none of the three can be converted independently without changing the response.
|
|
20
19
|
*
|
|
21
|
-
* · VRM `dragForce` is a per-FRAME velocity multiplier
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
20
|
+
* · VRM `dragForce` is a per-FRAME velocity multiplier. Three-vrm's reference Verlet step retains
|
|
21
|
+
* `(1 - dragForce)` of the previous displacement once per update while stiffness and gravity are scaled by
|
|
22
|
+
* dt. Converting it means choosing the frame rate it was authored against; 60 Hz is the preview convention.
|
|
23
|
+
* We linearise that exact projected step and map its two discrete poles to the continuous spring's poles.
|
|
24
|
+
* This preserves both oscillation frequency and decay instead of equating velocity retention alone, which
|
|
25
|
+
* over-damped ordinary VRoid hair and flattened distinct authored values at the critical-damping clamp.
|
|
25
26
|
*
|
|
26
27
|
* · VRM `gravityPower` is likewise a velocity, not an acceleration, so it cannot be read as m/s². The
|
|
27
28
|
* conversion goes through the EQUILIBRIUM instead: in VRM the rest droop satisfies
|
|
28
|
-
* `tan θ ≈ gravityPower / stiffness`, and in this solver the sag is `g /
|
|
29
|
-
*
|
|
30
|
-
* preserving a number that means something different on each side.
|
|
29
|
+
* `tan θ ≈ gravityPower / stiffness`, and in this solver the sag is `g / (ω²L)`. Setting those equal gives
|
|
30
|
+
* `g = gravityPower * ω²L / stiffness`, using the bounded ω this converter actually emits. That preserves
|
|
31
|
+
* how far a chain hangs rather than preserving a number that means something different on each side.
|
|
31
32
|
*
|
|
32
33
|
* None of this is exact, and it is not claimed to be. The research that produced these relations fitted them
|
|
33
34
|
* numerically and found parameter recovery good but multi-joint waveforms drifting in phase over seconds. The
|
|
@@ -36,9 +37,7 @@
|
|
|
36
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
38
|
exports.CENTRE_INERTIA = exports.VRM_ASSUMED_AUTHORING_HZ = void 0;
|
|
38
39
|
exports.omegaToStiffness = omegaToStiffness;
|
|
39
|
-
exports.
|
|
40
|
-
exports.convertDamping = convertDamping;
|
|
41
|
-
exports.rawDampingRatio = rawDampingRatio;
|
|
40
|
+
exports.convertSpring = convertSpring;
|
|
42
41
|
exports.convertGravity = convertGravity;
|
|
43
42
|
exports.guessImportance = guessImportance;
|
|
44
43
|
exports.convertVrmDynamics = convertVrmDynamics;
|
|
@@ -68,39 +67,103 @@ function omegaToStiffness(omega) {
|
|
|
68
67
|
return Math.sqrt((clamped - STIFFNESS_MIN_OMEGA) / (STIFFNESS_MAX_OMEGA - STIFFNESS_MIN_OMEGA));
|
|
69
68
|
}
|
|
70
69
|
/**
|
|
71
|
-
*
|
|
70
|
+
* Convert one VRM projected-Verlet joint to the continuous `helix/dynamics@1` spring.
|
|
72
71
|
*
|
|
73
|
-
*
|
|
74
|
-
*/
|
|
75
|
-
function convertStiffness(vrmStiffness, boneLengthM) {
|
|
76
|
-
const length = Math.max(boneLengthM, 1e-3);
|
|
77
|
-
return omegaToStiffness(Math.max(vrmStiffness, 0) / length);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* VRM `dragForce` (per-frame velocity retention) → damping ratio ζ.
|
|
72
|
+
* For a small angular displacement `x`, three-vrm's documented update linearises to:
|
|
81
73
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
74
|
+
* q = 1 + (stiffness / boneLength) dt
|
|
75
|
+
* x[n+1] = ((1 + retention) / q) x[n] - (retention / q) x[n-1]
|
|
76
|
+
*
|
|
77
|
+
* The roots of that recurrence are the response sampled at the authoring rate. Mapping their magnitude and
|
|
78
|
+
* phase to `exp((-ζω ± iωd)dt)` gives the continuous spring parameters directly. Dynamics@1 cannot express an
|
|
79
|
+
* overdamped response, so real positive roots map to a critical spring at the slow pole's rate. That preserves
|
|
80
|
+
* the visible return tail by lowering stiffness, as the contract requires, instead of clamping damping while
|
|
81
|
+
* retaining the geometric-mean frequency and making a heavily dragged chain snap back too quickly.
|
|
86
82
|
*/
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
function convertSpring(vrmStiffness, dragForce, boneLengthM, hz = exports.VRM_ASSUMED_AUTHORING_HZ) {
|
|
84
|
+
const safeHz = Number.isFinite(hz) ? Math.max(hz, 1e-3) : exports.VRM_ASSUMED_AUTHORING_HZ;
|
|
85
|
+
const dt = 1 / safeHz;
|
|
86
|
+
const finiteLength = Number.isFinite(boneLengthM) ? boneLengthM : 0.07;
|
|
87
|
+
const length = Math.max(finiteLength, 1e-3);
|
|
88
|
+
const finiteStiffness = Number.isFinite(vrmStiffness) ? vrmStiffness : 0;
|
|
89
|
+
const restoringRate = Math.max(finiteStiffness, 0) / length;
|
|
90
|
+
const finiteDrag = Number.isFinite(dragForce) ? dragForce : 0.5;
|
|
91
|
+
const drag = Math.min(Math.max(finiteDrag, 0), 1);
|
|
92
|
+
const retention = 1 - drag;
|
|
93
|
+
const projectionScale = 1 + restoringRate * dt;
|
|
94
|
+
const trace = (1 + retention) / projectionScale;
|
|
95
|
+
const determinant = retention / projectionScale;
|
|
96
|
+
const discriminant = trace * trace - 4 * determinant;
|
|
97
|
+
let omega;
|
|
98
|
+
let dampingRatio;
|
|
99
|
+
let decayRate;
|
|
100
|
+
let mappedOmega;
|
|
101
|
+
if (retention <= Number.EPSILON) {
|
|
102
|
+
// dragForce=1 removes the second pole entirely. Preserve its one finite return rate with the closest
|
|
103
|
+
// representable response: a critically damped spring at the same slow-pole rate.
|
|
104
|
+
decayRate = Math.log(projectionScale) / dt;
|
|
105
|
+
omega = decayRate;
|
|
106
|
+
dampingRatio = 1;
|
|
107
|
+
mappedOmega = decayRate;
|
|
108
|
+
}
|
|
109
|
+
else if (discriminant < 0) {
|
|
110
|
+
const magnitude = Math.sqrt(determinant);
|
|
111
|
+
decayRate = -Math.log(magnitude) / dt;
|
|
112
|
+
const phase = Math.acos(Math.min(Math.max(trace / (2 * magnitude), -1), 1));
|
|
113
|
+
const dampedOmega = phase / dt;
|
|
114
|
+
omega = Math.hypot(decayRate, dampedOmega);
|
|
115
|
+
dampingRatio = omega > 0 ? decayRate / omega : 1;
|
|
116
|
+
mappedOmega = omega;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const rootDelta = Math.sqrt(discriminant);
|
|
120
|
+
const slowRoot = Math.max((trace + rootDelta) / 2, Number.EPSILON);
|
|
121
|
+
const fastRoot = Math.max((trace - rootDelta) / 2, Number.EPSILON);
|
|
122
|
+
const slowRate = -Math.log(slowRoot) / dt;
|
|
123
|
+
const fastRate = -Math.log(fastRoot) / dt;
|
|
124
|
+
const rateProduct = Math.max(slowRate * fastRate, 0);
|
|
125
|
+
omega = Math.sqrt(rateProduct);
|
|
126
|
+
decayRate = (slowRate + fastRate) / 2;
|
|
127
|
+
dampingRatio = omega > 1e-8 ? (slowRate + fastRate) / (2 * omega) : 1;
|
|
128
|
+
// A critical spring has one repeated pole. Preserve the source's dominant return pole rather than its
|
|
129
|
+
// geometric-mean natural frequency; keeping the latter while clamping zeta to one can be many times faster.
|
|
130
|
+
mappedOmega = Math.max(slowRate, 0);
|
|
131
|
+
}
|
|
132
|
+
if (!Number.isFinite(omega))
|
|
133
|
+
omega = STIFFNESS_MAX_OMEGA;
|
|
134
|
+
if (!Number.isFinite(dampingRatio))
|
|
135
|
+
dampingRatio = 1;
|
|
136
|
+
if (!Number.isFinite(decayRate))
|
|
137
|
+
decayRate = omega;
|
|
138
|
+
if (!Number.isFinite(mappedOmega))
|
|
139
|
+
mappedOmega = STIFFNESS_MAX_OMEGA;
|
|
140
|
+
const engineOmega = Math.min(Math.max(mappedOmega, STIFFNESS_MIN_OMEGA), STIFFNESS_MAX_OMEGA);
|
|
141
|
+
const mappedDampingRatio = dampingRatio > 1 || mappedOmega <= 1e-8 ? 1 : decayRate / engineOmega;
|
|
142
|
+
return {
|
|
143
|
+
omega,
|
|
144
|
+
dampingRatio,
|
|
145
|
+
mappedOmega,
|
|
146
|
+
engineOmega,
|
|
147
|
+
mappedDampingRatio,
|
|
148
|
+
stiffness: omegaToStiffness(mappedOmega),
|
|
149
|
+
damping: Math.min(Math.max(mappedDampingRatio, 0), 1),
|
|
150
|
+
};
|
|
96
151
|
}
|
|
97
152
|
/** VRM `gravityPower` → a multiplier on real world gravity, via the equilibrium droop. See the header. */
|
|
98
|
-
function convertGravity(gravityPower, vrmStiffness, boneLengthM) {
|
|
99
|
-
if (gravityPower <= 0)
|
|
153
|
+
function convertGravity(gravityPower, vrmStiffness, boneLengthM, engineOmega) {
|
|
154
|
+
if (!Number.isFinite(gravityPower) || gravityPower <= 0)
|
|
100
155
|
return 0;
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
156
|
+
const stiffness = Number.isFinite(vrmStiffness) ? Math.max(vrmStiffness, 0) : 0;
|
|
157
|
+
// Gravity with no restoring term has no finite VRM equilibrium: the joint falls as far as its length allows.
|
|
158
|
+
// The bounded V1 contract cannot express that exactly, so retain the fully-drooped intent with its max force.
|
|
159
|
+
if (stiffness <= Number.EPSILON)
|
|
160
|
+
return 8;
|
|
161
|
+
const finiteLength = Number.isFinite(boneLengthM) ? boneLengthM : 0.07;
|
|
162
|
+
const length = Math.max(finiteLength, 1e-3);
|
|
163
|
+
const finiteOmega = Number.isFinite(engineOmega) ? engineOmega : STIFFNESS_MIN_OMEGA;
|
|
164
|
+
const boundedOmega = Math.min(Math.max(finiteOmega, STIFFNESS_MIN_OMEGA), STIFFNESS_MAX_OMEGA);
|
|
165
|
+
const accel = (gravityPower * boundedOmega * boundedOmega * length) / stiffness;
|
|
166
|
+
return Math.min(Math.max(accel / WORLD_GRAVITY, 0), 8);
|
|
104
167
|
}
|
|
105
168
|
/**
|
|
106
169
|
* Guess how much a chain matters from its bone names.
|
|
@@ -230,9 +293,9 @@ function convertVrm1(nodes, springBone) {
|
|
|
230
293
|
const dragRaw = numberOr(first.dragForce, 0.5);
|
|
231
294
|
const gravityPower = numberOr(first.gravityPower, 0);
|
|
232
295
|
const length = boneLength(nodes, rootIndex);
|
|
233
|
-
const
|
|
296
|
+
const spring = convertSpring(stiffnessRaw, dragRaw, length);
|
|
234
297
|
const name = typeof raw.name === 'string' && raw.name.length > 0 ? raw.name : root;
|
|
235
|
-
noteSaturation(warnings, name,
|
|
298
|
+
noteSaturation(warnings, name, spring, dragRaw);
|
|
236
299
|
const chainColliders = [];
|
|
237
300
|
for (const groupIndex of Array.isArray(raw.colliderGroups) ? raw.colliderGroups : []) {
|
|
238
301
|
for (const id of groups[Number(groupIndex)] ?? [])
|
|
@@ -246,9 +309,9 @@ function convertVrm1(nodes, springBone) {
|
|
|
246
309
|
id: sanitiseId(`${name}_${index}`, `spring_${index}`),
|
|
247
310
|
root,
|
|
248
311
|
importance: guessImportance(name),
|
|
249
|
-
stiffness:
|
|
250
|
-
damping:
|
|
251
|
-
gravity: convertGravity(gravityPower, stiffnessRaw, length),
|
|
312
|
+
stiffness: spring.stiffness,
|
|
313
|
+
damping: spring.damping,
|
|
314
|
+
gravity: convertGravity(gravityPower, stiffnessRaw, length, spring.engineOmega),
|
|
252
315
|
...(Array.isArray(first.gravityDir) && first.gravityDir.length === 3
|
|
253
316
|
? { gravityDir: first.gravityDir.slice(0, 3) } : {}),
|
|
254
317
|
...(hitRadius > 0 && chainColliders.length > 0
|
|
@@ -313,16 +376,16 @@ function convertVrm0(nodes, secondary) {
|
|
|
313
376
|
if (root === null)
|
|
314
377
|
return;
|
|
315
378
|
const length = boneLength(nodes, rootIndex);
|
|
316
|
-
const
|
|
317
|
-
noteSaturation(warnings, root,
|
|
379
|
+
const spring = convertSpring(stiffnessRaw, dragRaw, length);
|
|
380
|
+
noteSaturation(warnings, root, spring, dragRaw);
|
|
318
381
|
chains.push({
|
|
319
382
|
...(hasCentre ? { inertia: exports.CENTRE_INERTIA } : {}),
|
|
320
383
|
id: sanitiseId(`${root}_${groupIndex}_${i}`, `spring_${groupIndex}_${i}`),
|
|
321
384
|
root,
|
|
322
385
|
importance: guessImportance(`${comment} ${root}`),
|
|
323
|
-
stiffness:
|
|
324
|
-
damping:
|
|
325
|
-
gravity: convertGravity(gravityPower, stiffnessRaw, length),
|
|
386
|
+
stiffness: spring.stiffness,
|
|
387
|
+
damping: spring.damping,
|
|
388
|
+
gravity: convertGravity(gravityPower, stiffnessRaw, length, spring.engineOmega),
|
|
326
389
|
...(isRecord(raw.gravityDir)
|
|
327
390
|
? { gravityDir: [numberOr(raw.gravityDir.x, 0), numberOr(raw.gravityDir.y, -1), -numberOr(raw.gravityDir.z, 0)] }
|
|
328
391
|
: {}),
|
|
@@ -339,21 +402,20 @@ function convertVrm0(nodes, secondary) {
|
|
|
339
402
|
/**
|
|
340
403
|
* Record where a source value fell outside the contract's expressible range.
|
|
341
404
|
*
|
|
342
|
-
* Both
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
*
|
|
405
|
+
* Both conversions are reported — an overdamped chain has its slow return pole preserved with lower stiffness,
|
|
406
|
+
* and a representable response past 40 rad/s is already visually rigid. A creator comparing side by side
|
|
407
|
+
* deserves to know which knob stopped mattering rather than wonder why two chains they tuned differently move
|
|
408
|
+
* the same.
|
|
346
409
|
*/
|
|
347
410
|
function centreNote(name) {
|
|
348
411
|
return `'${name}': declares a center node; approximated with inertia ${exports.CENTRE_INERTIA} (true centre-space is a V2 item)`;
|
|
349
412
|
}
|
|
350
|
-
function noteSaturation(warnings, name,
|
|
351
|
-
if (
|
|
352
|
-
warnings.push(`'${name}':
|
|
413
|
+
function noteSaturation(warnings, name, spring, dragForce) {
|
|
414
|
+
if (spring.mappedOmega > STIFFNESS_MAX_OMEGA) {
|
|
415
|
+
warnings.push(`'${name}': response maps to ${spring.mappedOmega.toFixed(0)} rad/s, clamped to ${STIFFNESS_MAX_OMEGA} — it will read as rigid, which is how it already read`);
|
|
353
416
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
warnings.push(`'${name}': dragForce ${dragForce} is overdamped (zeta ${zeta.toFixed(1)}), clamped to critical — it will not overshoot, and it did not before either`);
|
|
417
|
+
if (spring.dampingRatio > 1) {
|
|
418
|
+
warnings.push(`'${name}': dragForce ${dragForce} produces an overdamped response (zeta ${spring.dampingRatio.toFixed(1)}), fitted to critical damping at its slow return rate`);
|
|
357
419
|
}
|
|
358
420
|
}
|
|
359
421
|
//# sourceMappingURL=vrmDynamics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vrmDynamics.js","sourceRoot":"","sources":["../../../src/character/stages/vrmDynamics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vrmDynamics.js","sourceRoot":"","sources":["../../../src/character/stages/vrmDynamics.ts"],"names":[],"mappings":"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"}
|