@photivra/engine 0.5.1 → 1.0.0
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 +218 -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 +157 -56
- 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 +14 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +15 -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 +101 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -7
- package/dist/index.js.map +1 -1
- package/dist/motion/camera-rotation.d.ts +76 -0
- package/dist/motion/camera-rotation.d.ts.map +1 -1
- package/dist/motion/camera-rotation.js +111 -0
- package/dist/motion/camera-rotation.js.map +1 -1
- package/dist/motion/capture-rotation-inverse-mapping.d.ts +113 -0
- package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -0
- package/dist/motion/capture-rotation-inverse-mapping.js +184 -0
- package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts +104 -0
- package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js +131 -0
- package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -0
- package/dist/motion/capture-rotation-trajectory.d.ts +113 -0
- package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -0
- package/dist/motion/capture-rotation-trajectory.js +168 -0
- package/dist/motion/capture-rotation-trajectory.js.map +1 -0
- 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 +23 -4
- 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 +22 -2
- package/dist/optics/radial-distortion.d.ts.map +1 -1
- package/dist/optics/radial-distortion.js +101 -23
- 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 +32 -11
- 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 +212 -0
- package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -0
- package/dist/sensor/capture-color-sampling-binding.js +437 -0
- package/dist/sensor/capture-color-sampling-binding.js.map +1 -0
- 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 +157 -0
- package/dist/sensor/capture-mode.d.ts.map +1 -0
- package/dist/sensor/capture-mode.js +447 -0
- package/dist/sensor/capture-mode.js.map +1 -0
- package/dist/sensor/color-sampling.d.ts +133 -0
- package/dist/sensor/color-sampling.d.ts.map +1 -0
- package/dist/sensor/color-sampling.js +245 -0
- package/dist/sensor/color-sampling.js.map +1 -0
- 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 +117 -0
- package/dist/sensor/exposure-window.d.ts.map +1 -0
- package/dist/sensor/exposure-window.js +305 -0
- package/dist/sensor/exposure-window.js.map +1 -0
- 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 +132 -0
- package/dist/sensor/optical-stack.d.ts.map +1 -0
- package/dist/sensor/optical-stack.js +303 -0
- package/dist/sensor/optical-stack.js.map +1 -0
- 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 +123 -0
- package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -0
- package/dist/sensor/readout-exposure-linkage.js +222 -0
- package/dist/sensor/readout-exposure-linkage.js.map +1 -0
- package/dist/sensor/readout-timing.d.ts +137 -0
- package/dist/sensor/readout-timing.d.ts.map +1 -0
- package/dist/sensor/readout-timing.js +243 -0
- package/dist/sensor/readout-timing.js.map +1 -0
- 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 +154 -0
- package/dist/sensor/sampling-aperture.d.ts.map +1 -0
- package/dist/sensor/sampling-aperture.js +388 -0
- package/dist/sensor/sampling-aperture.js.map +1 -0
- 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 +171 -0
- package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -0
- package/dist/sensor/spatial-sample-reduction.js +345 -0
- package/dist/sensor/spatial-sample-reduction.js.map +1 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts +179 -0
- package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -0
- package/dist/sensor/spatial-sampling-quadrature.js +224 -0
- package/dist/sensor/spatial-sampling-quadrature.js.map +1 -0
- 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 +132 -0
- package/docs/ARCHITECTURE.md +150 -23
- package/docs/AUTOMATION_COORDINATION.md +190 -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 +105 -9
- package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
- package/docs/MOTION_AND_SIGNAL.md +145 -1
- 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 +65 -0
- package/docs/RELEASE_AUDIT.md +38 -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 +5604 -331
- 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 +18 -4
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# exposure/metering-target.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [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
|
+
## createExposureMeterTargetFromMeteringResult
|
|
6
|
+
|
|
7
|
+
Freezes one metering result into the stable relative exposure target
|
|
8
|
+
consumed by downstream camera-control policy.
|
|
9
|
+
|
|
10
|
+
The target copies the meter snapshot by value. Future scene/light changes do
|
|
11
|
+
not mutate this object, which is the engine seam needed for AE-lock behavior.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
export function createExposureMeterTargetFromMeteringResult(
|
|
15
|
+
input:
|
|
16
|
+
CreateExposureMeterTargetInput
|
|
17
|
+
): ExposureMeterTarget;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
21
|
+
|
|
22
|
+
## CreateExposureMeterTargetInput
|
|
23
|
+
|
|
24
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
export interface CreateExposureMeterTargetInput {
|
|
28
|
+
targetId: string;
|
|
29
|
+
meterResult:
|
|
30
|
+
ExposureMeterTargetSourceResult;
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## EXPOSURE_METER_TARGET_SCHEMA_VERSION
|
|
35
|
+
|
|
36
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
EXPOSURE_METER_TARGET_SCHEMA_VERSION =
|
|
40
|
+
"0.1.0" as const
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## ExposureMeterSnapshotIdentity
|
|
44
|
+
|
|
45
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export interface ExposureMeterSnapshotIdentity {
|
|
49
|
+
sourceKind:
|
|
50
|
+
ExposureMeterTargetSourceKind;
|
|
51
|
+
measurementId: string;
|
|
52
|
+
sceneStateId: string;
|
|
53
|
+
meteringProfileId: string;
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## ExposureMeterTarget
|
|
58
|
+
|
|
59
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
export type ExposureMeterTarget =
|
|
63
|
+
| (ExposureMeterTargetBase & {
|
|
64
|
+
status: "resolved";
|
|
65
|
+
baseRequiredExposureScaleToTarget:
|
|
66
|
+
number;
|
|
67
|
+
baseExposureOffsetStopsToTarget:
|
|
68
|
+
number;
|
|
69
|
+
requiredExposureScaleToTarget:
|
|
70
|
+
number;
|
|
71
|
+
exposureOffsetStopsToTarget:
|
|
72
|
+
number;
|
|
73
|
+
})
|
|
74
|
+
| (ExposureMeterTargetBase & {
|
|
75
|
+
status: "no-signal";
|
|
76
|
+
baseRequiredExposureScaleResolved:
|
|
77
|
+
false;
|
|
78
|
+
baseExposureOffsetStopsResolved:
|
|
79
|
+
false;
|
|
80
|
+
requiredExposureScaleResolved:
|
|
81
|
+
false;
|
|
82
|
+
exposureOffsetStopsResolved:
|
|
83
|
+
false;
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## ExposureMeterTargetSourceKind
|
|
88
|
+
|
|
89
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
export type ExposureMeterTargetSourceKind =
|
|
93
|
+
| "spatial-metering-result"
|
|
94
|
+
| "temporal-metering-result";
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## ExposureMeterTargetSourceResult
|
|
98
|
+
|
|
99
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
export type ExposureMeterTargetSourceResult =
|
|
103
|
+
| ExposureMeteringResult
|
|
104
|
+
| SceneRadianceTemporalExposureMeteringResult;
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## setExposureCompensationOnMeterTarget
|
|
108
|
+
|
|
109
|
+
Sets an absolute exposure-compensation value on a frozen meter target.
|
|
110
|
+
|
|
111
|
+
Compensation is always re-derived from the uncompensated base target, so
|
|
112
|
+
repeated UI updates cannot accidentally accumulate floating-point/control
|
|
113
|
+
drift. Positive compensation requests more exposure.
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
export function setExposureCompensationOnMeterTarget(
|
|
117
|
+
input:
|
|
118
|
+
SetExposureCompensationOnMeterTargetInput
|
|
119
|
+
): ExposureMeterTarget;
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
123
|
+
|
|
124
|
+
## SetExposureCompensationOnMeterTargetInput
|
|
125
|
+
|
|
126
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
export interface SetExposureCompensationOnMeterTargetInput {
|
|
130
|
+
targetId: string;
|
|
131
|
+
baseTarget: ExposureMeterTarget;
|
|
132
|
+
exposureCompensationStops: number;
|
|
133
|
+
}
|
|
134
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# exposure/metering-temporal.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [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
|
+
## meterSceneRadianceTemporalExposure
|
|
6
|
+
|
|
7
|
+
Meters a declared weighted time-average of scene-radiance-derived relative
|
|
8
|
+
pre-exposure samples.
|
|
9
|
+
|
|
10
|
+
Every temporal sample must already be explicitly bound to one #85 temporal
|
|
11
|
+
illumination profile and one capture time in the
|
|
12
|
+
first-opening-boundary-phase reference. Spatial metering is performed first
|
|
13
|
+
in the same declared profile, then those scalar pre-exposure measurements are
|
|
14
|
+
combined linearly by caller-declared normalized time weights.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
export function meterSceneRadianceTemporalExposure(
|
|
18
|
+
input:
|
|
19
|
+
MeterSceneRadianceTemporalExposureInput
|
|
20
|
+
): CalculationResult<
|
|
21
|
+
SceneRadianceTemporalExposureMeteringResult
|
|
22
|
+
>;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
26
|
+
|
|
27
|
+
## MeterSceneRadianceTemporalExposureInput
|
|
28
|
+
|
|
29
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
export interface MeterSceneRadianceTemporalExposureInput {
|
|
33
|
+
temporalMeasurementId: string;
|
|
34
|
+
profile: ExposureMeteringProfile;
|
|
35
|
+
policy: {
|
|
36
|
+
kind: "weighted-time-average";
|
|
37
|
+
timeReference:
|
|
38
|
+
"first-opening-boundary-phase";
|
|
39
|
+
};
|
|
40
|
+
temporalSamples:
|
|
41
|
+
readonly SceneRadianceTemporalMeteringSample[];
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## SceneRadianceTemporalExposureMeteringResult
|
|
46
|
+
|
|
47
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
export type SceneRadianceTemporalExposureMeteringResult =
|
|
51
|
+
| (SceneRadianceTemporalExposureMeteringResultBase & {
|
|
52
|
+
status: "resolved";
|
|
53
|
+
requiredExposureScaleToTarget:
|
|
54
|
+
number;
|
|
55
|
+
exposureOffsetStopsToTarget:
|
|
56
|
+
number;
|
|
57
|
+
})
|
|
58
|
+
| (SceneRadianceTemporalExposureMeteringResultBase & {
|
|
59
|
+
status: "no-signal";
|
|
60
|
+
requiredExposureScaleResolved:
|
|
61
|
+
false;
|
|
62
|
+
exposureOffsetStopsResolved:
|
|
63
|
+
false;
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## SceneRadianceTemporalMeteringSample
|
|
68
|
+
|
|
69
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
export interface SceneRadianceTemporalMeteringSample {
|
|
73
|
+
normalizedTimeWeight: number;
|
|
74
|
+
sampleSet:
|
|
75
|
+
SceneRadianceDerivedExposureMeteringSampleSet;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# exposure/metering.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [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
|
+
## EXPOSURE_METERING_PROFILE_SCHEMA_VERSION
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
EXPOSURE_METERING_PROFILE_SCHEMA_VERSION =
|
|
11
|
+
"0.1.0" as const
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## ExposureMeteringPolicy
|
|
15
|
+
|
|
16
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
export type ExposureMeteringPolicy =
|
|
20
|
+
| {
|
|
21
|
+
kind: "multi-zone-uniform";
|
|
22
|
+
}
|
|
23
|
+
| {
|
|
24
|
+
kind: "center-weighted-radial";
|
|
25
|
+
edgeWeight: number;
|
|
26
|
+
exponent: number;
|
|
27
|
+
}
|
|
28
|
+
| {
|
|
29
|
+
kind: "spot";
|
|
30
|
+
centerOrientedCaptureUv:
|
|
31
|
+
NormalizedRasterUv;
|
|
32
|
+
radiusFractionOfCaptureDiagonal:
|
|
33
|
+
number;
|
|
34
|
+
}
|
|
35
|
+
| {
|
|
36
|
+
kind: "highlight-weighted";
|
|
37
|
+
minimumWeightFraction: number;
|
|
38
|
+
exponent: number;
|
|
39
|
+
};
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## ExposureMeteringProfile
|
|
43
|
+
|
|
44
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
export interface ExposureMeteringProfile {
|
|
48
|
+
schemaVersion:
|
|
49
|
+
typeof EXPOSURE_METERING_PROFILE_SCHEMA_VERSION;
|
|
50
|
+
profileId: string;
|
|
51
|
+
scientificStatus: "approximation";
|
|
52
|
+
inputDomain:
|
|
53
|
+
"relative-pre-exposure-linear-signal";
|
|
54
|
+
captureRegion:
|
|
55
|
+
"oriented-active-capture";
|
|
56
|
+
policy: ExposureMeteringPolicy;
|
|
57
|
+
target: {
|
|
58
|
+
kind: "relative-signal-reference";
|
|
59
|
+
targetRelativeSignal: number;
|
|
60
|
+
evidence: readonly EvidenceProvenance[];
|
|
61
|
+
};
|
|
62
|
+
evidence: readonly EvidenceProvenance[];
|
|
63
|
+
limitations: readonly string[];
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ExposureMeteringResult
|
|
68
|
+
|
|
69
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
export type ExposureMeteringResult =
|
|
73
|
+
| (ExposureMeteringResultBase & {
|
|
74
|
+
status: "resolved";
|
|
75
|
+
requiredExposureScaleToTarget:
|
|
76
|
+
number;
|
|
77
|
+
exposureOffsetStopsToTarget:
|
|
78
|
+
number;
|
|
79
|
+
})
|
|
80
|
+
| (ExposureMeteringResultBase & {
|
|
81
|
+
status: "no-signal";
|
|
82
|
+
requiredExposureScaleResolved:
|
|
83
|
+
false;
|
|
84
|
+
exposureOffsetStopsResolved:
|
|
85
|
+
false;
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## ExposureMeteringSampleSet
|
|
90
|
+
|
|
91
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
export interface ExposureMeteringSampleSet {
|
|
95
|
+
measurementId: string;
|
|
96
|
+
sceneStateId: string;
|
|
97
|
+
inputDomain:
|
|
98
|
+
"relative-pre-exposure-linear-signal";
|
|
99
|
+
captureRegion:
|
|
100
|
+
"oriented-active-capture";
|
|
101
|
+
captureGeometry:
|
|
102
|
+
ResolvedCaptureGeometry;
|
|
103
|
+
processingState: {
|
|
104
|
+
exposureSettingsApplied: false;
|
|
105
|
+
whiteBalanceApplied: false;
|
|
106
|
+
toneMappingApplied: false;
|
|
107
|
+
displayGammaApplied: false;
|
|
108
|
+
sharpeningApplied: false;
|
|
109
|
+
};
|
|
110
|
+
samples:
|
|
111
|
+
readonly ExposureMeteringZoneSample[];
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## ExposureMeteringZoneSample
|
|
116
|
+
|
|
117
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
export interface ExposureMeteringZoneSample {
|
|
121
|
+
sampleId: string;
|
|
122
|
+
positionOrientedCaptureUv:
|
|
123
|
+
NormalizedRasterUv;
|
|
124
|
+
relativeLinearSignal: number;
|
|
125
|
+
areaWeight: number;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## meterRelativeExposure
|
|
130
|
+
|
|
131
|
+
Meters relative pre-exposure linear signal over the actual oriented active
|
|
132
|
+
capture frame.
|
|
133
|
+
|
|
134
|
+
The first contract is an educational/relative approximation. It is
|
|
135
|
+
intentionally independent of final output crop, display/tone mapping,
|
|
136
|
+
exposure compensation, and automatic exposure setting resolution.
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
export function meterRelativeExposure(
|
|
140
|
+
input:
|
|
141
|
+
MeterRelativeExposureInput
|
|
142
|
+
): CalculationResult<ExposureMeteringResult>;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
146
|
+
|
|
147
|
+
## MeterRelativeExposureInput
|
|
148
|
+
|
|
149
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
export interface MeterRelativeExposureInput {
|
|
153
|
+
profile: ExposureMeteringProfile;
|
|
154
|
+
sampleSet: ExposureMeteringSampleSet;
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## parseExposureMeteringProfile
|
|
159
|
+
|
|
160
|
+
Parses one generic relative exposure-metering profile.
|
|
161
|
+
|
|
162
|
+
Schema 0.1.0 is approximation-only and consumes relative pre-exposure
|
|
163
|
+
linear signal. It deliberately does not claim luminance, spectral radiance,
|
|
164
|
+
sensor-plane irradiance, or a specific manufacturer's meter calibration.
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
export function parseExposureMeteringProfile(
|
|
168
|
+
value: unknown
|
|
169
|
+
): ExposureMeteringProfile;
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# exposure/program-line.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [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
|
+
## EXPOSURE_PROGRAM_LINE_SCHEMA_VERSION
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
EXPOSURE_PROGRAM_LINE_SCHEMA_VERSION =
|
|
11
|
+
"0.1.0" as const
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## ExposureProgramLineNode
|
|
15
|
+
|
|
16
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
export interface ExposureProgramLineNode {
|
|
20
|
+
nodeId: string;
|
|
21
|
+
opticalExposureStopsFromReference: number;
|
|
22
|
+
aperture: number;
|
|
23
|
+
shutterSeconds: number;
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## ExposureProgramLineProfile
|
|
28
|
+
|
|
29
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
export interface ExposureProgramLineProfile {
|
|
33
|
+
schemaVersion:
|
|
34
|
+
typeof EXPOSURE_PROGRAM_LINE_SCHEMA_VERSION;
|
|
35
|
+
profileId: string;
|
|
36
|
+
profileVersion: string;
|
|
37
|
+
scientificStatus: "approximation";
|
|
38
|
+
policyKind:
|
|
39
|
+
"generic-program-line";
|
|
40
|
+
interpolation:
|
|
41
|
+
"log2-aperture-shutter";
|
|
42
|
+
evidence: readonly EvidenceProvenance[];
|
|
43
|
+
limitations: readonly string[];
|
|
44
|
+
nodes:
|
|
45
|
+
readonly ExposureProgramLineNode[];
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## parseExposureProgramLineProfile
|
|
50
|
+
|
|
51
|
+
Parses a generic educational/product exposure program line.
|
|
52
|
+
|
|
53
|
+
A program line is control policy, not physics. Nodes declare desired
|
|
54
|
+
aperture/shutter pairs at explicit optical-exposure stops relative to the
|
|
55
|
+
resolver's reference exposure. Resolution later verifies that every node is
|
|
56
|
+
physically consistent with that reference and current equipment capability.
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
export function parseExposureProgramLineProfile(
|
|
60
|
+
value: unknown
|
|
61
|
+
): ExposureProgramLineProfile;
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# motion/camera-rotation.ts public contracts
|
|
2
|
+
|
|
3
|
+
Package **1.0.0**, root API **0.116.0**. [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
|
+
## AxisSamplingPitchMicrometers
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface AxisSamplingPitchMicrometers {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## calculateCameraRotationImageMapping
|
|
17
|
+
|
|
18
|
+
Maps one stationary-world ray to its image-plane location after pure camera
|
|
19
|
+
rotation at an arbitrary physical time from exposure start.
|
|
20
|
+
|
|
21
|
+
The initial image point defines the world ray in the camera frame at t=0.
|
|
22
|
+
Constant angular velocity is integrated as one axis-angle rotation vector,
|
|
23
|
+
avoiding Euler-order dependence. The stationary world ray is then expressed
|
|
24
|
+
in the rotated camera frame using the inverse camera rotation and projected
|
|
25
|
+
rectilinearly back onto the image plane.
|
|
26
|
+
|
|
27
|
+
This function models rotation only. It deliberately excludes camera
|
|
28
|
+
translation because translational optical flow depends on scene depth.
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
export function calculateCameraRotationImageMapping(
|
|
32
|
+
input: CalculateCameraRotationImageMappingInput
|
|
33
|
+
): CalculationResult<CameraRotationImageMapping>;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
37
|
+
|
|
38
|
+
## CalculateCameraRotationImageMappingInput
|
|
39
|
+
|
|
40
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
export interface CalculateCameraRotationImageMappingInput {
|
|
44
|
+
/** Physical focal length in millimetres. */
|
|
45
|
+
focalLengthMm: number;
|
|
46
|
+
/**
|
|
47
|
+
* Stationary-world-ray image-plane position at exposure start.
|
|
48
|
+
*
|
|
49
|
+
* Image-plane coordinates use optical-axis origin, +X right, +Y up.
|
|
50
|
+
*/
|
|
51
|
+
imagePointMm: ImagePlanePointMm;
|
|
52
|
+
/**
|
|
53
|
+
* Time in seconds from exposure start. Must be greater than or equal to zero.
|
|
54
|
+
*/
|
|
55
|
+
timeSecondsFromExposureStart: number;
|
|
56
|
+
/**
|
|
57
|
+
* Constant camera angular-velocity vector in radians per second.
|
|
58
|
+
*
|
|
59
|
+
* Components are resolved in the camera axes at exposure start and follow
|
|
60
|
+
* the right-hand rule: pitch about +X, yaw about +Y, roll about +Z.
|
|
61
|
+
*/
|
|
62
|
+
angularVelocityRadPerSec: CameraAngularVelocityRadPerSec;
|
|
63
|
+
/** Optional focus distance in metres for thin-lens projection distance. */
|
|
64
|
+
focusDistanceM?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Optional axis-aware geometric sampling pitch for reporting sample-domain
|
|
67
|
+
* displacement. This is geometric sample spacing, not photosite collection
|
|
68
|
+
* area.
|
|
69
|
+
*/
|
|
70
|
+
samplingPitchMicrometers?: AxisSamplingPitchMicrometers;
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## calculateInverseCameraRotationImageMapping
|
|
75
|
+
|
|
76
|
+
Maps a captured stationary-world ray at one non-negative capture time back
|
|
77
|
+
to its image-plane location at exposure start.
|
|
78
|
+
|
|
79
|
+
For the existing constant-axis pure-rotation model this inverse is analytic:
|
|
80
|
+
the captured ray is transformed by the forward camera rotation before
|
|
81
|
+
rectilinear projection. No iterative solver is required.
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
export function calculateInverseCameraRotationImageMapping(
|
|
85
|
+
input: CalculateInverseCameraRotationImageMappingInput
|
|
86
|
+
): CalculationResult<InverseCameraRotationImageMapping>;
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
90
|
+
|
|
91
|
+
## CalculateInverseCameraRotationImageMappingInput
|
|
92
|
+
|
|
93
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
export interface CalculateInverseCameraRotationImageMappingInput {
|
|
97
|
+
/** Physical focal length in millimetres. */
|
|
98
|
+
focalLengthMm: number;
|
|
99
|
+
/**
|
|
100
|
+
* Captured image-plane location of a stationary world ray at the requested
|
|
101
|
+
* time. Coordinates use optical-axis origin, +X right and +Y up.
|
|
102
|
+
*/
|
|
103
|
+
imagePointMm: ImagePlanePointMm;
|
|
104
|
+
/**
|
|
105
|
+
* Capture time in seconds from exposure start. Must be greater than or equal
|
|
106
|
+
* to zero.
|
|
107
|
+
*/
|
|
108
|
+
timeSecondsFromExposureStart: number;
|
|
109
|
+
/**
|
|
110
|
+
* Constant camera angular-velocity vector in radians per second, with the
|
|
111
|
+
* same sign/axis semantics as calculateCameraRotationImageMapping().
|
|
112
|
+
*/
|
|
113
|
+
angularVelocityRadPerSec: CameraAngularVelocityRadPerSec;
|
|
114
|
+
/** Optional focus distance in metres for thin-lens projection distance. */
|
|
115
|
+
focusDistanceM?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Optional axis-aware geometric sampling pitch for reporting sample-domain
|
|
118
|
+
* inverse displacement.
|
|
119
|
+
*/
|
|
120
|
+
samplingPitchMicrometers?: AxisSamplingPitchMicrometers;
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## CameraAngularVelocityRadPerSec
|
|
125
|
+
|
|
126
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
export interface CameraAngularVelocityRadPerSec {
|
|
130
|
+
/** Right-hand rotation rate about camera +X (right), in radians per second. */
|
|
131
|
+
pitch: number;
|
|
132
|
+
/** Right-hand rotation rate about camera +Y (up), in radians per second. */
|
|
133
|
+
yaw: number;
|
|
134
|
+
/** Right-hand rotation rate about camera +Z (forward), in radians per second. */
|
|
135
|
+
roll: number;
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## CameraRotationImageMapping
|
|
140
|
+
|
|
141
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
export interface CameraRotationImageMapping {
|
|
145
|
+
projectionDistanceMm: number;
|
|
146
|
+
timeSecondsFromExposureStart: number;
|
|
147
|
+
angularDisplacementRad: {
|
|
148
|
+
pitch: number;
|
|
149
|
+
yaw: number;
|
|
150
|
+
roll: number;
|
|
151
|
+
magnitude: number;
|
|
152
|
+
};
|
|
153
|
+
startImagePointMm: ImagePlanePointMm;
|
|
154
|
+
mappedImagePointMm: ImagePlanePointMm;
|
|
155
|
+
deltaMm: {
|
|
156
|
+
x: number;
|
|
157
|
+
y: number;
|
|
158
|
+
distance: number;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Optional geometric sample displacement in the image-plane basis
|
|
162
|
+
* (+X right, +Y up). This is not a native-raster vector.
|
|
163
|
+
*/
|
|
164
|
+
deltaImagePlaneSamples?: {
|
|
165
|
+
x: number;
|
|
166
|
+
y: number;
|
|
167
|
+
distance: number;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## ImagePlanePointMm
|
|
173
|
+
|
|
174
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
export interface ImagePlanePointMm {
|
|
178
|
+
/** Image-plane X coordinate relative to the optical axis, in millimetres. */
|
|
179
|
+
x: number;
|
|
180
|
+
/** Image-plane Y coordinate relative to the optical axis, in millimetres. */
|
|
181
|
+
y: number;
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## InverseCameraRotationImageMapping
|
|
186
|
+
|
|
187
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
export interface InverseCameraRotationImageMapping {
|
|
191
|
+
projectionDistanceMm: number;
|
|
192
|
+
timeSecondsFromExposureStart: number;
|
|
193
|
+
angularDisplacementRad: {
|
|
194
|
+
pitch: number;
|
|
195
|
+
yaw: number;
|
|
196
|
+
roll: number;
|
|
197
|
+
magnitude: number;
|
|
198
|
+
};
|
|
199
|
+
capturedImagePointMm: ImagePlanePointMm;
|
|
200
|
+
referenceImagePointMm: ImagePlanePointMm;
|
|
201
|
+
/**
|
|
202
|
+
* Reference-minus-captured displacement in the image-plane basis.
|
|
203
|
+
*/
|
|
204
|
+
deltaMm: {
|
|
205
|
+
x: number;
|
|
206
|
+
y: number;
|
|
207
|
+
distance: number;
|
|
208
|
+
};
|
|
209
|
+
deltaImagePlaneSamples?: {
|
|
210
|
+
x: number;
|
|
211
|
+
y: number;
|
|
212
|
+
distance: number;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
```
|