reference_generator = "julia --startup-file=no --project=. oscillation-lab.jl" julia_version = "1.11.2" reference_method = "LinearAlgebra.exp; independent column-major Kronecker lift; direct evaluation at each reference time" browser_method = "mathjs 14.8.1 expm; row-major quadratic lift; uniform transition matrix" renderer = "Three.js 0.180.0; D3 7.9.0; procedural spring and mass; no remote assets" model = "m*xddot+c*xdot+k*x=F0*cos(omega_d*t+phase); c=2*zeta*sqrt(m*k)" energy = "K=m*v^2/2; U=k*x^2/2; Q=integral(c*v^2 dt); W=integral(F*v dt); E+Q-W=E0" units = "seconds, metres, kilograms, newtons, joules; input drive phase in degrees" scene_scale = "fixed across each trajectory; displacement range fits the scene without clipping physical values" browser_samples = 1201 reference_cases = 9 reference_samples = 729 reference_csv_sha256 = "53dde38b78100ab2a3a1d519d585c5d621641d71e75b8d004cb6f1029d85be0b" oscillation_lab_jl_sha256 = "5f2fd1beaedd83325b456edb92591553ad27f7d407760ace7991e7d48805bd54" model_js_sha256 = "8859721b772aa5bf1c788a92bbb7583c4b01827840bf8d988fe13df5190aa4af" Manifest_toml_sha256 = "e17e1a121b9594f1d30348a84c9141117309068cb7ecaac50f3a6c45dbd382d9" pnpm_lock_yaml_sha256 = "4b72e788929b87f283a77c6390e75a904b9ceeb6a1ab633f088c658f77a9bef2" viewer_sha256 = "992da6d3de4ba9bd15d0ce321143edc3838e65e36c222aac41e5a530e5acbfb1"