@photivra/engine 0.6.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +674 -0
- package/CHANGELOG.md +191 -0
- package/CITATION.cff +1 -1
- package/CONTRIBUTING.md +76 -0
- package/DCO +33 -0
- package/NODE_SUPPORT.md +37 -0
- package/NOTICE +2 -0
- package/README.md +139 -72
- package/SECURITY.md +55 -0
- package/THIRD_PARTY.md +63 -0
- package/dist/camera/equivalent-focal-length.d.ts +9 -0
- package/dist/camera/equivalent-focal-length.d.ts.map +1 -1
- package/dist/camera/equivalent-focal-length.js +9 -0
- package/dist/camera/equivalent-focal-length.js.map +1 -1
- package/dist/camera/field-of-view.d.ts +13 -0
- package/dist/camera/field-of-view.d.ts.map +1 -1
- package/dist/camera/field-of-view.js +13 -0
- package/dist/camera/field-of-view.js.map +1 -1
- package/dist/camera/projected-object-size.d.ts +8 -0
- package/dist/camera/projected-object-size.d.ts.map +1 -1
- package/dist/camera/projected-object-size.js +8 -0
- package/dist/camera/projected-object-size.js.map +1 -1
- package/dist/capture/capture-export-metadata.d.ts +60 -0
- package/dist/capture/capture-export-metadata.d.ts.map +1 -0
- package/dist/capture/capture-export-metadata.js +62 -0
- package/dist/capture/capture-export-metadata.js.map +1 -0
- package/dist/capture/environment-raw-producer.d.ts +55 -0
- package/dist/capture/environment-raw-producer.d.ts.map +1 -0
- package/dist/capture/environment-raw-producer.js +88 -0
- package/dist/capture/environment-raw-producer.js.map +1 -0
- package/dist/capture/export-jpeg.d.ts +12 -0
- package/dist/capture/export-jpeg.d.ts.map +1 -0
- package/dist/capture/export-jpeg.js +126 -0
- package/dist/capture/export-jpeg.js.map +1 -0
- package/dist/capture/export-tiff.d.ts +45 -0
- package/dist/capture/export-tiff.d.ts.map +1 -0
- package/dist/capture/export-tiff.js +129 -0
- package/dist/capture/export-tiff.js.map +1 -0
- package/dist/capture/focus-control.d.ts +210 -0
- package/dist/capture/focus-control.d.ts.map +1 -0
- package/dist/capture/focus-control.js +664 -0
- package/dist/capture/focus-control.js.map +1 -0
- package/dist/capture/linear-encoding.d.ts +59 -0
- package/dist/capture/linear-encoding.d.ts.map +1 -0
- package/dist/capture/linear-encoding.js +98 -0
- package/dist/capture/linear-encoding.js.map +1 -0
- package/dist/capture/photographic-export.d.ts +135 -0
- package/dist/capture/photographic-export.d.ts.map +1 -0
- package/dist/capture/photographic-export.js +273 -0
- package/dist/capture/photographic-export.js.map +1 -0
- package/dist/capture/raw-frame-limits.d.ts +12 -0
- package/dist/capture/raw-frame-limits.d.ts.map +1 -0
- package/dist/capture/raw-frame-limits.js +13 -0
- package/dist/capture/raw-frame-limits.js.map +1 -0
- package/dist/capture/raw-frame-reconstruction.d.ts +48 -0
- package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -0
- package/dist/capture/raw-frame-reconstruction.js +146 -0
- package/dist/capture/raw-frame-reconstruction.js.map +1 -0
- package/dist/capture/release-sequence.d.ts +120 -0
- package/dist/capture/release-sequence.d.ts.map +1 -0
- package/dist/capture/release-sequence.js +446 -0
- package/dist/capture/release-sequence.js.map +1 -0
- package/dist/capture/sensor-raw-frame.d.ts +34 -0
- package/dist/capture/sensor-raw-frame.d.ts.map +1 -0
- package/dist/capture/sensor-raw-frame.js +106 -0
- package/dist/capture/sensor-raw-frame.js.map +1 -0
- package/dist/capture/sensor-raw-producer.d.ts +51 -0
- package/dist/capture/sensor-raw-producer.d.ts.map +1 -0
- package/dist/capture/sensor-raw-producer.js +235 -0
- package/dist/capture/sensor-raw-producer.js.map +1 -0
- package/dist/capture/simulated-capture.d.ts +125 -0
- package/dist/capture/simulated-capture.d.ts.map +1 -0
- package/dist/capture/simulated-capture.js +248 -0
- package/dist/capture/simulated-capture.js.map +1 -0
- package/dist/color/capture-color.d.ts +73 -0
- package/dist/color/capture-color.d.ts.map +1 -0
- package/dist/color/capture-color.js +145 -0
- package/dist/color/capture-color.js.map +1 -0
- package/dist/color/sensor-color-development.d.ts +23 -0
- package/dist/color/sensor-color-development.d.ts.map +1 -0
- package/dist/color/sensor-color-development.js +56 -0
- package/dist/color/sensor-color-development.js.map +1 -0
- package/dist/color/white-balance.d.ts +175 -0
- package/dist/color/white-balance.d.ts.map +1 -0
- package/dist/color/white-balance.js +606 -0
- package/dist/color/white-balance.js.map +1 -0
- package/dist/composition/image-formation-plan.d.ts +481 -0
- package/dist/composition/image-formation-plan.d.ts.map +1 -0
- package/dist/composition/image-formation-plan.js +2499 -0
- package/dist/composition/image-formation-plan.js.map +1 -0
- package/dist/composition/plan-consumer.d.ts +53 -0
- package/dist/composition/plan-consumer.d.ts.map +1 -0
- package/dist/composition/plan-consumer.js +119 -0
- package/dist/composition/plan-consumer.js.map +1 -0
- package/dist/core/calculation-result.d.ts.map +1 -1
- package/dist/core/calculation-result.js +6 -0
- package/dist/core/calculation-result.js.map +1 -1
- package/dist/core/canonical-json.d.ts +18 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +44 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/configuration-error.d.ts +6 -0
- package/dist/core/configuration-error.d.ts.map +1 -1
- package/dist/core/configuration-error.js +6 -0
- package/dist/core/configuration-error.js.map +1 -1
- package/dist/core/evidence-provenance.d.ts +6 -0
- package/dist/core/evidence-provenance.d.ts.map +1 -1
- package/dist/core/evidence-provenance.js +7 -0
- package/dist/core/evidence-provenance.js.map +1 -1
- package/dist/core/image-formation.d.ts +9 -3
- package/dist/core/image-formation.d.ts.map +1 -1
- package/dist/core/image-formation.js +29 -5
- package/dist/core/image-formation.js.map +1 -1
- package/dist/core/owned-data.d.ts +25 -0
- package/dist/core/owned-data.d.ts.map +1 -0
- package/dist/core/owned-data.js +34 -0
- package/dist/core/owned-data.js.map +1 -0
- package/dist/core/record-validation.d.ts +17 -0
- package/dist/core/record-validation.d.ts.map +1 -0
- package/dist/core/record-validation.js +44 -0
- package/dist/core/record-validation.js.map +1 -0
- package/dist/core/scientific-assurance.d.ts +101 -0
- package/dist/core/scientific-assurance.d.ts.map +1 -0
- package/dist/core/scientific-assurance.js +301 -0
- package/dist/core/scientific-assurance.js.map +1 -0
- package/dist/core/spectral-composition.d.ts +106 -0
- package/dist/core/spectral-composition.d.ts.map +1 -0
- package/dist/core/spectral-composition.js +334 -0
- package/dist/core/spectral-composition.js.map +1 -0
- package/dist/core/spectral.d.ts +34 -0
- package/dist/core/spectral.d.ts.map +1 -0
- package/dist/core/spectral.js +57 -0
- package/dist/core/spectral.js.map +1 -0
- package/dist/core/validation.d.ts +6 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +6 -0
- package/dist/core/validation.js.map +1 -1
- package/dist/core/version.d.ts +9 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +10 -0
- package/dist/core/version.js.map +1 -0
- package/dist/equipment/exposure-capabilities.d.ts +125 -0
- package/dist/equipment/exposure-capabilities.d.ts.map +1 -0
- package/dist/equipment/exposure-capabilities.js +391 -0
- package/dist/equipment/exposure-capabilities.js.map +1 -0
- package/dist/equipment/generic-tier-assets.d.ts +82 -0
- package/dist/equipment/generic-tier-assets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-assets.js +119 -0
- package/dist/equipment/generic-tier-assets.js.map +1 -0
- package/dist/equipment/generic-tier-presets.d.ts +57 -0
- package/dist/equipment/generic-tier-presets.d.ts.map +1 -0
- package/dist/equipment/generic-tier-presets.js +122 -0
- package/dist/equipment/generic-tier-presets.js.map +1 -0
- package/dist/equipment/iso-capabilities.d.ts +143 -0
- package/dist/equipment/iso-capabilities.d.ts.map +1 -0
- package/dist/equipment/iso-capabilities.js +578 -0
- package/dist/equipment/iso-capabilities.js.map +1 -0
- package/dist/equipment/metering-capabilities.d.ts +58 -0
- package/dist/equipment/metering-capabilities.d.ts.map +1 -0
- package/dist/equipment/metering-capabilities.js +151 -0
- package/dist/equipment/metering-capabilities.js.map +1 -0
- package/dist/equipment/release-capabilities.d.ts +33 -0
- package/dist/equipment/release-capabilities.d.ts.map +1 -0
- package/dist/equipment/release-capabilities.js +176 -0
- package/dist/equipment/release-capabilities.js.map +1 -0
- package/dist/exposure/exposure-duration-control.d.ts +72 -0
- package/dist/exposure/exposure-duration-control.d.ts.map +1 -0
- package/dist/exposure/exposure-duration-control.js +161 -0
- package/dist/exposure/exposure-duration-control.js.map +1 -0
- package/dist/exposure/exposure-mode-resolver.d.ts +637 -0
- package/dist/exposure/exposure-mode-resolver.d.ts.map +1 -0
- package/dist/exposure/exposure-mode-resolver.js +1905 -0
- package/dist/exposure/exposure-mode-resolver.js.map +1 -0
- package/dist/exposure/exposure.d.ts +8 -0
- package/dist/exposure/exposure.d.ts.map +1 -1
- package/dist/exposure/exposure.js +8 -0
- package/dist/exposure/exposure.js.map +1 -1
- package/dist/exposure/flash.d.ts +179 -0
- package/dist/exposure/flash.d.ts.map +1 -0
- package/dist/exposure/flash.js +644 -0
- package/dist/exposure/flash.js.map +1 -0
- package/dist/exposure/metering-scene-radiance.d.ts +72 -0
- package/dist/exposure/metering-scene-radiance.d.ts.map +1 -0
- package/dist/exposure/metering-scene-radiance.js +222 -0
- package/dist/exposure/metering-scene-radiance.js.map +1 -0
- package/dist/exposure/metering-target.d.ts +67 -0
- package/dist/exposure/metering-target.d.ts.map +1 -0
- package/dist/exposure/metering-target.js +265 -0
- package/dist/exposure/metering-target.js.map +1 -0
- package/dist/exposure/metering-temporal.d.ts +76 -0
- package/dist/exposure/metering-temporal.d.ts.map +1 -0
- package/dist/exposure/metering-temporal.js +210 -0
- package/dist/exposure/metering-temporal.js.map +1 -0
- package/dist/exposure/metering.d.ts +124 -0
- package/dist/exposure/metering.d.ts.map +1 -0
- package/dist/exposure/metering.js +422 -0
- package/dist/exposure/metering.js.map +1 -0
- package/dist/exposure/program-line.d.ts +29 -0
- package/dist/exposure/program-line.d.ts.map +1 -0
- package/dist/exposure/program-line.js +126 -0
- package/dist/exposure/program-line.js.map +1 -0
- package/dist/index.d.ts +87 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -6
- package/dist/index.js.map +1 -1
- package/dist/motion/camera-rotation.d.ts +16 -0
- package/dist/motion/camera-rotation.d.ts.map +1 -1
- package/dist/motion/camera-rotation.js +16 -0
- package/dist/motion/camera-rotation.js.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.d.ts +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.js +13 -0
- package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -1
- package/dist/motion/capture-rotation-temporal-quadrature.js +15 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
- package/dist/motion/capture-rotation-trajectory.d.ts +15 -0
- package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -1
- package/dist/motion/capture-rotation-trajectory.js +15 -0
- package/dist/motion/capture-rotation-trajectory.js.map +1 -1
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +119 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +1 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js +263 -0
- package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -0
- package/dist/motion/extended-object-projection.d.ts +175 -0
- package/dist/motion/extended-object-projection.d.ts.map +1 -0
- package/dist/motion/extended-object-projection.js +402 -0
- package/dist/motion/extended-object-projection.js.map +1 -0
- package/dist/motion/projected-motion.d.ts +11 -0
- package/dist/motion/projected-motion.d.ts.map +1 -1
- package/dist/motion/projected-motion.js +11 -0
- package/dist/motion/projected-motion.js.map +1 -1
- package/dist/optics/aperture.d.ts +9 -0
- package/dist/optics/aperture.d.ts.map +1 -1
- package/dist/optics/aperture.js +9 -0
- package/dist/optics/aperture.js.map +1 -1
- package/dist/optics/circle-of-confusion.d.ts +8 -0
- package/dist/optics/circle-of-confusion.d.ts.map +1 -1
- package/dist/optics/circle-of-confusion.js +8 -0
- package/dist/optics/circle-of-confusion.js.map +1 -1
- package/dist/optics/complex-pupil-psf.d.ts +128 -0
- package/dist/optics/complex-pupil-psf.d.ts.map +1 -0
- package/dist/optics/complex-pupil-psf.js +462 -0
- package/dist/optics/complex-pupil-psf.js.map +1 -0
- package/dist/optics/depth-of-field.d.ts +18 -0
- package/dist/optics/depth-of-field.d.ts.map +1 -1
- package/dist/optics/depth-of-field.js +29 -4
- package/dist/optics/depth-of-field.js.map +1 -1
- package/dist/optics/diffraction.d.ts +8 -0
- package/dist/optics/diffraction.d.ts.map +1 -1
- package/dist/optics/diffraction.js +8 -0
- package/dist/optics/diffraction.js.map +1 -1
- package/dist/optics/focus-breathing.d.ts +13 -0
- package/dist/optics/focus-breathing.d.ts.map +1 -1
- package/dist/optics/focus-breathing.js +13 -0
- package/dist/optics/focus-breathing.js.map +1 -1
- package/dist/optics/focus-state.d.ts +47 -0
- package/dist/optics/focus-state.d.ts.map +1 -0
- package/dist/optics/focus-state.js +78 -0
- package/dist/optics/focus-state.js.map +1 -0
- package/dist/optics/front-of-lens-filter.d.ts +114 -0
- package/dist/optics/front-of-lens-filter.d.ts.map +1 -0
- package/dist/optics/front-of-lens-filter.js +468 -0
- package/dist/optics/front-of-lens-filter.js.map +1 -0
- package/dist/optics/illumination-vignetting.d.ts +9 -0
- package/dist/optics/illumination-vignetting.d.ts.map +1 -1
- package/dist/optics/illumination-vignetting.js +9 -0
- package/dist/optics/illumination-vignetting.js.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.d.ts +11 -0
- package/dist/optics/lateral-chromatic-aberration.d.ts.map +1 -1
- package/dist/optics/lateral-chromatic-aberration.js +11 -0
- package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
- package/dist/optics/lens-psf-profile.d.ts +217 -0
- package/dist/optics/lens-psf-profile.d.ts.map +1 -0
- package/dist/optics/lens-psf-profile.js +823 -0
- package/dist/optics/lens-psf-profile.js.map +1 -0
- package/dist/optics/polygon-diffraction.d.ts +67 -0
- package/dist/optics/polygon-diffraction.d.ts.map +1 -0
- package/dist/optics/polygon-diffraction.js +145 -0
- package/dist/optics/polygon-diffraction.js.map +1 -0
- package/dist/optics/profile-contract.d.ts +42 -0
- package/dist/optics/profile-contract.d.ts.map +1 -0
- package/dist/optics/profile-contract.js +92 -0
- package/dist/optics/profile-contract.js.map +1 -0
- package/dist/optics/psf-foundation.d.ts +16 -3
- package/dist/optics/psf-foundation.d.ts.map +1 -1
- package/dist/optics/psf-foundation.js +28 -15
- package/dist/optics/psf-foundation.js.map +1 -1
- package/dist/optics/radial-distortion.d.ts +18 -0
- package/dist/optics/radial-distortion.d.ts.map +1 -1
- package/dist/optics/radial-distortion.js +18 -0
- package/dist/optics/radial-distortion.js.map +1 -1
- package/dist/optics/scene-to-sensor-irradiance.d.ts +213 -0
- package/dist/optics/scene-to-sensor-irradiance.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-irradiance.js +662 -0
- package/dist/optics/scene-to-sensor-irradiance.js.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts +63 -0
- package/dist/optics/scene-to-sensor-quadrature.d.ts.map +1 -0
- package/dist/optics/scene-to-sensor-quadrature.js +82 -0
- package/dist/optics/scene-to-sensor-quadrature.js.map +1 -0
- package/dist/optics/sensor-environment-query.d.ts +60 -0
- package/dist/optics/sensor-environment-query.d.ts.map +1 -0
- package/dist/optics/sensor-environment-query.js +50 -0
- package/dist/optics/sensor-environment-query.js.map +1 -0
- package/dist/optics/sensor-psf-quadrature.d.ts +70 -0
- package/dist/optics/sensor-psf-quadrature.d.ts.map +1 -0
- package/dist/optics/sensor-psf-quadrature.js +101 -0
- package/dist/optics/sensor-psf-quadrature.js.map +1 -0
- package/dist/optics/sensor-psf-support.d.ts +20 -0
- package/dist/optics/sensor-psf-support.d.ts.map +1 -0
- package/dist/optics/sensor-psf-support.js +13 -0
- package/dist/optics/sensor-psf-support.js.map +1 -0
- package/dist/optics/stray-light.d.ts +91 -0
- package/dist/optics/stray-light.d.ts.map +1 -0
- package/dist/optics/stray-light.js +110 -0
- package/dist/optics/stray-light.js.map +1 -0
- package/dist/optics/thin-lens.d.ts +8 -0
- package/dist/optics/thin-lens.d.ts.map +1 -1
- package/dist/optics/thin-lens.js +8 -0
- package/dist/optics/thin-lens.js.map +1 -1
- package/dist/output/capture-corrected-sdr.d.ts +49 -0
- package/dist/output/capture-corrected-sdr.d.ts.map +1 -0
- package/dist/output/capture-corrected-sdr.js +149 -0
- package/dist/output/capture-corrected-sdr.js.map +1 -0
- package/dist/output/capture-geometry.d.ts.map +1 -1
- package/dist/output/capture-geometry.js +8 -0
- package/dist/output/capture-geometry.js.map +1 -1
- package/dist/output/capture-sdr.d.ts +49 -0
- package/dist/output/capture-sdr.d.ts.map +1 -0
- package/dist/output/capture-sdr.js +90 -0
- package/dist/output/capture-sdr.js.map +1 -0
- package/dist/output/crop.d.ts +6 -0
- package/dist/output/crop.d.ts.map +1 -1
- package/dist/output/crop.js +6 -0
- package/dist/output/crop.js.map +1 -1
- package/dist/output/geometric-transforms.d.ts +137 -0
- package/dist/output/geometric-transforms.d.ts.map +1 -0
- package/dist/output/geometric-transforms.js +225 -0
- package/dist/output/geometric-transforms.js.map +1 -0
- package/dist/output/lens-corrections.d.ts +121 -0
- package/dist/output/lens-corrections.d.ts.map +1 -0
- package/dist/output/lens-corrections.js +210 -0
- package/dist/output/lens-corrections.js.map +1 -0
- package/dist/output/sdr-rendering.d.ts +81 -0
- package/dist/output/sdr-rendering.d.ts.map +1 -0
- package/dist/output/sdr-rendering.js +106 -0
- package/dist/output/sdr-rendering.js.map +1 -0
- package/dist/output/subject-framing-crop.d.ts +8 -0
- package/dist/output/subject-framing-crop.d.ts.map +1 -1
- package/dist/output/subject-framing-crop.js +8 -0
- package/dist/output/subject-framing-crop.js.map +1 -1
- package/dist/schema/camera.d.ts +6 -0
- package/dist/schema/camera.d.ts.map +1 -1
- package/dist/schema/illumination-spectral.d.ts +51 -0
- package/dist/schema/illumination-spectral.d.ts.map +1 -0
- package/dist/schema/illumination-spectral.js +132 -0
- package/dist/schema/illumination-spectral.js.map +1 -0
- package/dist/schema/illumination-temporal.d.ts +156 -0
- package/dist/schema/illumination-temporal.d.ts.map +1 -0
- package/dist/schema/illumination-temporal.js +554 -0
- package/dist/schema/illumination-temporal.js.map +1 -0
- package/dist/schema/illumination.d.ts +138 -0
- package/dist/schema/illumination.d.ts.map +1 -0
- package/dist/schema/illumination.js +483 -0
- package/dist/schema/illumination.js.map +1 -0
- package/dist/schema/scene-radiance-temporal.d.ts +107 -0
- package/dist/schema/scene-radiance-temporal.d.ts.map +1 -0
- package/dist/schema/scene-radiance-temporal.js +259 -0
- package/dist/schema/scene-radiance-temporal.js.map +1 -0
- package/dist/schema/scene-radiance.d.ts +185 -0
- package/dist/schema/scene-radiance.d.ts.map +1 -0
- package/dist/schema/scene-radiance.js +535 -0
- package/dist/schema/scene-radiance.js.map +1 -0
- package/dist/schema/scene.d.ts +7 -0
- package/dist/schema/scene.d.ts.map +1 -1
- package/dist/schema/validation.d.ts.map +1 -1
- package/dist/schema/validation.js +7 -0
- package/dist/schema/validation.js.map +1 -1
- package/dist/sensor/accumulated-charge.d.ts +199 -0
- package/dist/sensor/accumulated-charge.d.ts.map +1 -0
- package/dist/sensor/accumulated-charge.js +450 -0
- package/dist/sensor/accumulated-charge.js.map +1 -0
- package/dist/sensor/architecture.d.ts +48 -13
- package/dist/sensor/architecture.d.ts.map +1 -1
- package/dist/sensor/architecture.js +58 -16
- package/dist/sensor/architecture.js.map +1 -1
- package/dist/sensor/camera-saturation-capacity.d.ts +138 -0
- package/dist/sensor/camera-saturation-capacity.d.ts.map +1 -0
- package/dist/sensor/camera-saturation-capacity.js +356 -0
- package/dist/sensor/camera-saturation-capacity.js.map +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts +1 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -1
- package/dist/sensor/capture-color-sampling-binding.js +14 -0
- package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
- package/dist/sensor/capture-mode-timing.d.ts +63 -0
- package/dist/sensor/capture-mode-timing.d.ts.map +1 -0
- package/dist/sensor/capture-mode-timing.js +270 -0
- package/dist/sensor/capture-mode-timing.js.map +1 -0
- package/dist/sensor/capture-mode.d.ts.map +1 -1
- package/dist/sensor/capture-mode.js +13 -0
- package/dist/sensor/capture-mode.js.map +1 -1
- package/dist/sensor/color-sampling.d.ts.map +1 -1
- package/dist/sensor/color-sampling.js +19 -0
- package/dist/sensor/color-sampling.js.map +1 -1
- package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
- package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
- package/dist/sensor/constant-rate-temporal-integration.js +382 -0
- package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
- package/dist/sensor/dark-current.d.ts +169 -0
- package/dist/sensor/dark-current.d.ts.map +1 -0
- package/dist/sensor/dark-current.js +427 -0
- package/dist/sensor/dark-current.js.map +1 -0
- package/dist/sensor/environment-photo-signal.d.ts +123 -0
- package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
- package/dist/sensor/environment-photo-signal.js +186 -0
- package/dist/sensor/environment-photo-signal.js.map +1 -0
- package/dist/sensor/eqe-electron-rate.d.ts +107 -0
- package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
- package/dist/sensor/eqe-electron-rate.js +561 -0
- package/dist/sensor/eqe-electron-rate.js.map +1 -0
- package/dist/sensor/eqe-local-exposure.d.ts +65 -0
- package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-local-exposure.js +84 -0
- package/dist/sensor/eqe-local-exposure.js.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
- package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/eqe-temporal-exposure.js +62 -0
- package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/exposure-window.d.ts +14 -0
- package/dist/sensor/exposure-window.d.ts.map +1 -1
- package/dist/sensor/exposure-window.js +14 -0
- package/dist/sensor/exposure-window.js.map +1 -1
- package/dist/sensor/iso-signal-chain.d.ts +148 -0
- package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
- package/dist/sensor/iso-signal-chain.js +411 -0
- package/dist/sensor/iso-signal-chain.js.map +1 -0
- package/dist/sensor/local-exposure-binding.d.ts +87 -0
- package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
- package/dist/sensor/local-exposure-binding.js +214 -0
- package/dist/sensor/local-exposure-binding.js.map +1 -0
- package/dist/sensor/optical-stack.d.ts.map +1 -1
- package/dist/sensor/optical-stack.js +17 -0
- package/dist/sensor/optical-stack.js.map +1 -1
- package/dist/sensor/photon-energy.d.ts +97 -0
- package/dist/sensor/photon-energy.d.ts.map +1 -0
- package/dist/sensor/photon-energy.js +390 -0
- package/dist/sensor/photon-energy.js.map +1 -0
- package/dist/sensor/physical-charge-capacity.d.ts +130 -0
- package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
- package/dist/sensor/physical-charge-capacity.js +345 -0
- package/dist/sensor/physical-charge-capacity.js.map +1 -0
- package/dist/sensor/pixel-pitch.d.ts +6 -0
- package/dist/sensor/pixel-pitch.d.ts.map +1 -1
- package/dist/sensor/pixel-pitch.js +6 -0
- package/dist/sensor/pixel-pitch.js.map +1 -1
- package/dist/sensor/radiometry-readiness.d.ts +10 -0
- package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
- package/dist/sensor/radiometry-readiness.js +10 -0
- package/dist/sensor/radiometry-readiness.js.map +1 -1
- package/dist/sensor/raw-readout.d.ts +314 -0
- package/dist/sensor/raw-readout.d.ts.map +1 -0
- package/dist/sensor/raw-readout.js +914 -0
- package/dist/sensor/raw-readout.js.map +1 -0
- package/dist/sensor/raw-reconstruction.d.ts +170 -0
- package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
- package/dist/sensor/raw-reconstruction.js +424 -0
- package/dist/sensor/raw-reconstruction.js.map +1 -0
- package/dist/sensor/readout-exposure-linkage.d.ts +12 -0
- package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -1
- package/dist/sensor/readout-exposure-linkage.js +12 -0
- package/dist/sensor/readout-exposure-linkage.js.map +1 -1
- package/dist/sensor/readout-timing.d.ts +13 -0
- package/dist/sensor/readout-timing.d.ts.map +1 -1
- package/dist/sensor/readout-timing.js +13 -0
- package/dist/sensor/readout-timing.js.map +1 -1
- package/dist/sensor/response-application-compatibility.d.ts +136 -0
- package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
- package/dist/sensor/response-application-compatibility.js +408 -0
- package/dist/sensor/response-application-compatibility.js.map +1 -0
- package/dist/sensor/response-operating-range.d.ts +173 -0
- package/dist/sensor/response-operating-range.d.ts.map +1 -0
- package/dist/sensor/response-operating-range.js +672 -0
- package/dist/sensor/response-operating-range.js.map +1 -0
- package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
- package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
- package/dist/sensor/responsivity-photocurrent.js +644 -0
- package/dist/sensor/responsivity-photocurrent.js.map +1 -0
- package/dist/sensor/sampling-aperture.d.ts.map +1 -1
- package/dist/sensor/sampling-aperture.js +14 -0
- package/dist/sensor/sampling-aperture.js.map +1 -1
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
- package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
- package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
- package/dist/sensor/sensor-geometry.d.ts +12 -0
- package/dist/sensor/sensor-geometry.d.ts.map +1 -1
- package/dist/sensor/sensor-geometry.js +12 -0
- package/dist/sensor/sensor-geometry.js.map +1 -1
- package/dist/sensor/signal-noise.d.ts +10 -0
- package/dist/sensor/signal-noise.d.ts.map +1 -1
- package/dist/sensor/signal-noise.js +10 -0
- package/dist/sensor/signal-noise.js.map +1 -1
- package/dist/sensor/spatial-sample-reduction.d.ts +44 -1
- package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -1
- package/dist/sensor/spatial-sample-reduction.js +51 -5
- package/dist/sensor/spatial-sample-reduction.js.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.d.ts +24 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -1
- package/dist/sensor/spatial-sampling-quadrature.js +27 -0
- package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
- package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
- package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
- package/dist/sensor/spatio-spectral-reduction.js +373 -0
- package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
- package/dist/sensor/spectral-coverage.d.ts +24 -0
- package/dist/sensor/spectral-coverage.d.ts.map +1 -0
- package/dist/sensor/spectral-coverage.js +86 -0
- package/dist/sensor/spectral-coverage.js.map +1 -0
- package/dist/sensor/spectral-quadrature.d.ts +169 -0
- package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
- package/dist/sensor/spectral-quadrature.js +542 -0
- package/dist/sensor/spectral-quadrature.js.map +1 -0
- package/dist/sensor/spectral-response.d.ts +192 -0
- package/dist/sensor/spectral-response.d.ts.map +1 -0
- package/dist/sensor/spectral-response.js +664 -0
- package/dist/sensor/spectral-response.js.map +1 -0
- package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
- package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
- package/dist/sensor/temporal-eqe-sum.js +30 -0
- package/dist/sensor/temporal-eqe-sum.js.map +1 -0
- package/dist/sensor/temporal-photo-signal.d.ts +38 -0
- package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
- package/dist/sensor/temporal-photo-signal.js +110 -0
- package/dist/sensor/temporal-photo-signal.js.map +1 -0
- package/dist/sensor/temporal-sample-binding.d.ts +6 -0
- package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
- package/dist/sensor/temporal-sample-binding.js +32 -0
- package/dist/sensor/temporal-sample-binding.js.map +1 -0
- package/dist/simulation/poc-simulation.d.ts.map +1 -1
- package/dist/simulation/poc-simulation.js +34 -11
- package/dist/simulation/poc-simulation.js.map +1 -1
- package/dist/stabilization/camera-shake.d.ts +11 -0
- package/dist/stabilization/camera-shake.d.ts.map +1 -1
- package/dist/stabilization/camera-shake.js +11 -0
- package/dist/stabilization/camera-shake.js.map +1 -1
- package/dist/stabilization/system.d.ts +218 -0
- package/dist/stabilization/system.d.ts.map +1 -0
- package/dist/stabilization/system.js +695 -0
- package/dist/stabilization/system.js.map +1 -0
- package/docs/API_REFERENCE.md +2017 -0
- package/docs/API_STYLE.md +139 -3
- package/docs/ARCHITECTURE.md +134 -24
- package/docs/AUTOMATION_COORDINATION.md +2 -0
- package/docs/CAPTURE_COLOR.md +25 -0
- package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
- package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
- package/docs/CAPTURE_SDR.md +20 -0
- package/docs/DEVELOPERS.md +60 -0
- package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
- package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
- package/docs/EXPORT_ACCEPTANCE.md +133 -0
- package/docs/GENERIC_TIER_PRESETS.md +269 -0
- package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
- package/docs/IMAGE_FORMATION.md +80 -10
- package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
- package/docs/MOTION_AND_SIGNAL.md +5 -3
- package/docs/NUMERICAL_CORRECTNESS.md +191 -0
- package/docs/PERFORMANCE_BASELINE.md +56 -0
- package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
- package/docs/PHYSICS_FOUNDATION.md +152 -5
- package/docs/POC_API.md +2 -0
- package/docs/POC_PROJECTION_REUSE.md +124 -0
- package/docs/PROCESSED_OUTPUT.md +157 -0
- package/docs/PRODUCTION_COMPOSITION.md +373 -0
- package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
- package/docs/PROVENANCE.md +4 -0
- package/docs/PSF_FOUNDATION.md +110 -88
- package/docs/RAW_FRAME_ENVELOPE.md +56 -0
- package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
- package/docs/RELEASE_1_0.md +66 -0
- package/docs/RELEASE_1_0_1.md +61 -0
- package/docs/RELEASE_AUDIT.md +39 -0
- package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
- package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
- package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
- package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
- package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
- package/docs/SDR_RENDERING.md +33 -0
- package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
- package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
- package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
- package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
- package/docs/SENSOR_RAW_FRAME.md +20 -0
- package/docs/SENSOR_RAW_PRODUCER.md +77 -0
- package/docs/SIGNAL_CONFORMANCE.md +23 -0
- package/docs/SIMULATED_CAPTURE.md +65 -0
- package/docs/STABILIZATION.md +160 -17
- package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
- package/docs/TIER_ACCEPTANCE.md +129 -0
- package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
- package/docs/USAGE.md +5050 -1047
- package/docs/V1_COMPOSITION_MAP.md +123 -0
- package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
- package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
- package/docs/api/camera-equivalent-focal-length.md +53 -0
- package/docs/api/camera-field-of-view.md +119 -0
- package/docs/api/camera-projected-object-size.md +54 -0
- package/docs/api/capture-capture-export-metadata.md +107 -0
- package/docs/api/capture-environment-raw-producer.md +56 -0
- package/docs/api/capture-focus-control.md +419 -0
- package/docs/api/capture-linear-encoding.md +99 -0
- package/docs/api/capture-photographic-export.md +172 -0
- package/docs/api/capture-raw-frame-reconstruction.md +87 -0
- package/docs/api/capture-release-sequence.md +252 -0
- package/docs/api/capture-sensor-raw-frame.md +66 -0
- package/docs/api/capture-sensor-raw-producer.md +98 -0
- package/docs/api/capture-simulated-capture.md +179 -0
- package/docs/api/color-capture-color.md +122 -0
- package/docs/api/color-white-balance.md +386 -0
- package/docs/api/composition-image-formation-plan.md +825 -0
- package/docs/api/composition-plan-consumer.md +98 -0
- package/docs/api/core-calculation-result.md +220 -0
- package/docs/api/core-configuration-error.md +19 -0
- package/docs/api/core-image-formation.md +204 -0
- package/docs/api/core-scientific-assurance.md +214 -0
- package/docs/api/core-spectral-composition.md +268 -0
- package/docs/api/core-spectral.md +78 -0
- package/docs/api/core-validation.md +34 -0
- package/docs/api/core-version.md +14 -0
- package/docs/api/equipment-exposure-capabilities.md +270 -0
- package/docs/api/equipment-generic-tier-assets.md +82 -0
- package/docs/api/equipment-generic-tier-presets.md +103 -0
- package/docs/api/equipment-iso-capabilities.md +295 -0
- package/docs/api/equipment-metering-capabilities.md +126 -0
- package/docs/api/equipment-release-capabilities.md +91 -0
- package/docs/api/exports.json +5656 -0
- package/docs/api/exposure-exposure-duration-control.md +115 -0
- package/docs/api/exposure-exposure-mode-resolver.md +966 -0
- package/docs/api/exposure-exposure.md +150 -0
- package/docs/api/exposure-flash.md +327 -0
- package/docs/api/exposure-metering-scene-radiance.md +154 -0
- package/docs/api/exposure-metering-target.md +134 -0
- package/docs/api/exposure-metering-temporal.md +77 -0
- package/docs/api/exposure-metering.md +172 -0
- package/docs/api/exposure-program-line.md +64 -0
- package/docs/api/motion-camera-rotation.md +215 -0
- package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
- package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
- package/docs/api/motion-capture-rotation-trajectory.md +132 -0
- package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
- package/docs/api/motion-extended-object-projection.md +312 -0
- package/docs/api/motion-projected-motion.md +60 -0
- package/docs/api/optics-aperture.md +69 -0
- package/docs/api/optics-circle-of-confusion.md +46 -0
- package/docs/api/optics-complex-pupil-psf.md +193 -0
- package/docs/api/optics-depth-of-field.md +92 -0
- package/docs/api/optics-diffraction.md +46 -0
- package/docs/api/optics-focus-breathing.md +119 -0
- package/docs/api/optics-focus-state.md +64 -0
- package/docs/api/optics-front-of-lens-filter.md +263 -0
- package/docs/api/optics-illumination-vignetting.md +95 -0
- package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
- package/docs/api/optics-lens-psf-profile.md +380 -0
- package/docs/api/optics-polygon-diffraction.md +68 -0
- package/docs/api/optics-profile-contract.md +47 -0
- package/docs/api/optics-psf-foundation.md +181 -0
- package/docs/api/optics-radial-distortion.md +194 -0
- package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
- package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
- package/docs/api/optics-sensor-environment-query.md +58 -0
- package/docs/api/optics-sensor-psf-quadrature.md +81 -0
- package/docs/api/optics-stray-light.md +109 -0
- package/docs/api/optics-thin-lens.md +53 -0
- package/docs/api/output-capture-corrected-sdr.md +71 -0
- package/docs/api/output-capture-geometry.md +500 -0
- package/docs/api/output-capture-sdr.md +69 -0
- package/docs/api/output-crop.md +47 -0
- package/docs/api/output-geometric-transforms.md +199 -0
- package/docs/api/output-lens-corrections.md +162 -0
- package/docs/api/output-sdr-rendering.md +122 -0
- package/docs/api/output-subject-framing-crop.md +59 -0
- package/docs/api/schema-camera.md +84 -0
- package/docs/api/schema-illumination-spectral.md +77 -0
- package/docs/api/schema-illumination-temporal.md +289 -0
- package/docs/api/schema-illumination.md +246 -0
- package/docs/api/schema-scene-radiance-temporal.md +215 -0
- package/docs/api/schema-scene-radiance.md +415 -0
- package/docs/api/schema-scene.md +105 -0
- package/docs/api/schema-validation.md +25 -0
- package/docs/api/sensor-accumulated-charge.md +273 -0
- package/docs/api/sensor-architecture.md +155 -0
- package/docs/api/sensor-camera-saturation-capacity.md +215 -0
- package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
- package/docs/api/sensor-capture-mode-timing.md +123 -0
- package/docs/api/sensor-capture-mode.md +321 -0
- package/docs/api/sensor-color-sampling.md +228 -0
- package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
- package/docs/api/sensor-dark-current.md +227 -0
- package/docs/api/sensor-environment-photo-signal.md +77 -0
- package/docs/api/sensor-eqe-electron-rate.md +166 -0
- package/docs/api/sensor-eqe-local-exposure.md +68 -0
- package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
- package/docs/api/sensor-exposure-window.md +183 -0
- package/docs/api/sensor-iso-signal-chain.md +264 -0
- package/docs/api/sensor-local-exposure-binding.md +126 -0
- package/docs/api/sensor-optical-stack.md +211 -0
- package/docs/api/sensor-photon-energy.md +149 -0
- package/docs/api/sensor-physical-charge-capacity.md +196 -0
- package/docs/api/sensor-pixel-pitch.md +41 -0
- package/docs/api/sensor-radiometry-readiness.md +240 -0
- package/docs/api/sensor-raw-readout.md +499 -0
- package/docs/api/sensor-raw-reconstruction.md +260 -0
- package/docs/api/sensor-readout-exposure-linkage.md +172 -0
- package/docs/api/sensor-readout-timing.md +209 -0
- package/docs/api/sensor-response-application-compatibility.md +256 -0
- package/docs/api/sensor-response-operating-range.md +293 -0
- package/docs/api/sensor-responsivity-photocurrent.md +245 -0
- package/docs/api/sensor-sampling-aperture.md +221 -0
- package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
- package/docs/api/sensor-sensor-geometry.md +143 -0
- package/docs/api/sensor-signal-noise.md +75 -0
- package/docs/api/sensor-spatial-sample-reduction.md +186 -0
- package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
- package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
- package/docs/api/sensor-spectral-coverage.md +33 -0
- package/docs/api/sensor-spectral-quadrature.md +183 -0
- package/docs/api/sensor-spectral-response.md +291 -0
- package/docs/api/sensor-temporal-photo-signal.md +62 -0
- package/docs/api/simulation-poc-simulation.md +364 -0
- package/docs/api/stabilization-camera-shake.md +71 -0
- package/docs/api/stabilization-system.md +442 -0
- package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
- package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
- package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
- package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
- package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
- package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
- package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
- package/docs/examples/production-capture.mjs +34 -0
- package/docs/examples/production-request.json +4613 -0
- package/docs/examples/quick-start.mjs +12 -0
- package/docs/validation/documentation-fragments.json +212 -0
- package/docs/validation/release-audit-inventory.json +1306 -0
- package/docs/validation/tier-acceptance-report-v1.json +2538 -0
- package/package.json +15 -3
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# exposure/exposure.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.1**, root API **1.0.1**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## calculateEquivalentIso
|
|
6
|
+
|
|
7
|
+
Calculates the ISO/gain setting that preserves nominal rendered exposure
|
|
8
|
+
after changing aperture and/or shutter, assuming all other factors remain
|
|
9
|
+
constant.
|
|
10
|
+
|
|
11
|
+
This is an exposure-compensation relation, not a sensor-noise model.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
export function calculateEquivalentIso(
|
|
15
|
+
input: CalculateEquivalentIsoInput
|
|
16
|
+
): CalculationResult<number>;
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
20
|
+
|
|
21
|
+
## CalculateEquivalentIsoInput
|
|
22
|
+
|
|
23
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
export interface CalculateEquivalentIsoInput {
|
|
27
|
+
baseIso: number;
|
|
28
|
+
baseAperture: number;
|
|
29
|
+
baseShutterSeconds: number;
|
|
30
|
+
aperture: number;
|
|
31
|
+
shutterSeconds: number;
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## calculateExposureValue100
|
|
36
|
+
|
|
37
|
+
Calculates EV100 from aperture and shutter duration.
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
export function calculateExposureValue100(
|
|
41
|
+
input: CalculateExposureValue100Input
|
|
42
|
+
): CalculationResult<number>;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
46
|
+
|
|
47
|
+
## CalculateExposureValue100Input
|
|
48
|
+
|
|
49
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
export interface CalculateExposureValue100Input {
|
|
53
|
+
/** F-number. */
|
|
54
|
+
aperture: number;
|
|
55
|
+
/** Shutter duration in seconds. */
|
|
56
|
+
shutterSeconds: number;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## calculateRelativeOpticalExposure
|
|
61
|
+
|
|
62
|
+
Compares image-plane optical exposure using the proportional relation
|
|
63
|
+
shutterSeconds / aperture^2.
|
|
64
|
+
|
|
65
|
+
This does not include scene light, lens transmission, vignetting, or sensor
|
|
66
|
+
response and therefore must not be interpreted as a photon-count result.
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
export function calculateRelativeOpticalExposure(
|
|
70
|
+
input: CalculateRelativeOpticalExposureInput
|
|
71
|
+
): CalculationResult<RelativeOpticalExposure>;
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
75
|
+
|
|
76
|
+
## CalculateRelativeOpticalExposureInput
|
|
77
|
+
|
|
78
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
export interface CalculateRelativeOpticalExposureInput {
|
|
82
|
+
aperture: number;
|
|
83
|
+
shutterSeconds: number;
|
|
84
|
+
referenceAperture: number;
|
|
85
|
+
referenceShutterSeconds: number;
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## calculateRelativeRenderedExposure
|
|
90
|
+
|
|
91
|
+
Calculates a relative linear rendering exposure from aperture, shutter, and
|
|
92
|
+
nominal ISO gain.
|
|
93
|
+
|
|
94
|
+
This relation is intended for deterministic educational rendering relative to
|
|
95
|
+
a declared reference exposure. ISO is treated as a brightness/gain control;
|
|
96
|
+
it does not create photons and this function does not model sensor noise,
|
|
97
|
+
clipping, tone mapping, lens transmission, or absolute scene luminance.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
export function calculateRelativeRenderedExposure(
|
|
101
|
+
input: CalculateRelativeRenderedExposureInput
|
|
102
|
+
): CalculationResult<RelativeRenderedExposure>;
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
106
|
+
|
|
107
|
+
## CalculateRelativeRenderedExposureInput
|
|
108
|
+
|
|
109
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
export interface CalculateRelativeRenderedExposureInput {
|
|
113
|
+
aperture: number;
|
|
114
|
+
shutterSeconds: number;
|
|
115
|
+
iso: number;
|
|
116
|
+
referenceAperture: number;
|
|
117
|
+
referenceShutterSeconds: number;
|
|
118
|
+
referenceIso: number;
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## RelativeOpticalExposure
|
|
123
|
+
|
|
124
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
export interface RelativeOpticalExposure {
|
|
128
|
+
/** Relative light exposure at the image plane; 1 equals the reference. */
|
|
129
|
+
factor: number;
|
|
130
|
+
/** Difference from the reference in stops. Positive means more light exposure. */
|
|
131
|
+
stops: number;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## RelativeRenderedExposure
|
|
136
|
+
|
|
137
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
export interface RelativeRenderedExposure {
|
|
141
|
+
/** Nominal linear rendering multiplier; 1 equals the reference settings. */
|
|
142
|
+
factor: number;
|
|
143
|
+
/** Difference from the reference in stops. Positive means a brighter rendering. */
|
|
144
|
+
stops: number;
|
|
145
|
+
/** Image-plane optical exposure ratio before nominal ISO gain. */
|
|
146
|
+
opticalFactor: number;
|
|
147
|
+
/** Nominal ISO gain ratio relative to the reference ISO. */
|
|
148
|
+
isoGainFactor: number;
|
|
149
|
+
}
|
|
150
|
+
```
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# exposure/flash.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.1**, root API **1.0.1**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## createManualFlashIlluminationOverlay
|
|
6
|
+
|
|
7
|
+
Construct an owned registered temporal illumination overlay from the resolved manual pulse while
|
|
8
|
+
preserving base ambient source identity.
|
|
9
|
+
|
|
10
|
+
Manual flash is a registered relative pulse/source overlay on the capture opening-reference clock.
|
|
11
|
+
Ordinary front/rear sync requires a real whole-frame opening interval. HSS/TTL and flash metering
|
|
12
|
+
are unsupported here; source magnitude, optical transport and sensor integration retain their own
|
|
13
|
+
contracts.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
export function createManualFlashIlluminationOverlay(
|
|
17
|
+
input:
|
|
18
|
+
CreateManualFlashIlluminationOverlayInput
|
|
19
|
+
): ManualFlashIlluminationOverlay;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
23
|
+
|
|
24
|
+
## CreateManualFlashIlluminationOverlayInput
|
|
25
|
+
|
|
26
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export interface CreateManualFlashIlluminationOverlayInput {
|
|
30
|
+
baseIlluminationProfile:
|
|
31
|
+
SceneIlluminationProfile;
|
|
32
|
+
baseTemporalProfile?:
|
|
33
|
+
SceneIlluminationTemporalProfile;
|
|
34
|
+
flashProfile:
|
|
35
|
+
ManualFlashProfile;
|
|
36
|
+
resolvedSync:
|
|
37
|
+
ResolvedManualFlashSync;
|
|
38
|
+
illuminationProfileId: string;
|
|
39
|
+
temporalProfileId: string;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## FLASH_SYNC_CAPABILITY_SCHEMA_VERSION
|
|
44
|
+
|
|
45
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
FLASH_SYNC_CAPABILITY_SCHEMA_VERSION =
|
|
49
|
+
"0.1.0" as const
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## FlashSyncCapabilityProfile
|
|
53
|
+
|
|
54
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
export interface FlashSyncCapabilityProfile {
|
|
58
|
+
schemaVersion:
|
|
59
|
+
typeof FLASH_SYNC_CAPABILITY_SCHEMA_VERSION;
|
|
60
|
+
profileId: string;
|
|
61
|
+
profileVersion: string;
|
|
62
|
+
captureModeId: string;
|
|
63
|
+
timingProfileId: string;
|
|
64
|
+
supportedOrdinarySyncModes:
|
|
65
|
+
readonly ManualFlashSyncMode[];
|
|
66
|
+
highSpeedSyncSupported: false;
|
|
67
|
+
ordinarySyncRequiresWholeActiveFrameSimultaneouslyExposed:
|
|
68
|
+
true;
|
|
69
|
+
evidence: readonly EvidenceProvenance[];
|
|
70
|
+
limitations: readonly string[];
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## MANUAL_FLASH_PROFILE_SCHEMA_VERSION
|
|
75
|
+
|
|
76
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
MANUAL_FLASH_PROFILE_SCHEMA_VERSION =
|
|
80
|
+
"0.1.0" as const
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## ManualFlashIlluminationOverlay
|
|
84
|
+
|
|
85
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
export interface ManualFlashIlluminationOverlay {
|
|
89
|
+
flashApplied: boolean;
|
|
90
|
+
illuminationProfile:
|
|
91
|
+
SceneIlluminationProfile;
|
|
92
|
+
temporalProfile:
|
|
93
|
+
SceneIlluminationTemporalProfile | null;
|
|
94
|
+
sourceId: string;
|
|
95
|
+
waveformId: string;
|
|
96
|
+
timeReference:
|
|
97
|
+
"first-opening-boundary-phase";
|
|
98
|
+
sourceMagnitudeAppliedBySceneTransport:
|
|
99
|
+
true;
|
|
100
|
+
materialTransportOwnedBySceneRadiance:
|
|
101
|
+
true;
|
|
102
|
+
visibilityOwnedBySceneRadiance:
|
|
103
|
+
true;
|
|
104
|
+
indirectTransportOwnedBySceneRadiance:
|
|
105
|
+
true;
|
|
106
|
+
postRenderBrightnessMultiplierUsed:
|
|
107
|
+
false;
|
|
108
|
+
whiteBalanceModified: false;
|
|
109
|
+
ambientMeteringModified: false;
|
|
110
|
+
ttlMeteringIncluded: false;
|
|
111
|
+
ambientTemporalBehaviorPreserved:
|
|
112
|
+
true;
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## ManualFlashProfile
|
|
117
|
+
|
|
118
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
export interface ManualFlashProfile {
|
|
122
|
+
schemaVersion:
|
|
123
|
+
typeof MANUAL_FLASH_PROFILE_SCHEMA_VERSION;
|
|
124
|
+
profileId: string;
|
|
125
|
+
profileVersion: string;
|
|
126
|
+
sourceTemplate:
|
|
127
|
+
Omit<
|
|
128
|
+
SceneIlluminationSource,
|
|
129
|
+
"enabled" |
|
|
130
|
+
"temporalBehavior"
|
|
131
|
+
>;
|
|
132
|
+
pulse:
|
|
133
|
+
ManualFlashPulseProfile;
|
|
134
|
+
outputControl: {
|
|
135
|
+
kind:
|
|
136
|
+
"relative-linear-source-scale";
|
|
137
|
+
scale: number;
|
|
138
|
+
flashExposureCompensationStops:
|
|
139
|
+
0;
|
|
140
|
+
};
|
|
141
|
+
ttlModeled: false;
|
|
142
|
+
highSpeedSyncModeled: false;
|
|
143
|
+
recycleBehaviorModeled: false;
|
|
144
|
+
redEyePreflashModeled: false;
|
|
145
|
+
modelingLightModeled: false;
|
|
146
|
+
afAssistModeled: false;
|
|
147
|
+
evidence: readonly EvidenceProvenance[];
|
|
148
|
+
limitations: readonly string[];
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## ManualFlashPulseProfile
|
|
153
|
+
|
|
154
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
export interface ManualFlashPulseProfile {
|
|
158
|
+
waveformId: string;
|
|
159
|
+
scientificStatus: "approximation";
|
|
160
|
+
supportDurationSeconds: number;
|
|
161
|
+
interpolation: "piecewise-linear";
|
|
162
|
+
samples:
|
|
163
|
+
readonly SceneIlluminationTemporalWaveformSample[];
|
|
164
|
+
normalization:
|
|
165
|
+
"relative-peak-one";
|
|
166
|
+
evidence:
|
|
167
|
+
readonly EvidenceProvenance[];
|
|
168
|
+
limitations: readonly string[];
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## ManualFlashSyncMode
|
|
173
|
+
|
|
174
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
export type ManualFlashSyncMode =
|
|
178
|
+
| "front-curtain"
|
|
179
|
+
| "rear-curtain";
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## parseFlashSyncCapabilityProfile
|
|
183
|
+
|
|
184
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
185
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
186
|
+
|
|
187
|
+
Manual flash is a registered relative pulse/source overlay on the capture opening-reference clock.
|
|
188
|
+
Ordinary front/rear sync requires a real whole-frame opening interval. HSS/TTL and flash metering
|
|
189
|
+
are unsupported here; source magnitude, optical transport and sensor integration retain their own
|
|
190
|
+
contracts.
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
export function parseFlashSyncCapabilityProfile(
|
|
194
|
+
value: unknown
|
|
195
|
+
): FlashSyncCapabilityProfile;
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
199
|
+
|
|
200
|
+
## parseManualFlashProfile
|
|
201
|
+
|
|
202
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
203
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
204
|
+
|
|
205
|
+
Manual flash is a registered relative pulse/source overlay on the capture opening-reference clock.
|
|
206
|
+
Ordinary front/rear sync requires a real whole-frame opening interval. HSS/TTL and flash metering
|
|
207
|
+
are unsupported here; source magnitude, optical transport and sensor integration retain their own
|
|
208
|
+
contracts.
|
|
209
|
+
|
|
210
|
+
```ts
|
|
211
|
+
export function parseManualFlashProfile(
|
|
212
|
+
value: unknown
|
|
213
|
+
): ManualFlashProfile;
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
217
|
+
|
|
218
|
+
## RequestedFlashSyncMode
|
|
219
|
+
|
|
220
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
export type RequestedFlashSyncMode =
|
|
224
|
+
| ManualFlashSyncMode
|
|
225
|
+
| "high-speed-sync";
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## ResolvedManualFlashSync
|
|
229
|
+
|
|
230
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
231
|
+
|
|
232
|
+
```ts
|
|
233
|
+
export interface ResolvedManualFlashSync {
|
|
234
|
+
flashEnabled: boolean;
|
|
235
|
+
flashProfileId: string;
|
|
236
|
+
flashProfileVersion: string;
|
|
237
|
+
sourceId: string;
|
|
238
|
+
captureModeId: string;
|
|
239
|
+
timingProfileId: string;
|
|
240
|
+
syncCapabilityProfileId:
|
|
241
|
+
string;
|
|
242
|
+
syncMode:
|
|
243
|
+
RequestedFlashSyncMode;
|
|
244
|
+
syncStatus:
|
|
245
|
+
| "disabled"
|
|
246
|
+
| "ordinary-sync-resolved";
|
|
247
|
+
timeReference:
|
|
248
|
+
"first-opening-boundary-phase";
|
|
249
|
+
wholeActiveFrameOpenInterval:
|
|
250
|
+
{
|
|
251
|
+
startSecondsFromCaptureReference:
|
|
252
|
+
number;
|
|
253
|
+
endSecondsFromCaptureReference:
|
|
254
|
+
number;
|
|
255
|
+
durationSeconds: number;
|
|
256
|
+
};
|
|
257
|
+
pulseSupportDurationSeconds:
|
|
258
|
+
number;
|
|
259
|
+
pulseStartSecondsFromCaptureReference:
|
|
260
|
+
number | null;
|
|
261
|
+
pulseEndSecondsFromCaptureReference:
|
|
262
|
+
number | null;
|
|
263
|
+
waveformTimeZeroSecondsFromCaptureReference:
|
|
264
|
+
number | null;
|
|
265
|
+
releaseFrameBinding:
|
|
266
|
+
| {
|
|
267
|
+
sequenceId: string;
|
|
268
|
+
releaseFrameId: string;
|
|
269
|
+
frameIndex: number;
|
|
270
|
+
sceneTimeSecondsFromSequenceStartAtPulseStart:
|
|
271
|
+
number;
|
|
272
|
+
sceneTimeSecondsFromSequenceStartAtPulseEnd:
|
|
273
|
+
number;
|
|
274
|
+
}
|
|
275
|
+
| null;
|
|
276
|
+
hssModeled: false;
|
|
277
|
+
ttlModeled: false;
|
|
278
|
+
sensorReadoutTimingUsedAsExposureTiming:
|
|
279
|
+
false;
|
|
280
|
+
whiteBalanceModified: false;
|
|
281
|
+
focusModified: false;
|
|
282
|
+
exposureSettingsModified: false;
|
|
283
|
+
driveModeModified: false;
|
|
284
|
+
supportStateModified: false;
|
|
285
|
+
evidence: readonly EvidenceProvenance[];
|
|
286
|
+
limitations: readonly string[];
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## resolveManualFlashSync
|
|
291
|
+
|
|
292
|
+
Place a declared ordinary flash pulse into the actual whole-frame exposure opening interval for
|
|
293
|
+
front or rear sync, or return structured incompatibility.
|
|
294
|
+
|
|
295
|
+
Manual flash is a registered relative pulse/source overlay on the capture opening-reference clock.
|
|
296
|
+
Ordinary front/rear sync requires a real whole-frame opening interval. HSS/TTL and flash metering
|
|
297
|
+
are unsupported here; source magnitude, optical transport and sensor integration retain their own
|
|
298
|
+
contracts.
|
|
299
|
+
|
|
300
|
+
```ts
|
|
301
|
+
export function resolveManualFlashSync(
|
|
302
|
+
input:
|
|
303
|
+
ResolveManualFlashSyncInput
|
|
304
|
+
): ResolvedManualFlashSync;
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
308
|
+
|
|
309
|
+
## ResolveManualFlashSyncInput
|
|
310
|
+
|
|
311
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
312
|
+
|
|
313
|
+
```ts
|
|
314
|
+
export interface ResolveManualFlashSyncInput {
|
|
315
|
+
flashEnabled: boolean;
|
|
316
|
+
flashProfile:
|
|
317
|
+
ManualFlashProfile;
|
|
318
|
+
syncCapabilities:
|
|
319
|
+
FlashSyncCapabilityProfile;
|
|
320
|
+
timing:
|
|
321
|
+
ResolvedCaptureModeTiming;
|
|
322
|
+
syncMode:
|
|
323
|
+
RequestedFlashSyncMode;
|
|
324
|
+
releaseFrame?:
|
|
325
|
+
ResolvedReleaseFrame;
|
|
326
|
+
}
|
|
327
|
+
```
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# exposure/metering-scene-radiance.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.1**, root API **1.0.1**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
|
|
4
|
+
|
|
5
|
+
## createSceneRadianceDerivedExposureMeteringSampleSet
|
|
6
|
+
|
|
7
|
+
Creates a relative pre-exposure meter sample set bound to one validated #85
|
|
8
|
+
provider context.
|
|
9
|
+
|
|
10
|
+
The caller/renderer still supplies the scalar relative samples. This bridge
|
|
11
|
+
validates identity and timing semantics only; it does not convert spectral
|
|
12
|
+
radiance into luminance or define a calibrated meter spectral response.
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
export function createSceneRadianceDerivedExposureMeteringSampleSet(
|
|
16
|
+
input:
|
|
17
|
+
CreateSceneRadianceDerivedExposureMeteringSampleSetInput
|
|
18
|
+
): SceneRadianceDerivedExposureMeteringSampleSet;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
22
|
+
|
|
23
|
+
## CreateSceneRadianceDerivedExposureMeteringSampleSetInput
|
|
24
|
+
|
|
25
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export interface CreateSceneRadianceDerivedExposureMeteringSampleSetInput {
|
|
29
|
+
measurementId: string;
|
|
30
|
+
sceneStateId: string;
|
|
31
|
+
providerProfile:
|
|
32
|
+
SceneRadianceProviderProfile;
|
|
33
|
+
illuminationProfile:
|
|
34
|
+
SceneIlluminationProfile;
|
|
35
|
+
materialResponseProfile:
|
|
36
|
+
SceneMaterialResponseProfile;
|
|
37
|
+
illuminationTemporalProfile?:
|
|
38
|
+
SceneIlluminationTemporalProfile;
|
|
39
|
+
captureTimeSecondsFromReference?: number;
|
|
40
|
+
captureGeometry:
|
|
41
|
+
ResolvedCaptureGeometry;
|
|
42
|
+
derivationProfile:
|
|
43
|
+
SceneRadianceMeteringDerivationProfile;
|
|
44
|
+
samples:
|
|
45
|
+
readonly ExposureMeteringZoneSample[];
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## parseSceneRadianceMeteringDerivationProfile
|
|
50
|
+
|
|
51
|
+
Parses the declared approximation used to reduce renderer/provider scene
|
|
52
|
+
information into the scalar relative-linear domain consumed by metering.
|
|
53
|
+
|
|
54
|
+
This profile explicitly does not authorize a calibrated luminance or
|
|
55
|
+
spectral-to-photometric conversion claim.
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
export function parseSceneRadianceMeteringDerivationProfile(
|
|
59
|
+
value: unknown
|
|
60
|
+
): SceneRadianceMeteringDerivationProfile;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
64
|
+
|
|
65
|
+
## SCENE_RADIANCE_METERING_DERIVATION_SCHEMA_VERSION
|
|
66
|
+
|
|
67
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
SCENE_RADIANCE_METERING_DERIVATION_SCHEMA_VERSION =
|
|
71
|
+
"0.1.0" as const
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## SceneRadianceDerivedExposureMeteringSampleSet
|
|
75
|
+
|
|
76
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
export interface SceneRadianceDerivedExposureMeteringSampleSet
|
|
80
|
+
extends ExposureMeteringSampleSet {
|
|
81
|
+
sourceContext:
|
|
82
|
+
SceneRadianceMeteringSourceContext;
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## SceneRadianceMeteringDerivationProfile
|
|
87
|
+
|
|
88
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
export interface SceneRadianceMeteringDerivationProfile {
|
|
92
|
+
schemaVersion:
|
|
93
|
+
typeof SCENE_RADIANCE_METERING_DERIVATION_SCHEMA_VERSION;
|
|
94
|
+
derivationId: string;
|
|
95
|
+
scientificStatus: "approximation";
|
|
96
|
+
method:
|
|
97
|
+
"renderer-provided-pre-exposure-relative-reduction";
|
|
98
|
+
spectralWeighting:
|
|
99
|
+
"not-calibrated";
|
|
100
|
+
evidence: readonly EvidenceProvenance[];
|
|
101
|
+
limitation: string;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## SceneRadianceMeteringSourceContext
|
|
106
|
+
|
|
107
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
export interface SceneRadianceMeteringSourceContext {
|
|
111
|
+
kind:
|
|
112
|
+
"scene-radiance-provider-derived-relative";
|
|
113
|
+
sceneId: string;
|
|
114
|
+
sceneStateId: string;
|
|
115
|
+
providerProfileId: string;
|
|
116
|
+
illuminationProfileId: string;
|
|
117
|
+
materialResponseProfileId: string;
|
|
118
|
+
derivationProfileId: string;
|
|
119
|
+
providerScientificStatus:
|
|
120
|
+
SceneRadianceProviderProfile["scientificStatus"];
|
|
121
|
+
materialResponseFidelity:
|
|
122
|
+
ReturnType<
|
|
123
|
+
typeof assessSceneMaterialResponseFidelity
|
|
124
|
+
>;
|
|
125
|
+
temporal:
|
|
126
|
+
SceneRadianceMeteringTemporalContext;
|
|
127
|
+
spectralReductionCalibrated: false;
|
|
128
|
+
calibratedLuminanceClaimAuthorized:
|
|
129
|
+
false;
|
|
130
|
+
calibratedSceneRadianceClaimAuthorized:
|
|
131
|
+
false;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## SceneRadianceMeteringTemporalContext
|
|
136
|
+
|
|
137
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
export type SceneRadianceMeteringTemporalContext =
|
|
141
|
+
| {
|
|
142
|
+
kind: "time-invariant";
|
|
143
|
+
}
|
|
144
|
+
| {
|
|
145
|
+
kind:
|
|
146
|
+
"registered-time-varying";
|
|
147
|
+
illuminationTemporalProfileId:
|
|
148
|
+
string;
|
|
149
|
+
timeReference:
|
|
150
|
+
"first-opening-boundary-phase";
|
|
151
|
+
captureTimeSecondsFromReference:
|
|
152
|
+
number;
|
|
153
|
+
};
|
|
154
|
+
```
|