# Halcyon: what the nudge demonstration calculates

The field viewer replays the existing SU(2) trajectory JSON files. The nudge
demonstration is a separate, calculated mechanical comparison. It does not infer
an inertia change from Q, and it is not a measured or validated Halcyon effect.

The gold mass has the effective inertia selected by the visitor (25–100% of
normal; initially 50%). The blue reference always has normal inertia. Their
gravitational mass, suspension stiffness, damping and applied force are identical.
This hypothetical separation of effective inertia from gravitational load is an
assumption for illustrating the proposed measurement, not established behavior.

## Parameters and units

| Quantity | Both comparisons |
|---|---|
| Normal inertial mass | 0.010 kg |
| Gravitational mass | 0.010 kg |
| Gravitational acceleration | 9.80665 m/s² |
| Static gravitational load | 0.0980665 N |
| Suspension stiffness k | 0.20 N/m |
| Viscous damping c | 0.006 N·s/m |
| Applied horizontal force | 0.002 N, from t = 0 to t < 0.250 s |
| Calculated model interval | 0–8 s |
| Initial displacement and velocity | Zero |

The small horizontal displacement x obeys:

    m_i x'' + c x' + k x = F(t)

For the normal reference, m_i = 0.010 kg. For the assumed response,
m_i = 0.010 kg × the selected inertia ratio. The model is underdamped throughout
the slider range. With alpha = c/(2 m_i) and omega = sqrt(k/m_i − alpha²),
the response to a force step F0 is:

    S(t) = F0/k × [1 − exp(−alpha t) × (cos(omega t) + alpha/omega × sin(omega t))]

S(t) is zero before t = 0. The finite-pulse displacement is
S(t) − S(t − 0.250). Velocity is calculated by differentiating this expression;
acceleration is calculated from the equation of motion. There is no randomized
or hand-keyed displacement animation.

For example, the initial acceleration is 0.200 m/s² for the reference and
0.400 m/s² at 50% assumed inertia. This is an initial-acceleration comparison,
not a claim that peak displacement doubles.

## What the drawing means

The fine suspension supplies support. The mass does not levitate or lose its
static gravitational load. A pendulum length of m_g g/k (about 0.490 m) provides
the selected small-angle stiffness. The mount and cage are conceptual.

Horizontal displacement is enlarged 12 times in the drawing; the bob size is
also schematic. The drawn cable keeps a constant illustrated length, so its
exaggerated vertical rise is not a separate simulation result. Readouts, the
displacement plot and downloaded CSV contain unscaled SI/model values.

The blue mass is a comparison overlay, not a second physical specimen.
Camera orbit is independent of specimen motion. Changing inertia resets the
comparison; switching tabs pauses its clock while it is not being displayed.

## Verification and source

- [Model equations](response-model.js)
- [Viewer implementation](response-demo.js)
- Tests: `tests/halcyon-response.test.js`, run with
  `npx vitest run tests/halcyon-response.test.js`.

The closed-form response is checked against independent fourth-order
Runge–Kutta integration over eight seconds at 25%, 50% and 100% inertia.
The equal applied force, pulse cutoff and expected initial accelerations are
also checked. Browser checks cover the live readings, identical responses at
100%, CSV output, mode switching and phone layout.
