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 coverageR123 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