@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,825 @@
|
|
|
1
|
+
# composition/image-formation-plan.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
|
+
## createProductionCaptureSnapshot
|
|
6
|
+
|
|
7
|
+
Commit resolved capture settings, scene time/identity, stochastic seed and optional
|
|
8
|
+
temporal/focus/WB state by value. Later application mutations cannot alter this scientific event.
|
|
9
|
+
|
|
10
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
11
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
12
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
13
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
14
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
export function createProductionCaptureSnapshot(
|
|
18
|
+
input:
|
|
19
|
+
CreateProductionCaptureSnapshotInput
|
|
20
|
+
): ProductionCaptureSnapshot;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
24
|
+
|
|
25
|
+
## createProductionCaptureSnapshotFromReleaseFrame
|
|
26
|
+
|
|
27
|
+
Creates one immutable production snapshot directly from a committed #105
|
|
28
|
+
release frame. The release frame owns exposure/focus/automation/seed
|
|
29
|
+
identity; callers provide only the scene/output-local state that is not
|
|
30
|
+
owned by the release sequence.
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
export function createProductionCaptureSnapshotFromReleaseFrame(
|
|
34
|
+
input:
|
|
35
|
+
CreateProductionCaptureSnapshotFromReleaseFrameInput
|
|
36
|
+
): ProductionCaptureSnapshot;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
40
|
+
|
|
41
|
+
## CreateProductionCaptureSnapshotFromReleaseFrameInput
|
|
42
|
+
|
|
43
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
export interface CreateProductionCaptureSnapshotFromReleaseFrameInput {
|
|
47
|
+
captureId: string;
|
|
48
|
+
sceneStateId: string;
|
|
49
|
+
sceneTimeSecondsFromExposureStart:
|
|
50
|
+
number;
|
|
51
|
+
outputStateId: string;
|
|
52
|
+
releaseFrame:
|
|
53
|
+
ResolvedReleaseFrame;
|
|
54
|
+
whiteBalanceState?:
|
|
55
|
+
ResolvedWhiteBalanceState;
|
|
56
|
+
physicalSceneSample?:
|
|
57
|
+
ProductionPhysicalSceneSample;
|
|
58
|
+
temporalCapture?:
|
|
59
|
+
ProductionTemporalCaptureInput;
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## CreateProductionCaptureSnapshotInput
|
|
64
|
+
|
|
65
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
export interface CreateProductionCaptureSnapshotInput {
|
|
69
|
+
captureId: string;
|
|
70
|
+
releaseFrameId: string;
|
|
71
|
+
sceneStateId: string;
|
|
72
|
+
sceneTimeSecondsFromExposureStart:
|
|
73
|
+
number;
|
|
74
|
+
outputStateId: string;
|
|
75
|
+
exposure: {
|
|
76
|
+
aperture: number;
|
|
77
|
+
shutterSeconds: number;
|
|
78
|
+
iso: number;
|
|
79
|
+
};
|
|
80
|
+
stochasticSeedUint32: number;
|
|
81
|
+
releaseFrameBinding?:
|
|
82
|
+
ProductionReleaseFrameBinding;
|
|
83
|
+
whiteBalanceState?:
|
|
84
|
+
ResolvedWhiteBalanceState;
|
|
85
|
+
physicalSceneSample?:
|
|
86
|
+
ProductionPhysicalSceneSample;
|
|
87
|
+
temporalCapture?:
|
|
88
|
+
ProductionTemporalCaptureInput;
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## createProductionImageFormationPlan
|
|
93
|
+
|
|
94
|
+
Expand requested stages through the authoritative graph, validate shared commitments and capability
|
|
95
|
+
limits, then execute only supported declared input routes. Return explicit
|
|
96
|
+
active/zero/omitted/blocked dispositions and child evidence rather than silently skipping a
|
|
97
|
+
requested effect.
|
|
98
|
+
|
|
99
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
100
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
101
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
102
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
103
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
export function createProductionImageFormationPlan(
|
|
107
|
+
input:
|
|
108
|
+
CreateProductionImageFormationPlanInput
|
|
109
|
+
): ProductionImageFormationPlan;
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
113
|
+
|
|
114
|
+
## CreateProductionImageFormationPlanInput
|
|
115
|
+
|
|
116
|
+
Join one validated prepared context and immutable capture snapshot with exactly
|
|
117
|
+
one supported physical input route: supplied sample, attached RAW processing or
|
|
118
|
+
executed environment capture. The environment route owns its synchronous
|
|
119
|
+
provider callback and may supply a processing policy with RAW omitted; execution
|
|
120
|
+
provides the exact realized frame. Incompatible route combinations fail closed.
|
|
121
|
+
A complete record does not authorize effects outside the supported envelope.
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
export interface CreateProductionImageFormationPlanInput {
|
|
125
|
+
environmentCapture?: ProductionEnvironmentCaptureInput;
|
|
126
|
+
/** Explicit authoritative post-ADC RAW input; output processing cannot synthesize upstream scene truth. */
|
|
127
|
+
processedOutput?: ProductionProcessedOutputInput;
|
|
128
|
+
preparedContext:
|
|
129
|
+
PreparedImageFormationContext;
|
|
130
|
+
captureSnapshot:
|
|
131
|
+
ProductionCaptureSnapshot;
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION
|
|
136
|
+
|
|
137
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION =
|
|
141
|
+
"0.1.0" as const
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## ImageFormationFidelityProfile
|
|
145
|
+
|
|
146
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
export interface ImageFormationFidelityProfile {
|
|
150
|
+
schemaVersion:
|
|
151
|
+
typeof IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION;
|
|
152
|
+
profileId: string;
|
|
153
|
+
profileVersion: string;
|
|
154
|
+
requiredStages:
|
|
155
|
+
readonly ImageFormationStageId[];
|
|
156
|
+
requiredEffects:
|
|
157
|
+
readonly RequiredImageFormationEffect[];
|
|
158
|
+
rendererRequirements: {
|
|
159
|
+
spectral:
|
|
160
|
+
| "wavelength-resolved"
|
|
161
|
+
| "wavelength-independent-approximation";
|
|
162
|
+
sensorDomainProcessing: boolean;
|
|
163
|
+
depth:
|
|
164
|
+
| "none"
|
|
165
|
+
| "per-layer";
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## parseImageFormationFidelityProfile
|
|
171
|
+
|
|
172
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
173
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
174
|
+
|
|
175
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
176
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
177
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
178
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
179
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
180
|
+
|
|
181
|
+
```ts
|
|
182
|
+
export function parseImageFormationFidelityProfile(
|
|
183
|
+
value: unknown
|
|
184
|
+
): ImageFormationFidelityProfile;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
188
|
+
|
|
189
|
+
## parsePreparedImageFormationContext
|
|
190
|
+
|
|
191
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
192
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
193
|
+
|
|
194
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
195
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
196
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
197
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
198
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
199
|
+
|
|
200
|
+
```ts
|
|
201
|
+
export function parsePreparedImageFormationContext(
|
|
202
|
+
value: unknown
|
|
203
|
+
): PreparedImageFormationContext;
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
207
|
+
|
|
208
|
+
## parseProductionCaptureSnapshot
|
|
209
|
+
|
|
210
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
211
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
212
|
+
|
|
213
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
214
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
215
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
216
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
217
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
export function parseProductionCaptureSnapshot(
|
|
221
|
+
value: unknown
|
|
222
|
+
): ProductionCaptureSnapshot;
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
226
|
+
|
|
227
|
+
## parseRendererCapabilityDeclaration
|
|
228
|
+
|
|
229
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
230
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
231
|
+
|
|
232
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
233
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
234
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
235
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
236
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
export function parseRendererCapabilityDeclaration(
|
|
240
|
+
value: unknown
|
|
241
|
+
): RendererCapabilityDeclaration;
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
245
|
+
|
|
246
|
+
## PlannedImageFormationEffect
|
|
247
|
+
|
|
248
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
249
|
+
|
|
250
|
+
```ts
|
|
251
|
+
export interface PlannedImageFormationEffect {
|
|
252
|
+
effectId: ImageFormationEffectId;
|
|
253
|
+
primaryStage: ImageFormationStageId;
|
|
254
|
+
coupledStages:
|
|
255
|
+
readonly ImageFormationStageId[];
|
|
256
|
+
state:
|
|
257
|
+
PlannedImageFormationEffectState;
|
|
258
|
+
scientificStatus:
|
|
259
|
+
PlannedScientificStatus;
|
|
260
|
+
requiredByFidelity: boolean;
|
|
261
|
+
modelId?: string;
|
|
262
|
+
modelVersion?: string;
|
|
263
|
+
blockerCodes:
|
|
264
|
+
readonly ProductionImageFormationBlockerCode[];
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## PlannedImageFormationEffectState
|
|
269
|
+
|
|
270
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
export type PlannedImageFormationEffectState =
|
|
274
|
+
| "active"
|
|
275
|
+
| "modeled-zero"
|
|
276
|
+
| "omitted-by-fidelity"
|
|
277
|
+
| "unsupported"
|
|
278
|
+
| "blocked";
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## PlannedImageFormationStage
|
|
282
|
+
|
|
283
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
284
|
+
|
|
285
|
+
```ts
|
|
286
|
+
export interface PlannedImageFormationStage {
|
|
287
|
+
stageId: ImageFormationStageId;
|
|
288
|
+
contractStatus:
|
|
289
|
+
ReturnType<
|
|
290
|
+
typeof getImageFormationContract
|
|
291
|
+
>["stages"][number]["status"];
|
|
292
|
+
state:
|
|
293
|
+
PlannedImageFormationStageState;
|
|
294
|
+
scientificStatus:
|
|
295
|
+
PlannedScientificStatus;
|
|
296
|
+
requiredByFidelity: boolean;
|
|
297
|
+
requiredUpstreamStages:
|
|
298
|
+
readonly ImageFormationStageId[];
|
|
299
|
+
coupledStages:
|
|
300
|
+
readonly ImageFormationStageId[];
|
|
301
|
+
modelId?: string;
|
|
302
|
+
modelVersion?: string;
|
|
303
|
+
resultIdentity?: string;
|
|
304
|
+
blockerCodes:
|
|
305
|
+
readonly ProductionImageFormationBlockerCode[];
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## PlannedImageFormationStageState
|
|
310
|
+
|
|
311
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
312
|
+
|
|
313
|
+
```ts
|
|
314
|
+
export type PlannedImageFormationStageState =
|
|
315
|
+
| "active"
|
|
316
|
+
| "modeled-zero"
|
|
317
|
+
| "omitted-by-fidelity"
|
|
318
|
+
| "unsupported"
|
|
319
|
+
| "blocked";
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## PlannedScientificStatus
|
|
323
|
+
|
|
324
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
325
|
+
|
|
326
|
+
```ts
|
|
327
|
+
export type PlannedScientificStatus =
|
|
328
|
+
| "calibrated"
|
|
329
|
+
| "approximation"
|
|
330
|
+
| "not-applicable";
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## PREPARED_IMAGE_FORMATION_CONTEXT_VERSION
|
|
334
|
+
|
|
335
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
336
|
+
|
|
337
|
+
```ts
|
|
338
|
+
PREPARED_IMAGE_FORMATION_CONTEXT_VERSION =
|
|
339
|
+
"0.1.0" as const
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
## PreparedImageFormationContext
|
|
343
|
+
|
|
344
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
345
|
+
|
|
346
|
+
```ts
|
|
347
|
+
export interface PreparedImageFormationContext {
|
|
348
|
+
version:
|
|
349
|
+
typeof PREPARED_IMAGE_FORMATION_CONTEXT_VERSION;
|
|
350
|
+
contextId: string;
|
|
351
|
+
sceneId: string;
|
|
352
|
+
sceneRadianceProviderProfileId:
|
|
353
|
+
string;
|
|
354
|
+
outputGeometryProfileId: string;
|
|
355
|
+
equipmentCapabilities:
|
|
356
|
+
ResolvedGenericEquipmentExposureCapabilities;
|
|
357
|
+
opticalBridgeProfile?:
|
|
358
|
+
SceneToSensorIrradianceProfile;
|
|
359
|
+
renderer:
|
|
360
|
+
RendererCapabilityDeclaration;
|
|
361
|
+
fidelity:
|
|
362
|
+
ImageFormationFidelityProfile;
|
|
363
|
+
fingerprint: {
|
|
364
|
+
algorithm:
|
|
365
|
+
"fnv1a-32-non-cryptographic";
|
|
366
|
+
value: string;
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## prepareImageFormationContext
|
|
372
|
+
|
|
373
|
+
Parse, own and freeze relatively static equipment, scene, renderer and fidelity declarations for
|
|
374
|
+
reuse by later immutable captures. This prepares semantic state and does not render a frame.
|
|
375
|
+
|
|
376
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
377
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
378
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
379
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
380
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
381
|
+
|
|
382
|
+
```ts
|
|
383
|
+
export function prepareImageFormationContext(
|
|
384
|
+
input:
|
|
385
|
+
PrepareImageFormationContextInput
|
|
386
|
+
): PreparedImageFormationContext;
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
390
|
+
|
|
391
|
+
## PrepareImageFormationContextInput
|
|
392
|
+
|
|
393
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
394
|
+
|
|
395
|
+
```ts
|
|
396
|
+
export interface PrepareImageFormationContextInput {
|
|
397
|
+
contextId: string;
|
|
398
|
+
sceneId: string;
|
|
399
|
+
sceneRadianceProviderProfileId:
|
|
400
|
+
string;
|
|
401
|
+
outputGeometryProfileId: string;
|
|
402
|
+
equipmentCapabilities:
|
|
403
|
+
ResolvedGenericEquipmentExposureCapabilities;
|
|
404
|
+
opticalBridgeProfile?:
|
|
405
|
+
SceneToSensorIrradianceProfile;
|
|
406
|
+
renderer:
|
|
407
|
+
RendererCapabilityDeclaration;
|
|
408
|
+
fidelity:
|
|
409
|
+
ImageFormationFidelityProfile;
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## PRODUCTION_CAPTURE_SNAPSHOT_VERSION
|
|
414
|
+
|
|
415
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
416
|
+
|
|
417
|
+
```ts
|
|
418
|
+
PRODUCTION_CAPTURE_SNAPSHOT_VERSION =
|
|
419
|
+
"0.3.0" as const
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
## PRODUCTION_IMAGE_FORMATION_PLAN_VERSION
|
|
423
|
+
|
|
424
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
425
|
+
|
|
426
|
+
```ts
|
|
427
|
+
PRODUCTION_IMAGE_FORMATION_PLAN_VERSION =
|
|
428
|
+
"0.7.0" as const
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## ProductionCaptureSnapshot
|
|
432
|
+
|
|
433
|
+
Owned frozen per-event state linking capture/release/scene/output IDs, physical
|
|
434
|
+
aperture/shutter/ISO, seconds-valued scene time and an explicit uint32 seed.
|
|
435
|
+
Optional focus/WB/temporal bindings commit their exact resolved state. This is a
|
|
436
|
+
semantic snapshot, not the generated image; changing a later UI value requires a
|
|
437
|
+
new snapshot rather than mutating a previously planned capture.
|
|
438
|
+
|
|
439
|
+
```ts
|
|
440
|
+
export interface ProductionCaptureSnapshot {
|
|
441
|
+
version:
|
|
442
|
+
typeof PRODUCTION_CAPTURE_SNAPSHOT_VERSION;
|
|
443
|
+
captureId: string;
|
|
444
|
+
releaseFrameId: string;
|
|
445
|
+
sceneStateId: string;
|
|
446
|
+
sceneTimeSecondsFromExposureStart:
|
|
447
|
+
number;
|
|
448
|
+
outputStateId: string;
|
|
449
|
+
exposure: {
|
|
450
|
+
aperture: number;
|
|
451
|
+
shutterSeconds: number;
|
|
452
|
+
iso: number;
|
|
453
|
+
};
|
|
454
|
+
stochasticSeedUint32: number;
|
|
455
|
+
releaseFrameBinding?:
|
|
456
|
+
ProductionReleaseFrameBinding;
|
|
457
|
+
whiteBalanceState?:
|
|
458
|
+
ResolvedWhiteBalanceState;
|
|
459
|
+
physicalSceneSample?:
|
|
460
|
+
ProductionPhysicalSceneSample;
|
|
461
|
+
temporalCapture?:
|
|
462
|
+
ProductionTemporalCaptureInput;
|
|
463
|
+
fingerprint: {
|
|
464
|
+
algorithm:
|
|
465
|
+
"fnv1a-32-non-cryptographic";
|
|
466
|
+
value: string;
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
## ProductionEnvironmentCaptureInput
|
|
472
|
+
|
|
473
|
+
Executes the existing bounded environment capture inside the authoritative plan.
|
|
474
|
+
The callback is synchronous local provider code; it is never serialized. Returned
|
|
475
|
+
provider samples and realized RAW, rather than function identity, bind replay.
|
|
476
|
+
|
|
477
|
+
```ts
|
|
478
|
+
export interface ProductionEnvironmentCaptureInput {
|
|
479
|
+
capture: SimulateEnvironmentSensorRawFrameInput;
|
|
480
|
+
/** Optional post-capture policy. The RAW source is supplied only by execution. */
|
|
481
|
+
processing?: Omit<ProcessedSensorRawInput, "reconstruction"> & {
|
|
482
|
+
reconstruction: Omit<ProcessedSensorRawInput["reconstruction"], "rawFrame">;
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
## ProductionImageFormationBlocker
|
|
488
|
+
|
|
489
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
490
|
+
|
|
491
|
+
```ts
|
|
492
|
+
export interface ProductionImageFormationBlocker {
|
|
493
|
+
code:
|
|
494
|
+
ProductionImageFormationBlockerCode;
|
|
495
|
+
message: string;
|
|
496
|
+
stageId?: ImageFormationStageId;
|
|
497
|
+
effectId?: ImageFormationEffectId;
|
|
498
|
+
}
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
## ProductionImageFormationBlockerCode
|
|
502
|
+
|
|
503
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
504
|
+
|
|
505
|
+
```ts
|
|
506
|
+
export type ProductionImageFormationBlockerCode =
|
|
507
|
+
| "environment-capture-evaluation-blocked"
|
|
508
|
+
| "processed-output-evaluation-blocked"
|
|
509
|
+
| "engine-stage-not-composed"
|
|
510
|
+
| "engine-effect-not-composed"
|
|
511
|
+
| "renderer-stage-unsupported"
|
|
512
|
+
| "renderer-effect-unsupported"
|
|
513
|
+
| "renderer-spectral-capability-insufficient"
|
|
514
|
+
| "renderer-sensor-domain-processing-unavailable"
|
|
515
|
+
| "renderer-depth-capability-insufficient"
|
|
516
|
+
| "renderer-inverse-field-mapping-required"
|
|
517
|
+
| "renderer-premultiplied-alpha-required"
|
|
518
|
+
| "renderer-depth-order-preservation-required"
|
|
519
|
+
| "missing-optical-bridge-profile"
|
|
520
|
+
| "missing-physical-scene-sample"
|
|
521
|
+
| "undeclared-field-throughput-effect"
|
|
522
|
+
| "physical-radiometry-evaluation-blocked"
|
|
523
|
+
| "missing-temporal-capture-input"
|
|
524
|
+
| "temporal-evaluation-blocked"
|
|
525
|
+
| "missing-camera-rotation-model"
|
|
526
|
+
| "missing-sensor-readout-timing"
|
|
527
|
+
| "renderer-temporal-sampling-insufficient";
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
## ProductionImageFormationPlan
|
|
531
|
+
|
|
532
|
+
Immutable engine-owned scientific execution record. Inspect status and blockers
|
|
533
|
+
before treating requested stages as usable; each stage distinguishes execution,
|
|
534
|
+
modeled-zero, fidelity omission and unsupported inputs. Optional environment and
|
|
535
|
+
processed results carry exact child lineage, while sample-only routes retain
|
|
536
|
+
upstream blockers. Versions identify independent contracts. The fingerprint is
|
|
537
|
+
canonical FNV reproducibility identity, not adversarial integrity. Replay also
|
|
538
|
+
requires identical provider responses; no renderer callback is serialized.
|
|
539
|
+
|
|
540
|
+
```ts
|
|
541
|
+
export interface ProductionImageFormationPlan {
|
|
542
|
+
version:
|
|
543
|
+
typeof PRODUCTION_IMAGE_FORMATION_PLAN_VERSION;
|
|
544
|
+
status: "ready" | "blocked";
|
|
545
|
+
versions: {
|
|
546
|
+
engineApi: typeof ENGINE_API_VERSION;
|
|
547
|
+
imageFormationContract:
|
|
548
|
+
typeof IMAGE_FORMATION_CONTRACT_VERSION;
|
|
549
|
+
plan:
|
|
550
|
+
typeof PRODUCTION_IMAGE_FORMATION_PLAN_VERSION;
|
|
551
|
+
preparedContext:
|
|
552
|
+
typeof PREPARED_IMAGE_FORMATION_CONTEXT_VERSION;
|
|
553
|
+
captureSnapshot:
|
|
554
|
+
typeof PRODUCTION_CAPTURE_SNAPSHOT_VERSION;
|
|
555
|
+
rendererCapability:
|
|
556
|
+
typeof RENDERER_CAPABILITY_SCHEMA_VERSION;
|
|
557
|
+
fidelityProfile:
|
|
558
|
+
typeof IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION;
|
|
559
|
+
scientificAssurance:
|
|
560
|
+
typeof SCIENTIFIC_ASSURANCE_CONTRACT_VERSION;
|
|
561
|
+
};
|
|
562
|
+
contextIdentity: {
|
|
563
|
+
contextId: string;
|
|
564
|
+
preparedContextFingerprint:
|
|
565
|
+
string;
|
|
566
|
+
};
|
|
567
|
+
captureIdentity: {
|
|
568
|
+
captureId: string;
|
|
569
|
+
releaseFrameId: string;
|
|
570
|
+
sceneStateId: string;
|
|
571
|
+
releaseSequenceId?: string;
|
|
572
|
+
releaseFrameIndex?: number;
|
|
573
|
+
whiteBalanceStateId?: string;
|
|
574
|
+
captureSnapshotFingerprint:
|
|
575
|
+
string;
|
|
576
|
+
};
|
|
577
|
+
rendererIdentity: {
|
|
578
|
+
rendererId: string;
|
|
579
|
+
rendererVersion: string;
|
|
580
|
+
consumerKind:
|
|
581
|
+
RendererConsumerKind;
|
|
582
|
+
};
|
|
583
|
+
fidelityIdentity: {
|
|
584
|
+
profileId: string;
|
|
585
|
+
profileVersion: string;
|
|
586
|
+
};
|
|
587
|
+
stagePlan:
|
|
588
|
+
readonly PlannedImageFormationStage[];
|
|
589
|
+
effectPlan:
|
|
590
|
+
readonly PlannedImageFormationEffect[];
|
|
591
|
+
blockers:
|
|
592
|
+
readonly ProductionImageFormationBlocker[];
|
|
593
|
+
/** Noncryptographic commitment of execution data, excluding executable callback identity. */
|
|
594
|
+
environmentCaptureRequestFingerprint?: string;
|
|
595
|
+
/** Executed bounded source-to-ADC lineage; provider transport remains unverified. */
|
|
596
|
+
environmentCaptureResult?: ReturnType<typeof simulateEnvironmentSensorRawFrame>;
|
|
597
|
+
processedOutputResult?: ReturnType<typeof calculateProcessedSensorRaw>;
|
|
598
|
+
physicalSceneToSensorResult?:
|
|
599
|
+
SceneToSensorIrradianceResult;
|
|
600
|
+
temporalCaptureResult?:
|
|
601
|
+
ProductionTemporalCaptureResult;
|
|
602
|
+
scientificAssurance?:
|
|
603
|
+
ComposedScientificAssurance;
|
|
604
|
+
stochastic: {
|
|
605
|
+
captureSeedUint32: number;
|
|
606
|
+
backendRandomnessMayRedefineScientificResult:
|
|
607
|
+
false;
|
|
608
|
+
};
|
|
609
|
+
immutableCaptureSnapshot: true;
|
|
610
|
+
legacyPocModified: false;
|
|
611
|
+
fingerprint: {
|
|
612
|
+
algorithm:
|
|
613
|
+
"fnv1a-32-non-cryptographic";
|
|
614
|
+
value: string;
|
|
615
|
+
purpose:
|
|
616
|
+
"deterministic-reproducibility-key-not-integrity-security";
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
## ProductionPhysicalSceneSample
|
|
622
|
+
|
|
623
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
624
|
+
|
|
625
|
+
```ts
|
|
626
|
+
export interface ProductionPhysicalSceneSample {
|
|
627
|
+
sceneRadianceRequest:
|
|
628
|
+
SceneRadianceEvaluationRequest;
|
|
629
|
+
sceneRadianceResult:
|
|
630
|
+
SceneRadianceEvaluationResult;
|
|
631
|
+
focus:
|
|
632
|
+
OpticalBridgeFocusContext;
|
|
633
|
+
imagePointMm: {
|
|
634
|
+
x: number;
|
|
635
|
+
y: number;
|
|
636
|
+
};
|
|
637
|
+
fieldThroughput:
|
|
638
|
+
OpticalBridgeFieldThroughput;
|
|
639
|
+
frontOfLensFilters?:
|
|
640
|
+
readonly FrontOfLensFilterProfile[];
|
|
641
|
+
}
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
## ProductionProcessedOutputInput
|
|
645
|
+
|
|
646
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
647
|
+
|
|
648
|
+
```ts
|
|
649
|
+
export interface ProductionProcessedOutputInput {
|
|
650
|
+
/** Explicit binding of numeric raster/crop policy to the committed output state. */
|
|
651
|
+
outputStateId: string;
|
|
652
|
+
processing: ProcessedSensorRawInput;
|
|
653
|
+
}
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
## ProductionReleaseFrameBinding
|
|
657
|
+
|
|
658
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
659
|
+
|
|
660
|
+
```ts
|
|
661
|
+
export interface ProductionReleaseFrameBinding {
|
|
662
|
+
releaseSequenceVersion:
|
|
663
|
+
typeof RELEASE_SEQUENCE_VERSION;
|
|
664
|
+
sequenceId: string;
|
|
665
|
+
releaseFrameId: string;
|
|
666
|
+
frameIndex: number;
|
|
667
|
+
exposure: {
|
|
668
|
+
aperture: number;
|
|
669
|
+
shutterSeconds: number;
|
|
670
|
+
iso: number;
|
|
671
|
+
};
|
|
672
|
+
stochasticSeedUint32: number;
|
|
673
|
+
exposureStartTimeSeconds: number;
|
|
674
|
+
exposureEndTimeSeconds: number;
|
|
675
|
+
sceneTimeSecondsFromSequenceStart:
|
|
676
|
+
number;
|
|
677
|
+
startIntervalFromPreviousSeconds:
|
|
678
|
+
number | null;
|
|
679
|
+
timingConstraints:
|
|
680
|
+
readonly ReleaseTimingConstraint[];
|
|
681
|
+
focus:
|
|
682
|
+
ResolvedReleaseFrame["focus"];
|
|
683
|
+
automation:
|
|
684
|
+
ResolvedReleaseFrame["automation"];
|
|
685
|
+
whiteBalanceStateId?: string;
|
|
686
|
+
}
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
## ProductionTemporalCaptureInput
|
|
690
|
+
|
|
691
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
692
|
+
|
|
693
|
+
```ts
|
|
694
|
+
export interface ProductionTemporalCaptureInput {
|
|
695
|
+
exposureWindowInput:
|
|
696
|
+
CalculateCaptureExposureWindowsInput;
|
|
697
|
+
imagingArea: SensorImagingArea;
|
|
698
|
+
orientation: CaptureOrientation;
|
|
699
|
+
readout?:
|
|
700
|
+
SensorReadoutTimingDeclaration;
|
|
701
|
+
rotation?: {
|
|
702
|
+
angularVelocityRadPerSec:
|
|
703
|
+
CameraAngularVelocityRadPerSec;
|
|
704
|
+
focusDistanceM?: number;
|
|
705
|
+
temporalSampleCount: number;
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
## ProductionTemporalCaptureResult
|
|
711
|
+
|
|
712
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
713
|
+
|
|
714
|
+
```ts
|
|
715
|
+
export interface ProductionTemporalCaptureResult {
|
|
716
|
+
exposureWindows:
|
|
717
|
+
CaptureExposureWindows;
|
|
718
|
+
sensorReadoutTiming?:
|
|
719
|
+
SensorReadoutTiming;
|
|
720
|
+
rotationQuadrature?:
|
|
721
|
+
CaptureRotationTemporalQuadrature;
|
|
722
|
+
exposureTimeReference:
|
|
723
|
+
"first-opening-boundary-phase";
|
|
724
|
+
readoutExposureSynchronization:
|
|
725
|
+
"not-assumed";
|
|
726
|
+
sensorReadoutTimingRemainsSeparate:
|
|
727
|
+
true;
|
|
728
|
+
temporalRadianceIntegrated:
|
|
729
|
+
false;
|
|
730
|
+
}
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
## RENDERER_CAPABILITY_SCHEMA_VERSION
|
|
734
|
+
|
|
735
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
736
|
+
|
|
737
|
+
```ts
|
|
738
|
+
RENDERER_CAPABILITY_SCHEMA_VERSION =
|
|
739
|
+
"0.1.0" as const
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
## RendererCapabilityDeclaration
|
|
743
|
+
|
|
744
|
+
Plain-data declaration of one consumer backend's supported scientific domains,
|
|
745
|
+
stages/effects and temporal budget. It is validated metadata, not executable
|
|
746
|
+
renderer code or proof of physical correctness. Unknown/insufficient capability
|
|
747
|
+
must block requested fidelity before trusted provider execution. Interactive and
|
|
748
|
+
reference roles keep the same committed science even when backend fidelity differs.
|
|
749
|
+
|
|
750
|
+
```ts
|
|
751
|
+
export interface RendererCapabilityDeclaration {
|
|
752
|
+
schemaVersion:
|
|
753
|
+
typeof RENDERER_CAPABILITY_SCHEMA_VERSION;
|
|
754
|
+
rendererId: string;
|
|
755
|
+
rendererVersion: string;
|
|
756
|
+
consumerKind: RendererConsumerKind;
|
|
757
|
+
supportedStages:
|
|
758
|
+
readonly ImageFormationStageId[];
|
|
759
|
+
supportedEffects:
|
|
760
|
+
readonly ImageFormationEffectId[];
|
|
761
|
+
spectralCapability:
|
|
762
|
+
| "wavelength-resolved"
|
|
763
|
+
| "wavelength-independent-approximation";
|
|
764
|
+
temporalSampling:
|
|
765
|
+
| {
|
|
766
|
+
kind: "none";
|
|
767
|
+
}
|
|
768
|
+
| {
|
|
769
|
+
kind: "bounded";
|
|
770
|
+
maximumSamples: number;
|
|
771
|
+
};
|
|
772
|
+
depthCapability:
|
|
773
|
+
| "none"
|
|
774
|
+
| "per-layer";
|
|
775
|
+
inverseFieldMapping: boolean;
|
|
776
|
+
alphaRepresentation:
|
|
777
|
+
| "premultiplied"
|
|
778
|
+
| "straight";
|
|
779
|
+
preservesDepthOrderAcrossWarps:
|
|
780
|
+
boolean;
|
|
781
|
+
sensorDomainProcessing: boolean;
|
|
782
|
+
}
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
## RendererConsumerKind
|
|
786
|
+
|
|
787
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
788
|
+
|
|
789
|
+
```ts
|
|
790
|
+
export type RendererConsumerKind =
|
|
791
|
+
| "interactive-optimized"
|
|
792
|
+
| "reference";
|
|
793
|
+
```
|
|
794
|
+
|
|
795
|
+
## RequiredImageFormationEffect
|
|
796
|
+
|
|
797
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
798
|
+
|
|
799
|
+
```ts
|
|
800
|
+
export interface RequiredImageFormationEffect {
|
|
801
|
+
effectId: ImageFormationEffectId;
|
|
802
|
+
modelId: string;
|
|
803
|
+
modelVersion: string;
|
|
804
|
+
}
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
## serializeProductionImageFormationPlan
|
|
808
|
+
|
|
809
|
+
Return deterministic canonical JSON of a validated production plan. Sorted object keys preserve
|
|
810
|
+
array order; the representation contains data and excludes executable provider callbacks.
|
|
811
|
+
|
|
812
|
+
The planner owns scientific stage ordering, immutable capture identity and reproducibility.
|
|
813
|
+
Well-formed unsupported combinations produce structured blockers; malformed declarations throw. The
|
|
814
|
+
bounded environment route executes supplied radiance through native RAW and optional output, while
|
|
815
|
+
sample-only and attached-RAW routes retain missing upstream blockers. FNV fingerprints are
|
|
816
|
+
reproducibility keys, not cryptographic integrity proofs.
|
|
817
|
+
|
|
818
|
+
```ts
|
|
819
|
+
export function serializeProductionImageFormationPlan(
|
|
820
|
+
plan:
|
|
821
|
+
ProductionImageFormationPlan
|
|
822
|
+
): string;
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|