Version History

Changelog

Dome Calculator

Versioned as v[major].[three-digit-minor] — e.g. v5.040.

v5.040 — Current

Added Subresource Integrity (SRI) hash to the Three.js CDN script tag, fetched from cdnjs's own official SRI repository. Last gap in the client-side security surface.

v5.039

Fixed light-mode button contrast: active-state mode toggles used a hardcoded light cream text on what became a light peach background — contrast ratio was 1.54:1. Fixed to 4.76:1, passing WCAG AA.

v5.038

Added dark/light mode toggle (🌙/☀️) in the header. 3D viewport and Sky Coverage plots intentionally kept dark in both modes.

v5.037 – v5.032

3D Preview layout refinements: legend text moved beside the wireframe canvas, then later made toggleable ("Show Wire frame legend"). "Drag to orbit, scroll to zoom." repositioned and colored amber. Camera distance tuned through several iterations, settling at 5.

v5.031 – v5.028

Subtitle text removed from page header. Layout restructured from 3 to 4 columns: Step 3 (Optical Axis) moved to column 2, Local Horizon to the bottom of column 2, Step 4 (Telescope Pointing) to column 3.

v5.026 — Major UI polish

Roll-Off-Roof Calculator

Versioned as v2.00.000, incrementing .00.001 per change.

v2.00.008 — Current

Two bug fixes: (1) Peaked gable / wedge roof threw a ReferenceError: _ps is not definedclampAltToHorizon() and jog() were using _ps as a free variable that only existed inside computeSkyCoverage(); both now call getPointingScope() directly. (2) In multi-telescope mode, the selected telescope's OTA tube now tracks the live pointing direction — previously all tubes pointed straight up regardless of HA/Dec. Non-selected scope tubes remain in a neutral upright pose, tinted muted brown to distinguish them from the active amber tube.

v2.00.007

Fixed column alignment: removed a stale <div style="max-width:860px"> wrapper left over from an earlier rebuild that was capping the layout at 860px and offsetting the padding. All three columns now sit directly inside .wrap and align flush with the header.

v2.00.006

Three-column layout aligned to header: two-col-layout max-width and horizontal padding matched to .wrap (1440px, 24px), so the left edge of the setup column and the right edge of the 3D preview column sit flush with the header edges.

v2.00.005

All three columns set to equal 1fr 1fr 1fr width.

v2.00.004

3D Preview moved into a proper third column inside the two-col-layout grid (had been injected outside the layout by a prior rebuild script). Layout is now correctly: collapsible setup left | Telescope Pointing middle | 3D Preview right.

v2.00.003

3D Preview split into a dedicated third column — setup sections left (collapsible), Telescope Pointing middle (persistent/sticky), 3D Preview right (persistent/sticky). Grid: 1fr 1fr 1fr.

v2.00.002

Full page reorganisation into two columns: left (6 collapsible setup sections) and right (Telescope Pointing + 3D Preview, always visible). Sky coverage outline now traces the actual building wall polygon shape rather than an ellipse — a 4-wall rectangle shows as a rectangle, a 6-wall polygon shows its true footprint.

v2.00.001

Collapsible single-column layout: all setup panels converted to native <details> elements. Building & Roof open by default; Optical Axis, Telescopes, Pier Layout & Swing Clearance, Sky Coverage, and Local Horizon collapsed. Sky coverage fires automatically on section expand.

v2.00.000

Major version bump reflecting the full independent multi-mount rewrite. Interactive pier-layout floor plan (click to place, drag to reposition, syncs with NS/EW fields). Each telescope on its own independent mount with its own absolute position, mount height, and mount type. Telescope selector dropdown — any mount can drive the live pointing preview and sky coverage sweep. Swing clearance checks each telescope independently at its own position. Scope-to-scope check uses pivot-to-pivot distance vs sum of swing radii. Plan-view removed (redundant with floor plan). Site nav bar and CygnusWave logo added above tool header.

v1.x Legacy (single shared-mount model)

v1.00.10

Panel 1 and Panel 2 now use centimetres. All read sites updated to convert cm→mm internally; underlying physics math unchanged.

v1.00.09

Split telescope measurement units: tube length and aperture stay in mm; offset and lateral offset converted to cm.

v1.00.08

Swing Clearance panel now collapsible, matching Sky Coverage.

v1.00.07

Swing Clearance panel moved to sit directly below Sky Coverage.

v1.00.06

Telescope measurements converted to cm. Center-point markers added for each offset telescope in the plan-view diagram.

v1.00.05

Plan-view swing circles separated by lateral offset and individually labeled (T1/T2 etc.).

v1.00.04

Up to 4 telescopes with lateral offset, swing-radius wall clearance, telescope-to-telescope collision checking (parallel cylinder model), plan-view diagram, 3D swing spheres.

v1.00.03

3D Preview moved above Local Horizon. Layout collapsed from 4 to 3 columns.

v1.00.02

Wedge (mono-slope) added as a third roof shape. Flip checkbox for slope direction. Trapezoidal 3D prism shape.

v1.00.01

Custom wall shape system: up to 6 walls as a general convex polygon (half-planes). Roll-off wall correctly extended by roofTravel in polygon mode. Caught and fixed a bug where the roof wall distance was not being extended before intersection.

v1.00.00 — Baseline

Rectangular building, flat/peaked roof, roof-travel distance, local terrain horizon (.hrz import), full-sky coverage, GEM/AltAz mounts, full pointing constraints, 3D preview, dark/light mode, Save/Load, Reset, SRI hash, horizon-file export.