@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,56 @@
|
|
|
1
|
+
# capture/environment-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
|
+
## EnvironmentSensorRawFrame
|
|
6
|
+
|
|
7
|
+
Approximate executed provider-to-RAW lineage. sites retain per-site optical/EQE
|
|
8
|
+
results; raw retains charge, capacity, seeded-noise/readout diagnostics and exact
|
|
9
|
+
native frame. providerEvaluationCount is actual bounded work, not a quality score.
|
|
10
|
+
Conservative verification/activation flags belong to this standalone adapter;
|
|
11
|
+
a parent production plan records its own graph execution without upgrading them.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
export interface EnvironmentSensorRawFrame {
|
|
15
|
+
upstreamOrigin: "executed-environment-query-provider-optics-psf-eqe";
|
|
16
|
+
providerTransportVerified: false;
|
|
17
|
+
productionPlanActivated: false;
|
|
18
|
+
providerEvaluationCount: number;
|
|
19
|
+
sceneBinding: SimulateEnvironmentSensorRawFrameInput["sceneBinding"];
|
|
20
|
+
sites: readonly ReturnType<typeof executeEnvironmentSensorPhotoSignal>[];
|
|
21
|
+
raw: ReturnType<typeof simulateSensorRawFrame>;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## simulateEnvironmentSensorRawFrame
|
|
26
|
+
|
|
27
|
+
Preflight complete native coverage and aggregate support before invoking supplied
|
|
28
|
+
provider code, then reuse dark/completeness/capacity/noise/ADC ownership. The
|
|
29
|
+
returned RAW frame feeds the existing reconstruction and paired export APIs.
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
export function simulateEnvironmentSensorRawFrame(input: SimulateEnvironmentSensorRawFrameInput): CalculationResult<EnvironmentSensorRawFrame>;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
36
|
+
|
|
37
|
+
## SimulateEnvironmentSensorRawFrameInput
|
|
38
|
+
|
|
39
|
+
Full native site order; generated photo/dark charge cannot be supplied as a shortcut.
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
export interface SimulateEnvironmentSensorRawFrameInput {
|
|
43
|
+
frame: SensorRawProducerInput["frame"];
|
|
44
|
+
sceneBinding: { sceneStateId: string; providerSceneId: string; evidence: readonly EvidenceProvenance[] };
|
|
45
|
+
/** Shared shutter schedule is bound to the committed frame duration. */
|
|
46
|
+
exposureWindow: NonNullable<SensorRawProducerInput["exposureWindow"]>;
|
|
47
|
+
sites: readonly {
|
|
48
|
+
environment: Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance">;
|
|
49
|
+
darkCurrentProfile: SensorDarkCurrentProfile;
|
|
50
|
+
operatingTemperatureC: number;
|
|
51
|
+
charge: Omit<SensorRawProducerSiteInput["charge"], "photoSignal" | "darkCharge">;
|
|
52
|
+
readout: Omit<SensorRawProducerSiteInput, "charge">;
|
|
53
|
+
}[];
|
|
54
|
+
evaluateRadiance: EnvironmentRadianceEvaluator;
|
|
55
|
+
}
|
|
56
|
+
```
|
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
# capture/focus-control.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
|
+
## assessFocusReleaseGate
|
|
6
|
+
|
|
7
|
+
Report whether release may proceed under focus-priority or release-priority policy; this does not
|
|
8
|
+
operate a shutter.
|
|
9
|
+
|
|
10
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
11
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
12
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
13
|
+
separate state transitions.
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
export function assessFocusReleaseGate(
|
|
17
|
+
input:
|
|
18
|
+
AssessFocusReleaseGateInput
|
|
19
|
+
): FocusReleaseGateAssessment;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
23
|
+
|
|
24
|
+
## AssessFocusReleaseGateInput
|
|
25
|
+
|
|
26
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export interface AssessFocusReleaseGateInput {
|
|
30
|
+
state:
|
|
31
|
+
FocusControlState;
|
|
32
|
+
profile:
|
|
33
|
+
FocusControlProfile;
|
|
34
|
+
priority:
|
|
35
|
+
FocusReleasePriority;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## createFocusControlState
|
|
40
|
+
|
|
41
|
+
Create the initial ideal focus-controller state from an explicit profile, focus plane and public
|
|
42
|
+
state identity.
|
|
43
|
+
|
|
44
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
45
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
46
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
47
|
+
separate state transitions.
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
export function createFocusControlState(
|
|
51
|
+
input:
|
|
52
|
+
CreateFocusControlStateInput
|
|
53
|
+
): FocusControlState;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
57
|
+
|
|
58
|
+
## CreateFocusControlStateInput
|
|
59
|
+
|
|
60
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
export interface CreateFocusControlStateInput {
|
|
64
|
+
stateId: string;
|
|
65
|
+
profile:
|
|
66
|
+
FocusControlProfile;
|
|
67
|
+
mode:
|
|
68
|
+
FocusControlMode;
|
|
69
|
+
initialFocus:
|
|
70
|
+
FocusPlane;
|
|
71
|
+
initialTimeSeconds?: number;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## FOCUS_CONTROL_PROFILE_SCHEMA_VERSION
|
|
76
|
+
|
|
77
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
FOCUS_CONTROL_PROFILE_SCHEMA_VERSION =
|
|
81
|
+
"0.1.0" as const
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## FOCUS_CONTROL_STATE_VERSION
|
|
85
|
+
|
|
86
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
FOCUS_CONTROL_STATE_VERSION =
|
|
90
|
+
"0.1.0" as const
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## FocusAcquisitionState
|
|
94
|
+
|
|
95
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
export type FocusAcquisitionState =
|
|
99
|
+
| "idle"
|
|
100
|
+
| "acquiring"
|
|
101
|
+
| "acquired"
|
|
102
|
+
| "target-lost"
|
|
103
|
+
| "locked";
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## FocusControlMode
|
|
107
|
+
|
|
108
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
export type FocusControlMode =
|
|
112
|
+
| "manual"
|
|
113
|
+
| "single-af"
|
|
114
|
+
| "continuous-af";
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## FocusControlProfile
|
|
118
|
+
|
|
119
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
120
|
+
|
|
121
|
+
```ts
|
|
122
|
+
export interface FocusControlProfile {
|
|
123
|
+
schemaVersion:
|
|
124
|
+
typeof FOCUS_CONTROL_PROFILE_SCHEMA_VERSION;
|
|
125
|
+
profileId: string;
|
|
126
|
+
profileVersion: string;
|
|
127
|
+
scientificStatus: "approximation";
|
|
128
|
+
supportedModes:
|
|
129
|
+
readonly FocusControlMode[];
|
|
130
|
+
actuator: {
|
|
131
|
+
kind: "ideal-instantaneous";
|
|
132
|
+
evidence:
|
|
133
|
+
readonly EvidenceProvenance[];
|
|
134
|
+
};
|
|
135
|
+
continuousTargetLossPolicy:
|
|
136
|
+
"hold-last-focus-require-explicit-reacquisition";
|
|
137
|
+
supportedReleasePriorities:
|
|
138
|
+
readonly FocusReleasePriority[];
|
|
139
|
+
evidence:
|
|
140
|
+
readonly EvidenceProvenance[];
|
|
141
|
+
limitations: readonly string[];
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## FocusControlState
|
|
146
|
+
|
|
147
|
+
Immutable logical MF/single-AF/continuous-AF state. Resolved focus remains a
|
|
148
|
+
finite longitudinal distance in metres or explicit infinity. Acquisition, loss,
|
|
149
|
+
reacquisition and lock records explain why a target is usable; a focus-release
|
|
150
|
+
gate remains separate from shutter sequencing. The ideal actuator does not model
|
|
151
|
+
commercial AF measurement accuracy or physical acquisition time.
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
export interface FocusControlState {
|
|
155
|
+
version:
|
|
156
|
+
typeof FOCUS_CONTROL_STATE_VERSION;
|
|
157
|
+
stateId: string;
|
|
158
|
+
sourceProfile: {
|
|
159
|
+
profileId: string;
|
|
160
|
+
profileVersion: string;
|
|
161
|
+
};
|
|
162
|
+
profileLimitations:
|
|
163
|
+
readonly string[];
|
|
164
|
+
mode:
|
|
165
|
+
FocusControlMode;
|
|
166
|
+
acquisitionState:
|
|
167
|
+
FocusAcquisitionState;
|
|
168
|
+
focus:
|
|
169
|
+
FocusPlane;
|
|
170
|
+
activeTargetId?: string;
|
|
171
|
+
activeFocusAreaId?: string;
|
|
172
|
+
lastEventTimeSeconds: number;
|
|
173
|
+
focusResolvedAtSeconds:
|
|
174
|
+
number;
|
|
175
|
+
locked: boolean;
|
|
176
|
+
lock?: {
|
|
177
|
+
lockedAtSeconds: number;
|
|
178
|
+
resumeAcquisitionState:
|
|
179
|
+
Exclude<
|
|
180
|
+
FocusAcquisitionState,
|
|
181
|
+
"locked"
|
|
182
|
+
>;
|
|
183
|
+
};
|
|
184
|
+
actuatorModel:
|
|
185
|
+
"ideal-instantaneous";
|
|
186
|
+
continuousTargetLossPolicy:
|
|
187
|
+
"hold-last-focus-require-explicit-reacquisition";
|
|
188
|
+
exposureModified: false;
|
|
189
|
+
meteringModified: false;
|
|
190
|
+
whiteBalanceModified: false;
|
|
191
|
+
subjectTrackingRecognitionModeled:
|
|
192
|
+
false;
|
|
193
|
+
rendererCoordinatesConsumed:
|
|
194
|
+
false;
|
|
195
|
+
limitations:
|
|
196
|
+
readonly string[];
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## FocusReleaseGateAssessment
|
|
201
|
+
|
|
202
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
export interface FocusReleaseGateAssessment {
|
|
206
|
+
priority:
|
|
207
|
+
FocusReleasePriority;
|
|
208
|
+
releaseAuthorized: boolean;
|
|
209
|
+
reason:
|
|
210
|
+
| "manual-focus-state"
|
|
211
|
+
| "focus-acquired"
|
|
212
|
+
| "focus-locked"
|
|
213
|
+
| "release-priority-bypasses-focus-gate"
|
|
214
|
+
| "focus-not-acquired"
|
|
215
|
+
| "balanced-policy-not-modeled";
|
|
216
|
+
requiresProfileSpecificBalancedPolicy:
|
|
217
|
+
boolean;
|
|
218
|
+
opticalFocusModified: false;
|
|
219
|
+
exposureModified: false;
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## FocusReleasePriority
|
|
224
|
+
|
|
225
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
export type FocusReleasePriority =
|
|
229
|
+
| "focus-priority"
|
|
230
|
+
| "release-priority"
|
|
231
|
+
| "balanced";
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## FocusTargetControlEvent
|
|
235
|
+
|
|
236
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
export type FocusTargetControlEvent =
|
|
240
|
+
| "acquire"
|
|
241
|
+
| "update";
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## FocusTargetLossReason
|
|
245
|
+
|
|
246
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
247
|
+
|
|
248
|
+
```ts
|
|
249
|
+
export type FocusTargetLossReason =
|
|
250
|
+
| "occluded"
|
|
251
|
+
| "out-of-frame"
|
|
252
|
+
| "identity-lost"
|
|
253
|
+
| "outside-focus-area";
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## FocusTargetObservation
|
|
257
|
+
|
|
258
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
259
|
+
|
|
260
|
+
```ts
|
|
261
|
+
export type FocusTargetObservation =
|
|
262
|
+
| (FocusTargetObservationBase & {
|
|
263
|
+
kind: "finite-surface";
|
|
264
|
+
/**
|
|
265
|
+
* Longitudinal camera-space/conjugate distance from #103, not renderer
|
|
266
|
+
* ray length.
|
|
267
|
+
*/
|
|
268
|
+
longitudinalDistanceM: number;
|
|
269
|
+
})
|
|
270
|
+
| (FocusTargetObservationBase & {
|
|
271
|
+
kind:
|
|
272
|
+
"infinity-environment";
|
|
273
|
+
})
|
|
274
|
+
| (FocusTargetObservationBase & {
|
|
275
|
+
kind: "unavailable";
|
|
276
|
+
reason:
|
|
277
|
+
FocusTargetLossReason;
|
|
278
|
+
});
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## FocusTargetResolution
|
|
282
|
+
|
|
283
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
284
|
+
|
|
285
|
+
```ts
|
|
286
|
+
export interface FocusTargetResolution {
|
|
287
|
+
state:
|
|
288
|
+
FocusControlState;
|
|
289
|
+
targetObservationApplied:
|
|
290
|
+
boolean;
|
|
291
|
+
focusChanged: boolean;
|
|
292
|
+
acquisitionEvent:
|
|
293
|
+
FocusTargetControlEvent;
|
|
294
|
+
actuatorModel:
|
|
295
|
+
"ideal-instantaneous";
|
|
296
|
+
silentRetargetingPerformed:
|
|
297
|
+
false;
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## parseFocusControlProfile
|
|
302
|
+
|
|
303
|
+
Validate an untrusted declaration and return the normalized typed contract. Unknown enum values,
|
|
304
|
+
missing required fields and incompatible scientific data fail at this boundary.
|
|
305
|
+
|
|
306
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
307
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
308
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
309
|
+
separate state transitions.
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
export function parseFocusControlProfile(
|
|
313
|
+
value: unknown
|
|
314
|
+
): FocusControlProfile;
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
318
|
+
|
|
319
|
+
## resolveFocusTargetObservation
|
|
320
|
+
|
|
321
|
+
Resolve an explicit available/lost target observation under the selected single/continuous AF
|
|
322
|
+
policy, retaining acquisition and reacquisition disposition.
|
|
323
|
+
|
|
324
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
325
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
326
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
327
|
+
separate state transitions.
|
|
328
|
+
|
|
329
|
+
```ts
|
|
330
|
+
export function resolveFocusTargetObservation(
|
|
331
|
+
input:
|
|
332
|
+
ResolveFocusTargetObservationInput
|
|
333
|
+
): FocusTargetResolution;
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
337
|
+
|
|
338
|
+
## ResolveFocusTargetObservationInput
|
|
339
|
+
|
|
340
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
341
|
+
|
|
342
|
+
```ts
|
|
343
|
+
export interface ResolveFocusTargetObservationInput {
|
|
344
|
+
state:
|
|
345
|
+
FocusControlState;
|
|
346
|
+
stateId: string;
|
|
347
|
+
event:
|
|
348
|
+
FocusTargetControlEvent;
|
|
349
|
+
observation:
|
|
350
|
+
FocusTargetObservation;
|
|
351
|
+
}
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## setFocusLock
|
|
355
|
+
|
|
356
|
+
Return an explicit lock/unlock transition without changing the underlying physical focus plane.
|
|
357
|
+
|
|
358
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
359
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
360
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
361
|
+
separate state transitions.
|
|
362
|
+
|
|
363
|
+
```ts
|
|
364
|
+
export function setFocusLock(
|
|
365
|
+
input:
|
|
366
|
+
SetFocusLockInput
|
|
367
|
+
): FocusControlState;
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
371
|
+
|
|
372
|
+
## SetFocusLockInput
|
|
373
|
+
|
|
374
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
export interface SetFocusLockInput {
|
|
378
|
+
state:
|
|
379
|
+
FocusControlState;
|
|
380
|
+
stateId: string;
|
|
381
|
+
locked: boolean;
|
|
382
|
+
eventTimeSeconds: number;
|
|
383
|
+
}
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
## setManualFocusState
|
|
387
|
+
|
|
388
|
+
Return a manual focus transition to the supplied finite/infinity plane without inventing a lens
|
|
389
|
+
actuator or focus-ring conversion.
|
|
390
|
+
|
|
391
|
+
Focus is a longitudinal plane or explicit infinity state, never a screen-space distance. The ideal
|
|
392
|
+
actuator resolves supplied target observations; it does not infer a commercial AF sensor, focus-ring
|
|
393
|
+
scale or acquisition latency. Target loss, reacquisition, focus lock and release priority remain
|
|
394
|
+
separate state transitions.
|
|
395
|
+
|
|
396
|
+
```ts
|
|
397
|
+
export function setManualFocusState(
|
|
398
|
+
input:
|
|
399
|
+
SetManualFocusStateInput
|
|
400
|
+
): FocusControlState;
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
404
|
+
|
|
405
|
+
## SetManualFocusStateInput
|
|
406
|
+
|
|
407
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
408
|
+
|
|
409
|
+
```ts
|
|
410
|
+
export interface SetManualFocusStateInput {
|
|
411
|
+
state:
|
|
412
|
+
FocusControlState;
|
|
413
|
+
stateId: string;
|
|
414
|
+
focus:
|
|
415
|
+
FocusPlane;
|
|
416
|
+
eventTimeSeconds: number;
|
|
417
|
+
commandId?: string;
|
|
418
|
+
}
|
|
419
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# capture/linear-encoding.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
|
+
## calculateLinearCaptureEncoding
|
|
6
|
+
|
|
7
|
+
Quantizes one immutable inline float plane without changing its capture data.
|
|
8
|
+
Mapping: blackCode + (sample-blackValue)/(referenceWhiteValue-blackValue)
|
|
9
|
+
* (referenceWhiteCode-blackCode). Clips only under explicit policy, then rounds.
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
export function calculateLinearCaptureEncoding(input: LinearCaptureEncodingInput): CalculationResult<EncodedLinearCapture>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|
|
16
|
+
|
|
17
|
+
## EncodedLinearCapture
|
|
18
|
+
|
|
19
|
+
Format-neutral 16-bit unsigned codes; metadata retains color/WB/saturation meaning.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
export interface EncodedLinearCapture {
|
|
23
|
+
schemaVersion: typeof LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION;
|
|
24
|
+
captureId: string;
|
|
25
|
+
/** Sanitized geometry/settings/WB/adopted-white/model provenance without float planes. */
|
|
26
|
+
captureMetadata: Omit<SimulatedCapture, "planes">;
|
|
27
|
+
sourcePlane: Omit<CaptureLinearPlane, "storage">;
|
|
28
|
+
encoding: LinearCaptureEncoding;
|
|
29
|
+
sampleLayout: "row-major-interleaved";
|
|
30
|
+
bitDepth: 16;
|
|
31
|
+
codeMinimum: 0;
|
|
32
|
+
codeMaximum: 65535;
|
|
33
|
+
referenceWhiteValue: number;
|
|
34
|
+
/** Codes per relative source unit; same scale for all channels. */
|
|
35
|
+
scale: number;
|
|
36
|
+
minimumRepresentableValue: number;
|
|
37
|
+
maximumRepresentableValue: number;
|
|
38
|
+
/** Maximum above-black value / reference-white above-black value. */
|
|
39
|
+
headroomFactor: number;
|
|
40
|
+
/** 0.5/scale for in-range samples; excludes clipping error. */
|
|
41
|
+
maximumRoundingError: number;
|
|
42
|
+
clippedLowSampleCount: number;
|
|
43
|
+
clippedHighSampleCount: number;
|
|
44
|
+
/** No default rendering exposure/display white is chosen by linear encoding. */
|
|
45
|
+
defaultRenderingExposureEv: null;
|
|
46
|
+
samples: readonly number[];
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION
|
|
51
|
+
|
|
52
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION = "0.1.0" as const
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## LinearCaptureEncoding
|
|
59
|
+
|
|
60
|
+
Uniform channel mapping; capture reference white comes from the source plane.
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
export interface LinearCaptureEncoding {
|
|
64
|
+
schemaVersion: typeof LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION;
|
|
65
|
+
/** Relative source sample value assigned blackCode; may be negative. */
|
|
66
|
+
blackValue: number;
|
|
67
|
+
/** Integer code at blackValue, 0..65534. An offset can preserve negative samples. */
|
|
68
|
+
blackCode: number;
|
|
69
|
+
/** Code at the plane's referenceWhiteValue, strictly above blackCode, at most 65535. */
|
|
70
|
+
referenceWhiteCode: number;
|
|
71
|
+
negativeValues: "preserve-if-representable" | "reject";
|
|
72
|
+
outOfRange: "clip" | "reject";
|
|
73
|
+
rounding: "nearest-ties-up";
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## LinearCaptureEncodingInput
|
|
78
|
+
|
|
79
|
+
The exact contract is declared below; use the domain guide for assumptions and staged integration.
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
export interface LinearCaptureEncodingInput {
|
|
83
|
+
capture: SimulatedCapture;
|
|
84
|
+
planeId: string;
|
|
85
|
+
/** Prevents substituting a differently interpreted linear plane. */
|
|
86
|
+
requiredImageState: CaptureLinearImageState;
|
|
87
|
+
encoding: LinearCaptureEncoding;
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## parseLinearCaptureEncoding
|
|
92
|
+
|
|
93
|
+
Strict allowlisted encoding parser; no default clipping/rounding policy is invented.
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
export function parseLinearCaptureEncoding(value: unknown): LinearCaptureEncoding;
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
This call is synchronous; any supplied provider must follow its explicit synchronous contract.
|