Loading VibeLux...
Loading VibeLux...
How it works
A light plan is only as good as the math behind it. This page documents exactly how the VibeLux photometric engine is verified — what we test, against what ground truth, to what tolerance — and just as importantly, what we don't claim yet.
VibeLux computes PPFD from real photometry: it parses LM-63 (IES) goniometric files and interpolates the measured candela distribution for every fixture-to-point ray, applies the cosine of incidence and inverse-square distance, and scales by the fixture's photon flux — so a fixture's actual spatial and spectral character carries through to the canopy map. Light loss factors follow IES RP-1 conventions, and a multi-bounce radiosity pass adds wall, floor, and ceiling reflections with adaptive patch resolution. Fixtures without an IES file use a clearly-labeled beam-model approximation.
Photometric physics has exact answers for ideal sources. We encode those closed forms as automated tests that run in continuous integration on every change to the engine — if any layer (candela interpolation, flux integration, unit conversion, aggregation, interreflection) drifts, the build fails with a number, not a vibe.
| Check | Ground truth | Verified tolerance | What it locks |
|---|---|---|---|
| Isotropic source at nadir | PPFD = PPF / (2π·h²) | within 1.5% (absolute) | End-to-end accuracy of the IES candela path, including the flux integrator. |
| Inverse-square law | PPFD × h² constant across mounting heights | within 0.5% | Distance falloff — the foundation of every spacing decision. |
| Off-axis cosine³ law | PPFD(d) = PPFD(0) · cos³θ for an isotropic source | within 1% | Angular falloff across the canopy plane. |
| Lambertian distribution | PPFD = PPF / (π·h²) at nadir; cos⁴θ off-axis | within 1.5% / 1% | A second, independent distribution shape with exact closed forms. |
| Candela-magnitude invariance | Identical PPFD for any candela scaling of the same distribution | within 0.0001% | Only the distribution shape and the fixture PPF determine PPFD — locks the normalization layer. |
| Unit-system parity | Identical physical scene in feet vs meters | within 0.0001% | The imperial/metric conversion layer cannot drift. |
| Superposition | Multi-fixture grid = exact sum of single-fixture grids | exact (within 0.1 µmol display rounding) | The aggregation layer adds light sources linearly, as physics requires. |
| Energy conservation (beam model) | Photon flux through the calc plane never exceeds fixture PPF | 60° beam: 85–105% captured · 120°: bounded, never >105% | The no-IES Gaussian fallback cannot create energy; its honest envelope is pinned. |
| Interreflection invariants | Bounce only adds; total bounded by the 1/(1−ρ) geometric ceiling | verified at ρ = 0.5 grow-room mix and ρ = 0.9 white-box stress | The multi-bounce radiosity pass cannot subtract light or run away. |
The table above proves the engine implements the physics correctly. It is not the same as a field-accuracy figure. Legacy desktop tools cite measured accuracy specs earned over decades of bench validation; we will not borrow that credibility by implication.
Our field-validation program compares engine predictions against quantum-sensor (LI-COR-class) PAR grids measured in real cultivation rooms, using the same ingest pipeline that powers our sensor integrations. Until that study is published here with a measured ±% figure and methodology, treat VibeLux maps the way you should treat any light plan — including vendor PPFD maps: verify commissioning readings with a meter.
Most general lighting tools compute in lux and convert to PPFD with a single factor, which discards per-fixture spectral truth in mixed-spectrum rooms. VibeLux computes in photon units natively and carries a 41-bin spectral power distribution through to canopy metrics (YPF, R:FR, %B:G:R) — so the validation above applies to the numbers growers actually use.