Repository navigation
v4.7.3
⚠️ Breaking Changes
Lumice raypath --reportnow emits schema 3 (#475, #477, #478;LUMICE_API_VERSION
452 → 453). The target-free feature report serializes asschema_version: 3where 4.7.2
emitted 2, and a reader written for the schema-2 document must reject a v3 document (the
engine's own reader does) — update any script that parses--reportJSON to accept schema 3.
The change is the report's shape, not just its number: where schema 2 was a per-feature list
with Monte-Carlo evidence, schema 3 emits structural objects — ascopeblock, asupport
block carrying the delta-axis partition with its completeness certificate, the per-wavelength
onset table and the restricted family curve, per-feature blocks,unattributed_structures,
andmc_evidencedemoted to a corroboration field. The request surface (target schema 1, the
fiber walk,--warm) is unchanged.
CLI
- Changed: config fields that silently did nothing now warn at startup (#476). A config that
declares a filter nothing binds, places afilterkey where nothing reads it (on the scene or
a scattering layer, instead of per entry), or commits an emptyrenderlist used to be
accepted without a trace; the engine now logs a warning naming the no-op. Every such config
still renders byte-identically — the change is the warning, not new behavior.
GUI
- Added: Look At target locking (#483). The camera row is now
Reset→Look At→Lock.
TheLook Atcombo points the camera at a named direction in one click; withLockchecked,
the camera keeps following that direction as scene values such as sun altitude change, without
a Run. EditingElevationorAzimuth, or dragging the preview to rotate it, turnsLock
off and keeps that manual view; changingRoll,FOV, or the preview zoom does not. The
selected target is retained, so re-checkingLockresumes following it.Reset, a lens
change, or a document New/Open/Revert turnsLockoff (document changes also reset the target
to Sun); full-sky lenses disable both controls. - Changed: the Sun diameter field accepts 0 — a point source (#486). The GUI's sun-diameter
editor clamped the value at a 0.1° floor, so a point-source sun (diameter 0, which the
engine's default scene uses and the config file has always accepted) could not be entered
from the panel. The floor is gone; the tooltip names what 0 means. - Fixed: the Look At row aligns with the panel's control grid (#487, #489). The
Reset/
Look At/Lockrow drew its three controls at mismatched heights and off the grid the
right panel's other rows follow; all three now share one full-height row that ends on the
Lock checkbox, its right edge on the same line the FOV input ends on.
Rendered output (GUI + CLI)
- Fixed: dual-fisheye fold-boundary energy loss (#480). The dual-fisheye projection passed
the fold-boundary direction through a float32 rounding that pushed rays out of the projection
and let the bounds check silently drop them — roughly 18.9% of a dual-fisheye frame's energy.
The boundary is now clamped after the floor, so the dropped rays render; the projection's
shared path is fixed once, for both the CLI and the GUI.
liblumice_analytic
- Added:
LUMICE_ANALYTIC_API_VERSION7 → 8 — the u-S² field layer (#477). Eight new calls
(TraceBoundaryLoop,TraceWeightKinks,ClassifyCriticalStructure,PartitionDeviationAxis,
TraceWavelengthCriticalTable,TraceRestrictedFamilyCurve,DiagnoseChromatic,
DiagnoseClassTint) with their result structs,Releasefunctions and twelve enumerations
publish the deviation-field geometry of one fixed face sequence: kind-1/2/3 critical structure,
the delta-axis partition with its escape regimes, per-wavelength onset tables, the restricted
family curve, and the two-index chromatic verdicts. Nothing existing changed. The kernels are
the C++ port of Lumice Integral's field layer, pinned against it by parity fixtures; the
library is still not part of the download packages.
What's Changed
- feat(raypath): schema3 measure layer (task-661) by @LoveDaisy in #475
- fix(config): warn on the two silent no-op config shapes by @LoveDaisy in #476
- feat(analytic): schema3 geometry layer port (u-S2 field, partition, walks, focusing/chromatic, contour, API v8) by @LoveDaisy in #477
- feat(raypath): schema3 report - state machines, support block, unattributed, mc_evidence, schema_version=3 by @LoveDaisy in #478
- Share-domain calibration: lens landing semantics + dual fold-boundary defect + cone cross-check tool (task-669) by @LoveDaisy in #479
- fix(raypath): clamp dual-fisheye fold-boundary pixels into canvas (task-670) by @LoveDaisy in #480
- Clarify mixed-corner tolerance consumer comment by @LoveDaisy in #481
- ci: reduce repeated raypath test work and govern cumulative duration by @LoveDaisy in #482
- feat(gui): add Look At target locking with manual takeover by @LoveDaisy in #483
- chore(release): cut 4.7.3 by @LoveDaisy in #484
- docs: migrate repo name ice_halo_sim to Lumice by @LoveDaisy in #485
- fix(gui): allow sun diameter 0 (point source) in the GUI domain by @LoveDaisy in #486
- fix(gui): align the View Look At row to the panel's control grid by @LoveDaisy in #487
- fix(ci): fix ccache seed audit false positive (one write per miss) by @LoveDaisy in #488
- Fix: revert right panel to 300px and end the Look At row on the Lock square by @LoveDaisy in #489
- chore(release): recut 4.7.3 by @LoveDaisy in #491
Full Changelog: v4.7.2...v4.7.3