Skip to content

Unify chart calculation and align README with Wasm-first engine - #6

Merged
jacksteamdev merged 2 commits into
mainfrom
feat/unify-chart-api
Oct 3, 2026
Merged

jacksteamdev merged 2 commits into
mainfrom
feat/unify-chart-api

Conversation

@jacksteamdev

Copy link
Copy Markdown
Owner

Chart callers currently choose between three entry points with different result contracts. This change replaces them with calculate_chart(&ephemeris, ChartInput), requiring explicit zodiac settings in ChartInput.zodiac and returning one rich ChartValues contract. The README now leads with the Wasm-first repository description and gives browser, Worker, and native integrations prominent links.

  • Remove the sidereal/configured entry points and obsolete result types; migrate repository callers and document the breaking Rust API change.
  • Calculate bodies and angles once, preserving reference formulas, speeds, declinations, body order, and coverage rules. Return twelve cusps and actual house-method metadata for every reference.
  • Reject overlapping houses consistently. Preserve the Worker HTTP shape and Whole Sign cusp omission; the agreed polar errors affect 247 frozen chart captures and one HTTP adapter case.
  • Keep original fixture bytes and hashes intact. The migration parity gate derives those exceptions from frozen cusp geometry, requires exact error responses, and compares every other result strictly.

Validation: workspace tests and Clippy; both Wasm adapter builds and Clippy checks; runtime boundary and usage-policy checks; package verification; native examples; documentation links and README/example synchronization; migration negative controls. Native and Wasm convention replays each pass 440 charts and reject 16 overlapping sets. Local workerd replay passes 3,831 matrix cases, 58 event cases, and 40 HTTP cases with only the documented migration exceptions. Chrome smoke checks pass for Tropical, Fagan–Bradley Whole Sign, and True Sky constellation charts. Independent spec and standards reviews found no blocking issues.

Rebased onto current main, preserving licensing/notices, CI selection, and ephemeris extraction. Checks establish regression and local runtime behavior; no hosted deployment, dataset regeneration, or independent astronomical validation was performed.

@jacksteamdev
jacksteamdev merged commit ac55e17 into main Oct 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant