Historical R131–R133 compute-once/render-many contract

Current authority: R144 WLightCurves architecture.

The compute/formula/view contract remains active inside the canonical R144 WLightCurves implementation.

Completed objective

load/compute physical data once
→ retain Date, T, r, log(r), delta and raw phase
→ apply requested formulas locally
→ select/mask stored arrays for ordinary view changes
→ run background ephemeris work only for new data or missing physical coverage

R123 identity foundation

PreparedCurveBinding carries the exact result identity from preparation through cache, optional worker execution and rendering. The renderer does not reconstruct result keys from widget state. This remains necessary, but is now one layer inside the broader R133 design.

Canonical geometry layer

Physical rows are Date, T, r, log(r), Δ and raw phase. They are keyed independently of H0, n, phase parameter, selected axis, visible limits, return/type/observer filters, Compare and asymmetry view.

Local vector formula layer

resolve_cached_curve_results() first materializes results from retained geometry. H0/n, 5 log10(Δ) and composite dust correction are applied with array operations. Only uncovered T intervals or required sampling refinement become geometry_jobs.

Current-state rendering

Formula and view changes do not invalidate a physical computation. When valid geometry arrives, the current formula and current view are rendered. Axis/filter/Compare/asymmetry changes are render-only.

Transactionality

Cancel, failure, incomplete results and stale data/element work preserve the previous valid graph. Geometry commits only after the complete operation succeeds. Recovery tries the local resolver before submitting unresolved geometry.

Scientific non-regression

No observation-selection rule, two-body photometric-geometry equation, light-time handling, H0/n relation, dust phase equation, adaptive-sampling meaning, curve styling or axis semantic changed. WComparison is unchanged.

QA

  • 103 passed, 1 skipped, 0 failed across the focused analytical groups.
  • 8 passed in the R133-specific module.
  • Analysis, modal ephemeris, WPlanner performance and documentation-hygiene validators passed.

R133 report · Full analysis architecture · Historical R123 stage