@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,260 @@
|
|
|
1
|
+
# sensor/raw-reconstruction.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
|
+
## createSensorRawCaptureSample
|
|
6
|
+
|
|
7
|
+
Commit one validated native RAW sample with exact site/channel/event identity for declared
|
|
8
|
+
reconstruction.
|
|
9
|
+
|
|
10
|
+
Reconstruction consumes explicitly bound native post-ADC samples and declared normalized channel
|
|
11
|
+
kernels. Native CFA phase is absolute and orientation/crop remain downstream. This structural linear
|
|
12
|
+
reconstruction does not infer spectral sensor primaries, calibrated color or a complete arbitrary
|
|
13
|
+
demosaic algorithm.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
export function createSensorRawCaptureSample(
|
|
17
|
+
input:
|
|
18
|
+
CreateSensorRawCaptureSampleInput
|
|
19
|
+
): SensorRawCaptureSample;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
23
|
+
|
|
24
|
+
## CreateSensorRawCaptureSampleInput
|
|
25
|
+
|
|
26
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export interface CreateSensorRawCaptureSampleInput {
|
|
30
|
+
rawCode:
|
|
31
|
+
SensorRawCodeSample;
|
|
32
|
+
contributors:
|
|
33
|
+
ResolvedCaptureModeColorSamplingContributors;
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## parseSensorRawReconstructionProfile
|
|
38
|
+
|
|
39
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
40
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
41
|
+
|
|
42
|
+
Reconstruction consumes explicitly bound native post-ADC samples and declared normalized channel
|
|
43
|
+
kernels. Native CFA phase is absolute and orientation/crop remain downstream. This structural linear
|
|
44
|
+
reconstruction does not infer spectral sensor primaries, calibrated color or a complete arbitrary
|
|
45
|
+
demosaic algorithm.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
export function parseSensorRawReconstructionProfile(
|
|
49
|
+
value: unknown
|
|
50
|
+
): SensorRawReconstructionProfile;
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
54
|
+
|
|
55
|
+
## resolveSensorRawReconstruction
|
|
56
|
+
|
|
57
|
+
Gather exactly supplied native channel contributions through explicit normalized kernels while
|
|
58
|
+
preserving CFA identity and signed black-subtracted values.
|
|
59
|
+
|
|
60
|
+
Reconstruction consumes explicitly bound native post-ADC samples and declared normalized channel
|
|
61
|
+
kernels. Native CFA phase is absolute and orientation/crop remain downstream. This structural linear
|
|
62
|
+
reconstruction does not infer spectral sensor primaries, calibrated color or a complete arbitrary
|
|
63
|
+
demosaic algorithm.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
export function resolveSensorRawReconstruction(
|
|
67
|
+
input:
|
|
68
|
+
ResolveSensorRawReconstructionInput
|
|
69
|
+
): CalculationResult<SensorRawReconstructedPixel>;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
73
|
+
|
|
74
|
+
## ResolveSensorRawReconstructionInput
|
|
75
|
+
|
|
76
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
export interface ResolveSensorRawReconstructionInput {
|
|
80
|
+
profile:
|
|
81
|
+
SensorRawReconstructionProfile;
|
|
82
|
+
colorSamplingProfile:
|
|
83
|
+
SensorColorSamplingProfile;
|
|
84
|
+
centerSite: {
|
|
85
|
+
x: number;
|
|
86
|
+
y: number;
|
|
87
|
+
};
|
|
88
|
+
samples:
|
|
89
|
+
readonly SensorRawCaptureSample[];
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## SENSOR_RAW_CAPTURE_SAMPLE_VERSION
|
|
94
|
+
|
|
95
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
SENSOR_RAW_CAPTURE_SAMPLE_VERSION =
|
|
99
|
+
"0.1.0" as const
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## SENSOR_RAW_RECONSTRUCTION_PROFILE_SCHEMA_VERSION
|
|
103
|
+
|
|
104
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
SENSOR_RAW_RECONSTRUCTION_PROFILE_SCHEMA_VERSION =
|
|
108
|
+
"0.1.0" as const
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## SensorRawCaptureSample
|
|
112
|
+
|
|
113
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
export interface SensorRawCaptureSample {
|
|
117
|
+
version:
|
|
118
|
+
typeof SENSOR_RAW_CAPTURE_SAMPLE_VERSION;
|
|
119
|
+
captureModeId: string;
|
|
120
|
+
modeSampleCoordinateSystem:
|
|
121
|
+
"capture-mode-full-frame-effective-sample-index";
|
|
122
|
+
modeSampleIndexFullFrame: {
|
|
123
|
+
x: number;
|
|
124
|
+
y: number;
|
|
125
|
+
};
|
|
126
|
+
colorSamplingProfileId: string;
|
|
127
|
+
colorSamplingSite: {
|
|
128
|
+
x: number;
|
|
129
|
+
y: number;
|
|
130
|
+
};
|
|
131
|
+
channelId: string;
|
|
132
|
+
rawCode: number;
|
|
133
|
+
blackLevelCode: number;
|
|
134
|
+
digitalSaturationCode: number;
|
|
135
|
+
blackSubtractedNormalizedCode:
|
|
136
|
+
number;
|
|
137
|
+
readoutProfileId: string;
|
|
138
|
+
readoutRegimeId: string;
|
|
139
|
+
sourceChargeSeedUint32: number;
|
|
140
|
+
sourceReadNoiseSeedUint32: number;
|
|
141
|
+
physicalScalarSaturationApplied:
|
|
142
|
+
boolean;
|
|
143
|
+
digitalSaturationApplied:
|
|
144
|
+
boolean;
|
|
145
|
+
cfaPhasePreservedInNativeCoordinates:
|
|
146
|
+
true;
|
|
147
|
+
physicalOrientationApplied:
|
|
148
|
+
false;
|
|
149
|
+
outputRotationApplied:
|
|
150
|
+
false;
|
|
151
|
+
groupedModeCombinationApplied:
|
|
152
|
+
false;
|
|
153
|
+
reconstructionApplied: false;
|
|
154
|
+
aliasingModeled: false;
|
|
155
|
+
moireModeled: false;
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## SensorRawReconstructedPixel
|
|
160
|
+
|
|
161
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
export interface SensorRawReconstructedPixel {
|
|
165
|
+
reconstructionProfileId:
|
|
166
|
+
string;
|
|
167
|
+
reconstructionProfileVersion:
|
|
168
|
+
string;
|
|
169
|
+
captureModeId: string;
|
|
170
|
+
colorSamplingProfileId: string;
|
|
171
|
+
centerSite: {
|
|
172
|
+
x: number;
|
|
173
|
+
y: number;
|
|
174
|
+
};
|
|
175
|
+
outputChannels:
|
|
176
|
+
readonly {
|
|
177
|
+
channelId: string;
|
|
178
|
+
linearBlackSubtractedNormalizedValue:
|
|
179
|
+
number;
|
|
180
|
+
sourceContributions:
|
|
181
|
+
readonly {
|
|
182
|
+
site: {
|
|
183
|
+
x: number;
|
|
184
|
+
y: number;
|
|
185
|
+
};
|
|
186
|
+
sourceChannelId: string;
|
|
187
|
+
weight: number;
|
|
188
|
+
sourceValue: number;
|
|
189
|
+
}[];
|
|
190
|
+
}[];
|
|
191
|
+
method:
|
|
192
|
+
"explicit-linear-native-neighborhood";
|
|
193
|
+
cfaAware: true;
|
|
194
|
+
captureModeAware: true;
|
|
195
|
+
physicalOrientationApplied:
|
|
196
|
+
false;
|
|
197
|
+
outputRotationApplied: false;
|
|
198
|
+
sharpeningApplied: false;
|
|
199
|
+
denoisingApplied: false;
|
|
200
|
+
aliasingModeled: false;
|
|
201
|
+
moireModeled: false;
|
|
202
|
+
preSamplingOpticalTransferAdequacyEstablished:
|
|
203
|
+
false;
|
|
204
|
+
reconstructionDoesNotModifyRawSamples:
|
|
205
|
+
true;
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## SensorRawReconstructionChannelKernel
|
|
210
|
+
|
|
211
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
export interface SensorRawReconstructionChannelKernel {
|
|
215
|
+
outputChannelId: string;
|
|
216
|
+
contributions:
|
|
217
|
+
readonly SensorRawReconstructionKernelContribution[];
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## SensorRawReconstructionKernelContribution
|
|
222
|
+
|
|
223
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
224
|
+
|
|
225
|
+
```ts
|
|
226
|
+
export interface SensorRawReconstructionKernelContribution {
|
|
227
|
+
offsetX: number;
|
|
228
|
+
offsetY: number;
|
|
229
|
+
sourceChannelId: string;
|
|
230
|
+
weight: number;
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## SensorRawReconstructionProfile
|
|
235
|
+
|
|
236
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
export interface SensorRawReconstructionProfile {
|
|
240
|
+
schemaVersion:
|
|
241
|
+
typeof SENSOR_RAW_RECONSTRUCTION_PROFILE_SCHEMA_VERSION;
|
|
242
|
+
profileId: string;
|
|
243
|
+
profileVersion: string;
|
|
244
|
+
captureModeId: string;
|
|
245
|
+
colorSamplingProfileId: string;
|
|
246
|
+
scientificStatus:
|
|
247
|
+
SensorSpectralResponseScientificStatus;
|
|
248
|
+
method:
|
|
249
|
+
"explicit-linear-native-neighborhood";
|
|
250
|
+
normalization:
|
|
251
|
+
"weights-sum-to-one-per-output-channel";
|
|
252
|
+
negativeBlackSubtractedValuesAllowed:
|
|
253
|
+
true;
|
|
254
|
+
kernels:
|
|
255
|
+
readonly SensorRawReconstructionChannelKernel[];
|
|
256
|
+
evidence:
|
|
257
|
+
readonly EvidenceProvenance[];
|
|
258
|
+
limitations: readonly string[];
|
|
259
|
+
}
|
|
260
|
+
```
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# sensor/readout-exposure-linkage.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
|
+
## assessReadoutExposureTimingLinkage
|
|
6
|
+
|
|
7
|
+
Assesses an explicitly declared relationship between rolling sensor readout
|
|
8
|
+
spatial phase and one or more electronic exposure-boundary scans.
|
|
9
|
+
|
|
10
|
+
This contract is deliberately weaker than temporal synchronization. It can
|
|
11
|
+
establish that two schedules traverse the same native spatial phase ordering
|
|
12
|
+
(or its reverse), but it does not establish when sensor data readout occurs
|
|
13
|
+
relative to exposure start/end.
|
|
14
|
+
|
|
15
|
+
The total capture data-readout duration is preserved diagnostically and is
|
|
16
|
+
never used to validate the relationship. Different rolling-readout spatial
|
|
17
|
+
skew and exposure-boundary traversal durations are allowed; their ratio is
|
|
18
|
+
reported without implying a shared clock origin.
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
export function assessReadoutExposureTimingLinkage(
|
|
22
|
+
input: AssessReadoutExposureTimingLinkageInput
|
|
23
|
+
): CalculationResult<ReadoutExposureTimingLinkageAssessment>;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
27
|
+
|
|
28
|
+
## AssessReadoutExposureTimingLinkageInput
|
|
29
|
+
|
|
30
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
export interface AssessReadoutExposureTimingLinkageInput {
|
|
34
|
+
nativeRaster: NativeImageRaster;
|
|
35
|
+
activeCaptureRect?: RasterRect;
|
|
36
|
+
shutterMechanism: CaptureShutterMechanism;
|
|
37
|
+
readout: SensorReadoutTimingDeclaration;
|
|
38
|
+
nominalExposureDurationSeconds: SourcedCaptureTimingSeconds;
|
|
39
|
+
opening: ExposureBoundarySchedule;
|
|
40
|
+
closing: ExposureBoundarySchedule;
|
|
41
|
+
linkage: ReadoutExposureTimingLinkageDeclaration;
|
|
42
|
+
samplePointsNative?: readonly RasterPoint[];
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## ReadoutExposureBoundaryId
|
|
47
|
+
|
|
48
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
export type ReadoutExposureBoundaryId = "opening" | "closing";
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## ReadoutExposureBoundarySpatialLink
|
|
55
|
+
|
|
56
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
export interface ReadoutExposureBoundarySpatialLink {
|
|
60
|
+
boundary: ReadoutExposureBoundaryId;
|
|
61
|
+
/**
|
|
62
|
+
* Relationship between normalized rolling-readout scan phase and the
|
|
63
|
+
* selected electronic exposure-boundary scan phase.
|
|
64
|
+
*
|
|
65
|
+
* "same": boundary normalized phase = readout normalized phase.
|
|
66
|
+
* "reversed": boundary normalized phase = 1 - readout normalized phase.
|
|
67
|
+
*
|
|
68
|
+
* This does not establish absolute temporal synchronization.
|
|
69
|
+
*/
|
|
70
|
+
phaseOrientation: ReadoutExposureSpatialPhaseOrientation;
|
|
71
|
+
/**
|
|
72
|
+
* Evidence supporting the relationship itself.
|
|
73
|
+
*
|
|
74
|
+
* The readout direction/timing and exposure-boundary direction/timing retain
|
|
75
|
+
* their own separate evidence.
|
|
76
|
+
*/
|
|
77
|
+
evidence: readonly EvidenceProvenance[];
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## ReadoutExposureBoundarySpatialLinkAssessment
|
|
82
|
+
|
|
83
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
export interface ReadoutExposureBoundarySpatialLinkAssessment {
|
|
87
|
+
boundary: ReadoutExposureBoundaryId;
|
|
88
|
+
boundaryActuator: "electronic";
|
|
89
|
+
phaseOrientation: ReadoutExposureSpatialPhaseOrientation;
|
|
90
|
+
normalizedPhaseRelationship:
|
|
91
|
+
| "boundary-phase-equals-readout-phase"
|
|
92
|
+
| "boundary-phase-equals-one-minus-readout-phase";
|
|
93
|
+
relationshipEvidence: readonly EvidenceProvenance[];
|
|
94
|
+
readoutDirectionNative: NativeSensorReadoutScanDirection;
|
|
95
|
+
boundaryDirectionNative: NativeSensorReadoutScanDirection;
|
|
96
|
+
/**
|
|
97
|
+
* First-to-last rolling sensor spatial sampling skew.
|
|
98
|
+
*/
|
|
99
|
+
readoutSpatialSamplingSkewSeconds: SourcedSensorTimingSeconds;
|
|
100
|
+
/**
|
|
101
|
+
* First-to-last exposure-boundary traversal duration.
|
|
102
|
+
*/
|
|
103
|
+
boundaryTraversalDurationSeconds: SourcedCaptureTimingSeconds;
|
|
104
|
+
/**
|
|
105
|
+
* Derived descriptive ratio only. A value of 1 does not prove temporal
|
|
106
|
+
* synchronization or a common clock origin.
|
|
107
|
+
*/
|
|
108
|
+
boundaryTraversalToReadoutSpatialSkewRatio: number;
|
|
109
|
+
absoluteTemporalAlignment: "not-established";
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## ReadoutExposureSpatialPhaseOrientation
|
|
114
|
+
|
|
115
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
export type ReadoutExposureSpatialPhaseOrientation =
|
|
119
|
+
| "same"
|
|
120
|
+
| "reversed";
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## ReadoutExposureTimingLinkageAssessment
|
|
124
|
+
|
|
125
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
export interface ReadoutExposureTimingLinkageAssessment {
|
|
129
|
+
linkageKind: ReadoutExposureTimingLinkageDeclaration["kind"];
|
|
130
|
+
relationshipMeaning:
|
|
131
|
+
| "no-readout-exposure-relationship-asserted"
|
|
132
|
+
| "normalized-spatial-phase-relationship-asserted";
|
|
133
|
+
readoutMode: "rolling" | "global";
|
|
134
|
+
shutterMechanism: CaptureShutterMechanism;
|
|
135
|
+
activeCaptureRect: RasterRect;
|
|
136
|
+
absoluteTemporalAlignment: "not-established";
|
|
137
|
+
/**
|
|
138
|
+
* Capture data-readout duration is preserved for diagnostics but is not used
|
|
139
|
+
* to validate any exposure-boundary linkage.
|
|
140
|
+
*/
|
|
141
|
+
captureReadoutDurationSeconds: SourcedSensorTimingSeconds;
|
|
142
|
+
links: readonly ReadoutExposureBoundarySpatialLinkAssessment[];
|
|
143
|
+
componentProvenance: {
|
|
144
|
+
sensorReadout: CalculationProvenance;
|
|
145
|
+
exposureWindows: CalculationProvenance;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## ReadoutExposureTimingLinkageDeclaration
|
|
151
|
+
|
|
152
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
export type ReadoutExposureTimingLinkageDeclaration =
|
|
156
|
+
| {
|
|
157
|
+
/**
|
|
158
|
+
* Photivra asserts no readout↔exposure relationship for this capture.
|
|
159
|
+
* This is not evidence that the physical processes are independent.
|
|
160
|
+
*/
|
|
161
|
+
kind: "unlinked";
|
|
162
|
+
links?: never;
|
|
163
|
+
}
|
|
164
|
+
| {
|
|
165
|
+
/**
|
|
166
|
+
* One or more exposure boundaries are explicitly related to rolling
|
|
167
|
+
* readout by normalized native-sensor spatial phase.
|
|
168
|
+
*/
|
|
169
|
+
kind: "spatial-phase-linked";
|
|
170
|
+
links: readonly ReadoutExposureBoundarySpatialLink[];
|
|
171
|
+
};
|
|
172
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# sensor/readout-timing.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
|
+
## calculateSensorReadoutTiming
|
|
6
|
+
|
|
7
|
+
Resolves a capture-specific native sensor readout scan schedule.
|
|
8
|
+
|
|
9
|
+
Rolling readout uses a uniform-linear single-axis approximation across the
|
|
10
|
+
declared active capture. The caller supplies the spatial timing span
|
|
11
|
+
explicitly; it is never inferred from total data-readout duration, active
|
|
12
|
+
crop dimensions, native raster density, output resolution, sensor
|
|
13
|
+
architecture metadata, or shutter mechanism.
|
|
14
|
+
|
|
15
|
+
Global readout has no spatial phase skew in this model even when a non-zero
|
|
16
|
+
data-readout duration is declared.
|
|
17
|
+
|
|
18
|
+
This foundation does not define local exposure start/end times, mechanical
|
|
19
|
+
curtain travel, EFCS curtain behavior, rolling-shutter image distortion,
|
|
20
|
+
flash/flicker interactions, or motion integration.
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
export function calculateSensorReadoutTiming(
|
|
24
|
+
input: CalculateSensorReadoutTimingInput
|
|
25
|
+
): CalculationResult<SensorReadoutTiming>;
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
29
|
+
|
|
30
|
+
## CalculateSensorReadoutTimingInput
|
|
31
|
+
|
|
32
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
export interface CalculateSensorReadoutTimingInput {
|
|
36
|
+
nativeRaster: NativeImageRaster;
|
|
37
|
+
/**
|
|
38
|
+
* Active capture rectangle in invariant native raster coordinates.
|
|
39
|
+
*
|
|
40
|
+
* Defaults to the complete native raster. Timing is never inferred by
|
|
41
|
+
* scaling a full-frame value to this rectangle.
|
|
42
|
+
*/
|
|
43
|
+
activeCaptureRect?: RasterRect;
|
|
44
|
+
/**
|
|
45
|
+
* Selected shutter mechanism for the capture.
|
|
46
|
+
*
|
|
47
|
+
* It is reported independently and does not modify the sensor timing
|
|
48
|
+
* schedule in this foundation.
|
|
49
|
+
*/
|
|
50
|
+
shutterMechanism: CaptureShutterMechanism;
|
|
51
|
+
readout: SensorReadoutTimingDeclaration;
|
|
52
|
+
/**
|
|
53
|
+
* Optional continuous native raster edge-coordinate points for timing
|
|
54
|
+
* diagnostics. Pixel centers may be represented with +0.5 offsets.
|
|
55
|
+
*/
|
|
56
|
+
samplePointsNative?: readonly RasterPoint[];
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## CaptureShutterMechanism
|
|
61
|
+
|
|
62
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
export type CaptureShutterMechanism =
|
|
66
|
+
| "mechanical"
|
|
67
|
+
| "electronic-first-curtain"
|
|
68
|
+
| "electronic";
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## GlobalSensorReadoutTimingDeclaration
|
|
72
|
+
|
|
73
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
export interface GlobalSensorReadoutTimingDeclaration {
|
|
77
|
+
readoutMode: "global";
|
|
78
|
+
/**
|
|
79
|
+
* Capture-specific sensor data-readout duration.
|
|
80
|
+
*
|
|
81
|
+
* This is deliberately not interpreted as spatial exposure/readout skew.
|
|
82
|
+
*/
|
|
83
|
+
captureReadoutDurationSeconds: SourcedSensorTimingSeconds;
|
|
84
|
+
scanDirectionNative?: never;
|
|
85
|
+
spatialSamplingSkewSeconds?: never;
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## NativeSensorReadoutScanDirection
|
|
90
|
+
|
|
91
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
export type NativeSensorReadoutScanDirection =
|
|
95
|
+
| "top-to-bottom"
|
|
96
|
+
| "bottom-to-top"
|
|
97
|
+
| "left-to-right"
|
|
98
|
+
| "right-to-left";
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## RollingSensorReadoutTimingDeclaration
|
|
102
|
+
|
|
103
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
export interface RollingSensorReadoutTimingDeclaration {
|
|
107
|
+
readoutMode: "rolling";
|
|
108
|
+
/**
|
|
109
|
+
* Capture-specific sensor data-readout duration.
|
|
110
|
+
*
|
|
111
|
+
* This fact is retained independently from spatial sampling skew because
|
|
112
|
+
* published/declared readout duration and the spatial timing span need not be
|
|
113
|
+
* treated as the same quantity.
|
|
114
|
+
*/
|
|
115
|
+
captureReadoutDurationSeconds: SourcedSensorTimingSeconds;
|
|
116
|
+
/**
|
|
117
|
+
* Native-sensor scan direction for the selected capture mode.
|
|
118
|
+
*/
|
|
119
|
+
scanDirectionNative: SourcedSensorReadoutFact<NativeSensorReadoutScanDirection>;
|
|
120
|
+
/**
|
|
121
|
+
* Time difference between the first and last spatial scan positions in the
|
|
122
|
+
* uniform-linear timing approximation.
|
|
123
|
+
*/
|
|
124
|
+
spatialSamplingSkewSeconds: SourcedSensorTimingSeconds;
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## SensorReadoutMode
|
|
129
|
+
|
|
130
|
+
Readout architecture selected for one capture.
|
|
131
|
+
|
|
132
|
+
This reuses the architecture vocabulary but is not a hardware-capability
|
|
133
|
+
assertion. SensorArchitectureProfile.readoutCapabilities remains descriptive
|
|
134
|
+
metadata and is not consulted automatically.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
export type SensorReadoutMode = SensorReadoutArchitecture;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## SensorReadoutTiming
|
|
141
|
+
|
|
142
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
export interface SensorReadoutTiming {
|
|
146
|
+
readoutMode: SensorReadoutMode;
|
|
147
|
+
shutterMechanism: CaptureShutterMechanism;
|
|
148
|
+
nativeRaster: NativeImageRaster;
|
|
149
|
+
activeCaptureRect: RasterRect;
|
|
150
|
+
captureReadoutDurationSeconds: SourcedSensorTimingSeconds;
|
|
151
|
+
maximumSpatialSamplingSkewSeconds: number;
|
|
152
|
+
scan:
|
|
153
|
+
| {
|
|
154
|
+
pattern: "uniform-linear-single-axis";
|
|
155
|
+
directionNative: SourcedSensorReadoutFact<NativeSensorReadoutScanDirection>;
|
|
156
|
+
unitVectorNative: { x: number; y: number };
|
|
157
|
+
spatialSamplingSkewSeconds: SourcedSensorTimingSeconds;
|
|
158
|
+
}
|
|
159
|
+
| null;
|
|
160
|
+
samples: readonly SensorReadoutTimingSample[];
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## SensorReadoutTimingDeclaration
|
|
165
|
+
|
|
166
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
export type SensorReadoutTimingDeclaration =
|
|
170
|
+
| GlobalSensorReadoutTimingDeclaration
|
|
171
|
+
| RollingSensorReadoutTimingDeclaration;
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## SensorReadoutTimingSample
|
|
175
|
+
|
|
176
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
export interface SensorReadoutTimingSample {
|
|
180
|
+
pointNative: RasterPoint;
|
|
181
|
+
normalizedScanPosition: number | null;
|
|
182
|
+
/**
|
|
183
|
+
* Relative native-sensor readout phase in seconds.
|
|
184
|
+
*
|
|
185
|
+
* Zero is the first spatial scan position. This is not automatically an
|
|
186
|
+
* exposure-start time or shutter-curtain time.
|
|
187
|
+
*/
|
|
188
|
+
readoutPhaseOffsetSeconds: number;
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## SourcedSensorReadoutFact
|
|
193
|
+
|
|
194
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
195
|
+
|
|
196
|
+
```ts
|
|
197
|
+
export type SourcedSensorReadoutFact<T> = EvidenceBackedFact<T>;
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## SourcedSensorTimingSeconds
|
|
201
|
+
|
|
202
|
+
Evidence-backed timing value with an explicit seconds unit.
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
export interface SourcedSensorTimingSeconds
|
|
206
|
+
extends EvidenceBackedFact<number> {
|
|
207
|
+
unit: "s";
|
|
208
|
+
}
|
|
209
|
+
```
|