@photivra/engine 0.6.0 → 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 +186 -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 +138 -71
- 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 +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 +132 -0
- 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 +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 +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,172 @@
|
|
|
1
|
+
# capture/photographic-export.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
|
+
## calculateProcessedSensorRaw
|
|
6
|
+
|
|
7
|
+
Reconstruct exact attached RAW, develop color/WB once, correct, orient/crop and encode SDR; no file/display IO.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export function calculateProcessedSensorRaw(input: ProcessedSensorRawInput): CalculationResult<ProcessedSensorRawResult>;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
14
|
+
|
|
15
|
+
## createPhotographicExportPair
|
|
16
|
+
|
|
17
|
+
Serialize one authoritative RAW capture to a lossless uncompressed CFA DNG and an independently
|
|
18
|
+
packed baseline JPEG. Shared metadata comes from the committed capture; orientation/WB/rendering
|
|
19
|
+
never rewrite native RAW codes.
|
|
20
|
+
|
|
21
|
+
Paired export preserves one revalidated native post-ADC RAW frame for DNG and develops that same
|
|
22
|
+
frame through explicit reconstruction, approximate sensor-channel color/WB and SDR policy for JPEG.
|
|
23
|
+
File identity and RAW data identity are distinct. Hashing is asynchronous; input data is copied
|
|
24
|
+
before the first await. Full-native execution is limited to 4096 sites.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
export async function createPhotographicExportPair(input: PhotographicExportInput): Promise<PhotographicExportPair>;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
This call is asynchronous; byte hashing uses the caller runtime's Web Crypto.
|
|
31
|
+
|
|
32
|
+
## ExportSensorColorProfile
|
|
33
|
+
|
|
34
|
+
Explicit approximation of normalized camera-channel -> scene XYZ/D65, never inferred from RGB/CFA names.
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
export interface ExportSensorColorProfile {
|
|
38
|
+
schemaVersion: "0.1.0";
|
|
39
|
+
profileId: string;
|
|
40
|
+
profileVersion: string;
|
|
41
|
+
colorSamplingProfileId: string;
|
|
42
|
+
channelIds: readonly ["red", "green", "blue"];
|
|
43
|
+
scientificStatus: "approximation";
|
|
44
|
+
referenceIlluminant: "D65";
|
|
45
|
+
normalizedCameraChannelsToXyz: Matrix;
|
|
46
|
+
evidence: readonly EvidenceProvenance[];
|
|
47
|
+
limitations: readonly string[];
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## parseExportSensorColorProfile
|
|
52
|
+
|
|
53
|
+
Validates independently supplied numeric profile evidence and binds the approximation to the exact CFA profile.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
export function parseExportSensorColorProfile(value: unknown): ExportSensorColorProfile;
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
60
|
+
|
|
61
|
+
## parsePhotographicExportInput
|
|
62
|
+
|
|
63
|
+
Adds file metadata/encoding validation to the shared processed RAW policy.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
export function parsePhotographicExportInput(value: unknown): PhotographicExportInput;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
70
|
+
|
|
71
|
+
## parseProcessedSensorRawInput
|
|
72
|
+
|
|
73
|
+
Revalidates one attached RAW snapshot and explicit processing policy.
|
|
74
|
+
Crop sampling and reconstruction coverage fail here before
|
|
75
|
+
per-pixel execution. Successful parsing does not establish kernel edge support,
|
|
76
|
+
correction support or container encoding readiness; those retain execution
|
|
77
|
+
checks. Input is copied; no file or display backend runs.
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
export function parseProcessedSensorRawInput(value: unknown): ProcessedSensorRawInput;
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
84
|
+
|
|
85
|
+
## PHOTOGRAPHIC_EXPORT_SCHEMA_VERSION
|
|
86
|
+
|
|
87
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
PHOTOGRAPHIC_EXPORT_SCHEMA_VERSION = "0.1.0" as const
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## PhotographicExportInput
|
|
94
|
+
|
|
95
|
+
Optional explicit exporter boundary; no files, clocks, randomness, network or encoder dependency.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
export interface PhotographicExportInput {
|
|
99
|
+
reconstruction: RawFrameReconstructionInput;
|
|
100
|
+
colorProfile: ExportSensorColorProfile;
|
|
101
|
+
whiteBalance: "not-required" | "apply-resolved-sensor-gains";
|
|
102
|
+
rendering: SdrRenderingProfile;
|
|
103
|
+
metadata: Omit<CaptureExportMetadataInput, "capture">;
|
|
104
|
+
/** Caller-declared public scene/version, explicitly bound to the committed scene state. */
|
|
105
|
+
sceneProfile: { id: string; version: string; sceneStateId: string };
|
|
106
|
+
/** JPEG constant quantization step 1..255, not an emulated manufacturer's 'quality' scale. */
|
|
107
|
+
jpegQuantizationStep: number;
|
|
108
|
+
/** Optional native-optical post-color correction; JPEG only, RAW records informational intent. */
|
|
109
|
+
correction?: CaptureCorrectedSdrInput["correction"];
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## PhotographicExportPair
|
|
114
|
+
|
|
115
|
+
Owned byte arrays are mutable; identities/hashes refer to the exact bytes returned at creation.
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
export interface PhotographicExportPair {
|
|
119
|
+
schemaVersion: typeof PHOTOGRAPHIC_EXPORT_SCHEMA_VERSION;
|
|
120
|
+
metadata: CaptureExportMetadataPair;
|
|
121
|
+
simulationHashAlgorithm: "sha-256";
|
|
122
|
+
simulationHash: string;
|
|
123
|
+
rawDataUniqueId: string;
|
|
124
|
+
uniqueCameraModel: string;
|
|
125
|
+
source: CalculationResult<RawFrameReconstruction>;
|
|
126
|
+
rendering: CalculationResult<SdrRenderingResult>;
|
|
127
|
+
nativeDefaultCrop: RasterRect;
|
|
128
|
+
/** Derived JPEG rectangle in the declared oriented output; never replaces the RAW default crop. */
|
|
129
|
+
processedOutputView: { rect: RasterRect; pixelWidth: number; pixelHeight: number };
|
|
130
|
+
correction: CalculationResult<CaptureCorrectedSdrResult> | null;
|
|
131
|
+
rawCorrectionIntent: CalculationResult<ResolvedLensCorrectionPlan> | null;
|
|
132
|
+
imageDataPairing: "jpeg-generated-from-exact-attached-raw";
|
|
133
|
+
dng: { mediaType: "image/dng"; bytes: Uint8Array; sha256: string };
|
|
134
|
+
jpeg: { mediaType: "image/jpeg"; bytes: Uint8Array; sha256: string };
|
|
135
|
+
interoperability: "independent-decode-required-editor-validation-pending";
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## ProcessedSensorRawInput
|
|
140
|
+
|
|
141
|
+
Explicit post-ADC RAW development policy shared by preview and file output.
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
export type ProcessedSensorRawInput = Pick<PhotographicExportInput,
|
|
145
|
+
"reconstruction" | "colorProfile" | "whiteBalance" | "rendering" | "correction">;
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## ProcessedSensorRawResult
|
|
149
|
+
|
|
150
|
+
Owned derived preview/JPEG processing record for the exact attached native RAW.
|
|
151
|
+
Child reconstruction/color/WB/correction/rendering results expose their input
|
|
152
|
+
and output domains and independent clipping/cost diagnostics. The output view is
|
|
153
|
+
oriented/cropped SDR, while the native default crop and physical capture history
|
|
154
|
+
remain unchanged. Returned arrays are pre-file pixels, not a lossy JPEG decode.
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
export interface ProcessedSensorRawResult {
|
|
158
|
+
inputDomain: "post-adc-native-sensor-raw";
|
|
159
|
+
colorProfile: ExportSensorColorProfile;
|
|
160
|
+
whiteBalancePolicy: ProcessedSensorRawInput["whiteBalance"];
|
|
161
|
+
outputDomain: "output-referred-srgb-d65-sdr";
|
|
162
|
+
physicalCaptureModified: false;
|
|
163
|
+
displayAdaptationApplied: false;
|
|
164
|
+
whiteBalance: "applied-here" | "not-required";
|
|
165
|
+
source: CalculationResult<RawFrameReconstruction>;
|
|
166
|
+
rendering: CalculationResult<SdrRenderingResult>;
|
|
167
|
+
nativeDefaultCrop: RasterRect;
|
|
168
|
+
processedOutputView: PhotographicExportPair["processedOutputView"];
|
|
169
|
+
correction: CalculationResult<CaptureCorrectedSdrResult> | null;
|
|
170
|
+
rawCorrectionIntent: CalculationResult<ResolvedLensCorrectionPlan> | null;
|
|
171
|
+
}
|
|
172
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# capture/raw-frame-reconstruction.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
|
+
## parseRawFrameReconstructionInput
|
|
6
|
+
|
|
7
|
+
Revalidates committed RAW codes/geometry and complete phase dispatch; no external plane may supply output values.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export function parseRawFrameReconstructionInput(value: unknown): RawFrameReconstructionInput;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
14
|
+
|
|
15
|
+
## RAW_FRAME_RECONSTRUCTION_SCHEMA_VERSION
|
|
16
|
+
|
|
17
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
RAW_FRAME_RECONSTRUCTION_SCHEMA_VERSION = "0.1.0" as const
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## RawFrameReconstruction
|
|
24
|
+
|
|
25
|
+
Traceable virtual sensor-channel values, not colorimetric RGB or a rendered photograph.
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
export interface RawFrameReconstruction {
|
|
29
|
+
schemaVersion: typeof RAW_FRAME_RECONSTRUCTION_SCHEMA_VERSION;
|
|
30
|
+
rawFrame: SensorRawFrame;
|
|
31
|
+
phaseProfiles: readonly RawFrameReconstructionPhaseProfile[];
|
|
32
|
+
region: RasterRect;
|
|
33
|
+
linearPlane: {
|
|
34
|
+
imageState: "virtual-sensor-channels";
|
|
35
|
+
rasterBinding: "native-reconstruction-region";
|
|
36
|
+
pixelWidth: number;
|
|
37
|
+
pixelHeight: number;
|
|
38
|
+
channelIds: readonly string[];
|
|
39
|
+
/** Interleaved native-region row-major values; black-subtracted normalization, signed. */
|
|
40
|
+
samples: readonly number[];
|
|
41
|
+
};
|
|
42
|
+
/** Child envelopes and exact weighted RAW contributions, in matching native-region row-major order. */
|
|
43
|
+
pixels: readonly CalculationResult<SensorRawReconstructedPixel>[];
|
|
44
|
+
lineage: "engine-reconstructed-from-attached-raw";
|
|
45
|
+
producerOriginVerified: false;
|
|
46
|
+
whiteBalanceApplied: false;
|
|
47
|
+
colorTransformApplied: false;
|
|
48
|
+
physicalOrientationApplied: false;
|
|
49
|
+
outputCropApplied: false;
|
|
50
|
+
sharpeningApplied: false;
|
|
51
|
+
denoisingApplied: false;
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## RawFrameReconstructionInput
|
|
56
|
+
|
|
57
|
+
Bounded reference handoff; region coordinates stay in the full native sensor frame.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
export interface RawFrameReconstructionInput {
|
|
61
|
+
rawFrame: SensorRawFrame;
|
|
62
|
+
region: RasterRect;
|
|
63
|
+
phaseProfiles: readonly RawFrameReconstructionPhaseProfile[];
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## RawFrameReconstructionPhaseProfile
|
|
68
|
+
|
|
69
|
+
Kernel selection is explicit per absolute native CFA repeat phase, not guessed from channel names.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
export interface RawFrameReconstructionPhaseProfile {
|
|
73
|
+
phaseX: number;
|
|
74
|
+
phaseY: number;
|
|
75
|
+
profile: SensorRawReconstructionProfile;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## resolveRawFrameReconstruction
|
|
80
|
+
|
|
81
|
+
Delegates each pixel to #14's explicit linear reconstruction using only the attached native RAW samples.
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
export function resolveRawFrameReconstruction(input: RawFrameReconstructionInput): CalculationResult<RawFrameReconstruction>;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# capture/release-sequence.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
|
+
## CancelledReleaseSequence
|
|
6
|
+
|
|
7
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export interface CancelledReleaseSequence {
|
|
11
|
+
version:
|
|
12
|
+
typeof RELEASE_SEQUENCE_VERSION;
|
|
13
|
+
sequenceId: string;
|
|
14
|
+
status: "cancelled";
|
|
15
|
+
cancelledAtSeconds: number;
|
|
16
|
+
completedFrameCount: number;
|
|
17
|
+
omittedFrameCount: number;
|
|
18
|
+
completedFrames:
|
|
19
|
+
readonly ResolvedReleaseFrame[];
|
|
20
|
+
sourceSequenceFrameCount: number;
|
|
21
|
+
sourceSequenceUnmodified: true;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## CancelReleaseSequenceInput
|
|
26
|
+
|
|
27
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
export interface CancelReleaseSequenceInput {
|
|
31
|
+
sequence:
|
|
32
|
+
ResolvedReleaseSequence;
|
|
33
|
+
completedFrameCount: number;
|
|
34
|
+
cancelledAtSeconds: number;
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## createCancelledReleaseSequence
|
|
39
|
+
|
|
40
|
+
Produces an explicit cancelled sequence state without mutating the scheduled
|
|
41
|
+
source sequence or leaving the completed/omitted frame boundary ambiguous.
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export function createCancelledReleaseSequence(
|
|
45
|
+
input:
|
|
46
|
+
CancelReleaseSequenceInput
|
|
47
|
+
): CancelledReleaseSequence;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
51
|
+
|
|
52
|
+
## RELEASE_SEQUENCE_VERSION
|
|
53
|
+
|
|
54
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
RELEASE_SEQUENCE_VERSION =
|
|
58
|
+
"0.1.0" as const
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## ReleaseAutomationState
|
|
62
|
+
|
|
63
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
export type ReleaseAutomationState =
|
|
67
|
+
| "manual"
|
|
68
|
+
| "locked"
|
|
69
|
+
| "continuous";
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## ReleaseBaseCaptureState
|
|
73
|
+
|
|
74
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
export interface ReleaseBaseCaptureState {
|
|
78
|
+
exposure: {
|
|
79
|
+
aperture: number;
|
|
80
|
+
shutterSeconds: number;
|
|
81
|
+
iso: number;
|
|
82
|
+
};
|
|
83
|
+
focus: FocusPlane;
|
|
84
|
+
whiteBalanceStateId?: string;
|
|
85
|
+
automation: {
|
|
86
|
+
ae: ReleaseAutomationState;
|
|
87
|
+
af: ReleaseAutomationState;
|
|
88
|
+
awb: ReleaseAutomationState;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## ReleaseBracketPolicy
|
|
94
|
+
|
|
95
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
export type ReleaseBracketPolicy =
|
|
99
|
+
| {
|
|
100
|
+
kind: "none";
|
|
101
|
+
}
|
|
102
|
+
| {
|
|
103
|
+
kind: "exposure";
|
|
104
|
+
axis:
|
|
105
|
+
GenericExposureBracketAxis;
|
|
106
|
+
offsetsStops:
|
|
107
|
+
readonly number[];
|
|
108
|
+
}
|
|
109
|
+
| {
|
|
110
|
+
kind: "focus";
|
|
111
|
+
focusStates:
|
|
112
|
+
readonly FocusPlane[];
|
|
113
|
+
};
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## ReleaseDrivePolicy
|
|
117
|
+
|
|
118
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
export type ReleaseDrivePolicy =
|
|
122
|
+
| {
|
|
123
|
+
kind: "single";
|
|
124
|
+
}
|
|
125
|
+
| {
|
|
126
|
+
kind: "burst";
|
|
127
|
+
frameCount: number;
|
|
128
|
+
}
|
|
129
|
+
| {
|
|
130
|
+
kind: "self-timer";
|
|
131
|
+
delaySeconds: number;
|
|
132
|
+
frameCount: number;
|
|
133
|
+
};
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## ReleaseTimingConstraint
|
|
137
|
+
|
|
138
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
export type ReleaseTimingConstraint =
|
|
142
|
+
| "requested-cadence"
|
|
143
|
+
| "body-maximum-cadence"
|
|
144
|
+
| "exposure-duration"
|
|
145
|
+
| "minimum-inter-frame-gap";
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## ResolvedReleaseFrame
|
|
149
|
+
|
|
150
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
export interface ResolvedReleaseFrame {
|
|
154
|
+
sequenceId: string;
|
|
155
|
+
frameIndex: number;
|
|
156
|
+
releaseFrameId: string;
|
|
157
|
+
exposureStartTimeSeconds: number;
|
|
158
|
+
exposureEndTimeSeconds: number;
|
|
159
|
+
sceneTimeSecondsFromSequenceStart:
|
|
160
|
+
number;
|
|
161
|
+
startIntervalFromPreviousSeconds:
|
|
162
|
+
number | null;
|
|
163
|
+
timingConstraints:
|
|
164
|
+
readonly ReleaseTimingConstraint[];
|
|
165
|
+
stochasticSeedUint32: number;
|
|
166
|
+
exposure: {
|
|
167
|
+
aperture: number;
|
|
168
|
+
shutterSeconds: number;
|
|
169
|
+
iso: number;
|
|
170
|
+
};
|
|
171
|
+
focus: FocusPlane;
|
|
172
|
+
exposureBracketOffsetStops?:
|
|
173
|
+
number;
|
|
174
|
+
automation:
|
|
175
|
+
ReleaseBaseCaptureState["automation"];
|
|
176
|
+
whiteBalanceStateId?: string;
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## ResolvedReleaseSequence
|
|
181
|
+
|
|
182
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
183
|
+
|
|
184
|
+
```ts
|
|
185
|
+
export interface ResolvedReleaseSequence {
|
|
186
|
+
version:
|
|
187
|
+
typeof RELEASE_SEQUENCE_VERSION;
|
|
188
|
+
sequenceId: string;
|
|
189
|
+
status: "scheduled";
|
|
190
|
+
releaseRequestTimeSeconds: number;
|
|
191
|
+
selfTimerDelaySeconds: number;
|
|
192
|
+
requestedCadenceFps:
|
|
193
|
+
number | null;
|
|
194
|
+
capabilityMaximumCadenceFps:
|
|
195
|
+
number;
|
|
196
|
+
minimumInterFrameGapSeconds:
|
|
197
|
+
number;
|
|
198
|
+
requestedFrameCount: number;
|
|
199
|
+
actualFrameCount: number;
|
|
200
|
+
sequenceSeedUint32: number;
|
|
201
|
+
baseStateSnapshot:
|
|
202
|
+
ReleaseBaseCaptureState;
|
|
203
|
+
frames:
|
|
204
|
+
readonly ResolvedReleaseFrame[];
|
|
205
|
+
sensorCaptureModeOwnership:
|
|
206
|
+
"separate-logical-capture-contract";
|
|
207
|
+
whiteBalanceBracketingPhysicalCaptures:
|
|
208
|
+
false;
|
|
209
|
+
preReleaseCaptureModeled:
|
|
210
|
+
false;
|
|
211
|
+
bufferMediaThermalSlowdownModeled:
|
|
212
|
+
false;
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## resolveReleaseSequence
|
|
217
|
+
|
|
218
|
+
Resolves one deterministic logical still-release sequence.
|
|
219
|
+
|
|
220
|
+
Sensor capture-mode internals remain separate. This function schedules
|
|
221
|
+
logical exposures only and never uses render speed/frame rate as capture
|
|
222
|
+
timing.
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
export function resolveReleaseSequence(
|
|
226
|
+
input:
|
|
227
|
+
ResolveReleaseSequenceInput
|
|
228
|
+
): ResolvedReleaseSequence;
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
232
|
+
|
|
233
|
+
## ResolveReleaseSequenceInput
|
|
234
|
+
|
|
235
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
236
|
+
|
|
237
|
+
```ts
|
|
238
|
+
export interface ResolveReleaseSequenceInput {
|
|
239
|
+
sequenceId: string;
|
|
240
|
+
releaseRequestTimeSeconds: number;
|
|
241
|
+
sequenceSeedUint32: number;
|
|
242
|
+
drive: ReleaseDrivePolicy;
|
|
243
|
+
bracket: ReleaseBracketPolicy;
|
|
244
|
+
requestedCadenceFps?: number;
|
|
245
|
+
baseState:
|
|
246
|
+
ReleaseBaseCaptureState;
|
|
247
|
+
releaseCapabilities:
|
|
248
|
+
GenericReleaseCapabilityProfile;
|
|
249
|
+
exposureCapabilities:
|
|
250
|
+
ResolvedGenericEquipmentExposureCapabilities;
|
|
251
|
+
}
|
|
252
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# capture/sensor-raw-frame.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
|
+
## createSensorRawFrame
|
|
6
|
+
|
|
7
|
+
Commits native RAW samples and capture metadata; no demosaic, WB, tone or format packing.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export function createSensorRawFrame(input: SensorRawFrameInput): SensorRawFrame;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
14
|
+
|
|
15
|
+
## parseSensorRawFrameInput
|
|
16
|
+
|
|
17
|
+
Validates dense bounded native coverage and exact CFA/mode/site/code identity, without IO.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
export function parseSensorRawFrameInput(value: unknown): SensorRawFrameInput;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
24
|
+
|
|
25
|
+
## SENSOR_RAW_FRAME_SCHEMA_VERSION
|
|
26
|
+
|
|
27
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
SENSOR_RAW_FRAME_SCHEMA_VERSION = "0.1.0" as const
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## SensorRawFrame
|
|
34
|
+
|
|
35
|
+
Immutable RAW attachment. Structural validation does not prove producer truth or DNG compatibility.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
export interface SensorRawFrame extends SensorRawFrameInput {
|
|
39
|
+
schemaVersion: typeof SENSOR_RAW_FRAME_SCHEMA_VERSION;
|
|
40
|
+
sampleDomain: "native-cfa-raw-code";
|
|
41
|
+
sampleOrder: "native-row-major";
|
|
42
|
+
producerBinding: "caller-declared-capture-attachment";
|
|
43
|
+
reconstructionApplied: false;
|
|
44
|
+
renderingApplied: false;
|
|
45
|
+
nativePixelWidth: number;
|
|
46
|
+
nativePixelHeight: number;
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## SensorRawFrameInput
|
|
51
|
+
|
|
52
|
+
Declared attachment of #14 native CFA samples to a committed photographic capture.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
export interface SensorRawFrameInput {
|
|
56
|
+
frameId: string;
|
|
57
|
+
capture: SimulatedCapture;
|
|
58
|
+
modeId: string;
|
|
59
|
+
captureModeProfile: CaptureModeProfile;
|
|
60
|
+
colorSamplingProfile: SensorColorSamplingProfile;
|
|
61
|
+
bindingProfile: NativeEffectiveRasterColorSamplingBindingProfile;
|
|
62
|
+
containerBitDepth: 16;
|
|
63
|
+
/** Exactly one sample per full native site, row-major; no processed RGB masking. */
|
|
64
|
+
samples: readonly SensorRawCaptureSample[];
|
|
65
|
+
}
|
|
66
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# capture/sensor-raw-producer.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
|
+
## parseSensorRawProducerInput
|
|
6
|
+
|
|
7
|
+
Validates complete native exposure inputs; no charge/noise/RAW code is accepted as a shortcut.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
export function parseSensorRawProducerInput(value: unknown): SensorRawProducerInput;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
14
|
+
|
|
15
|
+
## SENSOR_RAW_PRODUCER_NOISE_MODEL
|
|
16
|
+
|
|
17
|
+
Capture noise model identity binds the seed schedule and signed electronic readout behavior.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
SENSOR_RAW_PRODUCER_NOISE_MODEL = Object.freeze({ id: "photivra-native-raw-noise", version: "0.2.0" } as const)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## SENSOR_RAW_PRODUCER_SCHEMA_VERSION
|
|
24
|
+
|
|
25
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
SENSOR_RAW_PRODUCER_SCHEMA_VERSION = "0.3.0" as const
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## SensorRawProducerExposureWindowInput
|
|
32
|
+
|
|
33
|
+
Full-native exposure schedule; sampling coordinates belong to the producer.
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
export type SensorRawProducerExposureWindowInput = Omit<CalculateCaptureExposureWindowsInput,
|
|
37
|
+
"nativeRaster" | "activeCaptureRect" | "samplePointsNative">;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## SensorRawProducerInput
|
|
41
|
+
|
|
42
|
+
Bounded single-frame handoff, never a conversion from independent RGB pixels.
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
export interface SensorRawProducerInput {
|
|
46
|
+
frame: Omit<SensorRawFrameInput, "samples">;
|
|
47
|
+
sites: readonly SensorRawProducerSiteInput[];
|
|
48
|
+
/** Omission preserves the existing global 0..shutterSeconds event contract. */
|
|
49
|
+
exposureWindow?: SensorRawProducerExposureWindowInput;
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## SensorRawProducerResult
|
|
54
|
+
|
|
55
|
+
Engine-produced codes and child diagnostics; upstream radiance/response truth remains declared.
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
export interface SensorRawProducerResult {
|
|
59
|
+
schemaVersion: typeof SENSOR_RAW_PRODUCER_SCHEMA_VERSION;
|
|
60
|
+
codeProducer: "engine-charge-capacity-noise-adc";
|
|
61
|
+
upstreamOrigin: "declared-eqe-and-dark-exposure-results";
|
|
62
|
+
upstreamRadiometryVerified: false;
|
|
63
|
+
seedSchedule: "capture-seed-plus-two-native-index-modulo-2-to-32-v1";
|
|
64
|
+
frame: SensorRawFrame;
|
|
65
|
+
localExposureWindows?: CalculationResult<CaptureExposureWindows>;
|
|
66
|
+
sites: readonly {
|
|
67
|
+
accumulatedCharge: ReturnType<typeof composeSensorAccumulatedCharge>;
|
|
68
|
+
capacity: ReturnType<typeof assessSensorPhysicalChargeCapacity>;
|
|
69
|
+
realization: ReturnType<typeof simulateSensorChargeRealization>;
|
|
70
|
+
readout: ReturnType<typeof simulateSensorRawCode>;
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## SensorRawProducerSiteInput
|
|
76
|
+
|
|
77
|
+
One declared EQE/dark/completeness event and explicit readout state per native site.
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
export interface SensorRawProducerSiteInput {
|
|
81
|
+
charge: ComposeSensorAccumulatedChargeInput;
|
|
82
|
+
samplingProfile: SensorChargeSamplingProfile;
|
|
83
|
+
capacityProfile: SensorPhysicalChargeCapacityProfile;
|
|
84
|
+
operatingStateId: string;
|
|
85
|
+
readoutProfile: SensorReadoutConversionProfile;
|
|
86
|
+
regimeId: string;
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## simulateSensorRawFrame
|
|
91
|
+
|
|
92
|
+
Composes existing accumulated-charge → capacity → Poisson → read noise/ADC → native sample → immutable frame contracts.
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
export function simulateSensorRawFrame(input: SensorRawProducerInput): CalculationResult<SensorRawProducerResult>;
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|