@photivra/engine 2.1.0 → 2.2.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/CITATION.cff +1 -1
  3. package/README.md +6 -6
  4. package/SECURITY.md +1 -1
  5. package/dist/capture/export-jpeg.js +7 -1
  6. package/dist/capture/export-jpeg.js.map +1 -1
  7. package/dist/capture/native-environment-lean.js +5 -2
  8. package/dist/capture/native-environment-lean.js.map +1 -1
  9. package/dist/capture/native-environment-raw.js +2 -2
  10. package/dist/capture/native-environment-raw.js.map +1 -1
  11. package/dist/capture/native-raw-development.js +1 -1
  12. package/dist/capture/native-raw-development.js.map +1 -1
  13. package/dist/capture/native-raw.d.ts +16 -0
  14. package/dist/capture/native-raw.js +16 -3
  15. package/dist/capture/native-raw.js.map +1 -1
  16. package/dist/capture/packed-sensor-raw.d.ts +7 -0
  17. package/dist/capture/packed-sensor-raw.js +6 -2
  18. package/dist/capture/packed-sensor-raw.js.map +1 -1
  19. package/dist/core/pixel-limits.d.ts +14 -0
  20. package/dist/core/pixel-limits.js +40 -0
  21. package/dist/core/pixel-limits.js.map +1 -0
  22. package/dist/core/version.d.ts +1 -1
  23. package/dist/core/version.js +1 -1
  24. package/dist/core/version.js.map +1 -1
  25. package/dist/facade/chart-radiance-batch.d.ts +7 -0
  26. package/dist/facade/chart-radiance-batch.js +7 -3
  27. package/dist/facade/chart-radiance-batch.js.map +1 -1
  28. package/dist/facade/simulate-capture.d.ts +8 -1
  29. package/dist/facade/simulate-capture.js +69 -18
  30. package/dist/facade/simulate-capture.js.map +1 -1
  31. package/dist/index.d.ts +2 -1
  32. package/dist/index.js +2 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/motion/temporal-exposure-sum.d.ts +7 -0
  35. package/dist/motion/temporal-exposure-sum.js +6 -2
  36. package/dist/motion/temporal-exposure-sum.js.map +1 -1
  37. package/dist/optics/irradiance-convolution.d.ts +7 -0
  38. package/dist/optics/irradiance-convolution.js +6 -2
  39. package/dist/optics/irradiance-convolution.js.map +1 -1
  40. package/dist/optics/lens-psf-kernels.d.ts +3 -1
  41. package/dist/optics/lens-psf-kernels.js +7 -2
  42. package/dist/optics/lens-psf-kernels.js.map +1 -1
  43. package/dist/output/native-capture-sdr.d.ts +7 -0
  44. package/dist/output/native-capture-sdr.js +6 -3
  45. package/dist/output/native-capture-sdr.js.map +1 -1
  46. package/dist/output/png-encoder.d.ts +10 -1
  47. package/dist/output/png-encoder.js +10 -4
  48. package/dist/output/png-encoder.js.map +1 -1
  49. package/dist/output/print-jpeg.d.ts +18 -0
  50. package/dist/output/print-jpeg.js +15 -4
  51. package/dist/output/print-jpeg.js.map +1 -1
  52. package/dist/sensor/sampling-aperture.d.ts +15 -0
  53. package/dist/sensor/sampling-aperture.js +31 -10
  54. package/dist/sensor/sampling-aperture.js.map +1 -1
  55. package/docs/API_REFERENCE.md +11 -1
  56. package/docs/QUICK_START.md +112 -4
  57. package/docs/USAGE.md +3 -1
  58. package/docs/api/capture-native-raw.md +11 -2
  59. package/docs/api/capture-packed-sensor-raw.md +7 -1
  60. package/docs/api/core-pixel-limits.md +19 -0
  61. package/docs/api/core-version.md +1 -1
  62. package/docs/api/exports.json +17 -2
  63. package/docs/api/facade-chart-radiance-batch.md +8 -2
  64. package/docs/api/facade-simulate-capture.md +8 -1
  65. package/docs/api/motion-temporal-exposure-sum.md +7 -1
  66. package/docs/api/optics-irradiance-convolution.md +7 -1
  67. package/docs/api/output-native-capture-sdr.md +7 -2
  68. package/docs/api/output-png-encoder.md +8 -1
  69. package/docs/api/output-print-jpeg.md +17 -0
  70. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -23,6 +23,7 @@ export { parseGenericLensCorrectionProfile, resolveLensCorrectionPlan, calculate
23
23
  export { SIMULATED_CAPTURE_SCHEMA_VERSION, createSimulatedCapture, parseSimulatedCapture, serializeSimulatedCapture, resolveSimulatedCapturePlane, createCaptureWhiteBalanceIntent, type SimulatedCapture, type SimulatedCaptureInput, type CaptureExposureSource, type CaptureLinearImageState, type CaptureLinearPlane, type CaptureFloatStorage, type CapturePublicProfileReference, type CaptureWhiteXyz, type CaptureWhiteBalanceIntent } from "./capture/simulated-capture.js";
24
24
  export { CAPTURE_COLOR_MODEL_VERSION, VIRTUAL_COLOR_CAMERA_PROFILE, LINEAR_CAPTURE_RGB_PROFILE, resolveCaptureColorModel, parseCaptureColorTransformInput, calculateCaptureColorTransform, type CaptureChromaticAdaptationTransform, type CaptureColorModel, type CaptureColorWhiteBalance, type CaptureColorTransformInput, type CaptureColorTransformResult } from "./color/capture-color.js";
25
25
  export { ENGINE_API_VERSION } from "./core/version.js";
26
+ export { FULL_RESOLUTION_DEFAULT_PIXELS, FULL_RESOLUTION_CEILING_PIXELS } from "./core/pixel-limits.js";
26
27
  export { LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION, LINEAR_CAPTURE_ENCODING_MODEL_VERSION, parseLinearCaptureEncoding, calculateLinearCaptureEncoding, type LinearCaptureEncoding, type LinearCaptureEncodingInput, type EncodedLinearCapture } from "./capture/linear-encoding.js";
27
28
  export { SDR_RENDERING_SCHEMA_VERSION, SDR_RENDERING_MODEL_VERSION, parseSdrRenderingProfile, parseSdrRenderingInput, calculateSdrRendering, type SdrRenderingProfile, type SdrToneCurve, type SdrToneCurveParameters, type SdrRenderingInput, type SdrRenderingResult } from "./output/sdr-rendering.js";
28
29
  export { approximationResult, calibratedResult, calculatedResult, estimatedResult, validateCalculationQuality, type AbsoluteUncertaintyEstimate, type CalculationProvenance, type CalculationQuality, type CalculationResult, type CalculationValidRange, type ProvenanceKind, type RelativeUncertaintyEstimate, type UncertaintyConfidence, type UncertaintyEstimate, type UncertaintySource } from "./core/calculation-result.js";
@@ -161,7 +162,7 @@ export type { PrintRegionRaster, PrintRegionDifferenceInput, PrintRegionNoiseInp
161
162
  export { PRINT_CONTRAST_REFERENCE_MODEL_VERSION, PRINT_CONTRAST_REFERENCE_UPSTREAM_REVISION, calculatePrintContrastReference, parsePrintContrastReferenceInput } from "./output/print-contrast-reference.js";
162
163
  export type { PrintContrastReferenceInput, PrintContrastReference } from "./output/print-contrast-reference.js";
163
164
  export { NATIVE_RAW_SCHEMA_VERSION, NATIVE_RAW_LIMITS, calculateNativeRawPlan, createNativeRawTask } from "./capture/native-raw.js";
164
- export { PRINT_JPEG_SCHEMA_VERSION, parsePrintJpegInput, createPrintJpegTask } from "./output/print-jpeg.js";
165
+ export { PRINT_JPEG_SCHEMA_VERSION, PRINT_JPEG_LIMITS, parsePrintJpegInput, createPrintJpegTask } from "./output/print-jpeg.js";
165
166
  export type { PrintJpegSource, PrintJpegInput, PrintJpegTileRequest, PrintJpegTile, PrintJpegProvider, PrintJpegOutput, PrintJpegTask } from "./output/print-jpeg.js";
166
167
  export { SRGB_ICC_PROFILE_VERSION, createSrgbIccProfile } from "./color/srgb-icc.js";
167
168
  export { createNativeEnvironmentRawTask, createNativeEnvironmentSensorStageTask, calculateNativeRawRowBands, createNativeEnvironmentRawPartitionTask, composeNativeEnvironmentRawPartitions } from "./capture/native-environment-raw.js";
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ export { parseGenericLensCorrectionProfile, resolveLensCorrectionPlan, calculate
23
23
  export { SIMULATED_CAPTURE_SCHEMA_VERSION, createSimulatedCapture, parseSimulatedCapture, serializeSimulatedCapture, resolveSimulatedCapturePlane, createCaptureWhiteBalanceIntent } from "./capture/simulated-capture.js";
24
24
  export { CAPTURE_COLOR_MODEL_VERSION, VIRTUAL_COLOR_CAMERA_PROFILE, LINEAR_CAPTURE_RGB_PROFILE, resolveCaptureColorModel, parseCaptureColorTransformInput, calculateCaptureColorTransform } from "./color/capture-color.js";
25
25
  export { ENGINE_API_VERSION } from "./core/version.js";
26
+ export { FULL_RESOLUTION_DEFAULT_PIXELS, FULL_RESOLUTION_CEILING_PIXELS } from "./core/pixel-limits.js";
26
27
  export { LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION, LINEAR_CAPTURE_ENCODING_MODEL_VERSION, parseLinearCaptureEncoding, calculateLinearCaptureEncoding } from "./capture/linear-encoding.js";
27
28
  export { SDR_RENDERING_SCHEMA_VERSION, SDR_RENDERING_MODEL_VERSION, parseSdrRenderingProfile, parseSdrRenderingInput, calculateSdrRendering } from "./output/sdr-rendering.js";
28
29
  export { approximationResult, calibratedResult, calculatedResult, estimatedResult, validateCalculationQuality } from "./core/calculation-result.js";
@@ -153,7 +154,7 @@ export { PRINT_REGION_DETAIL_MODEL_VERSION, MAX_PRINT_DETAIL_REGION_SAMPLES, cal
153
154
  export { PRINT_REGION_STATISTICS_MODEL_VERSION, MAX_PRINT_REGION_STATISTICS_SAMPLES, calculatePrintRegionDifference, calculatePrintRegionNoise, parsePrintRegionDifferenceInput, parsePrintRegionNoiseInput } from "./output/print-region-statistics.js";
154
155
  export { PRINT_CONTRAST_REFERENCE_MODEL_VERSION, PRINT_CONTRAST_REFERENCE_UPSTREAM_REVISION, calculatePrintContrastReference, parsePrintContrastReferenceInput } from "./output/print-contrast-reference.js";
155
156
  export { NATIVE_RAW_SCHEMA_VERSION, NATIVE_RAW_LIMITS, calculateNativeRawPlan, createNativeRawTask } from "./capture/native-raw.js";
156
- export { PRINT_JPEG_SCHEMA_VERSION, parsePrintJpegInput, createPrintJpegTask } from "./output/print-jpeg.js";
157
+ export { PRINT_JPEG_SCHEMA_VERSION, PRINT_JPEG_LIMITS, parsePrintJpegInput, createPrintJpegTask } from "./output/print-jpeg.js";
157
158
  export { SRGB_ICC_PROFILE_VERSION, createSrgbIccProfile } from "./color/srgb-icc.js";
158
159
  export { createNativeEnvironmentRawTask, createNativeEnvironmentSensorStageTask, calculateNativeRawRowBands, createNativeEnvironmentRawPartitionTask, composeNativeEnvironmentRawPartitions } from "./capture/native-environment-raw.js";
159
160
  export { NATIVE_ENVIRONMENT_OPTICAL_STAGE_LIMITS } from "./capture/native-environment-optical-stage.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The package entry point: one browser-safe ES module that exports every public API.\n *\n * Import only from here. Deep imports into other files, the transport server and renderer\n * backends are not supported package APIs.\n * @see docs/DEVELOPERS.md for equations, coordinate/unit conventions, blockers and support limits.\n */\n\nexport { GENERIC_EQUIPMENT_TIER_PRESET_VERSION, GENERIC_EQUIPMENT_TIERS, resolveGenericEquipmentTierCatalog,\n createGenericEquipmentTierSelection, parseGenericEquipmentTierSelection, resolveGenericEquipmentTierLensProfiles,\n type GenericEquipmentTierProfileReference, type GenericEquipmentTierSelection, type ResolvedGenericTierLensProfiles } from \"./equipment/generic-tier-presets.js\";\nexport type { GenericEquipmentTier, GenericEquipmentTierPreset, GenericVersionedAsset, GenericTierBodyAssets, GenericTierLensAssets } from \"./equipment/generic-tier-assets.js\";\nexport { SENSOR_RAW_PRODUCER_SCHEMA_VERSION, SENSOR_RAW_PRODUCER_NOISE_MODEL, parseSensorRawProducerInput, simulateSensorRawFrame,\n type SensorRawProducerExposureWindowInput, type SensorRawProducerSiteInput, type SensorRawProducerInput, type SensorRawProducerResult } from \"./capture/sensor-raw-producer.js\";\nexport { CAPTURE_CORRECTED_SDR_SCHEMA_VERSION, parseCaptureCorrectedSdrInput, calculateCaptureCorrectedSdr,\n type CaptureCorrectedSdrInput, type CaptureCorrectedSdrResult } from \"./output/capture-corrected-sdr.js\";\nexport { PHOTOGRAPHIC_EXPORT_SCHEMA_VERSION, PHOTOGRAPHIC_EXPORT_PIPELINE_VERSION, PROCESSED_SENSOR_RAW_MODEL_VERSION, parseExportSensorColorProfile,\n parsePhotographicExportInput, createPhotographicExportPair, type ExportSensorColorProfile, type PhotographicExportInput,\n type PhotographicExportOptions, type PhotographicExportPair } from \"./capture/photographic-export.js\";\nexport { calculateEffectiveSaturationCode, type EffectiveSaturationReadout } from \"./capture/raw-white-level.js\";\nexport { RAW_HIGHLIGHT_RECONSTRUCTION_START, SENSOR_COLOR_DEVELOPMENT_MODEL, type RawHighlightMode } from \"./color/sensor-color-development.js\";\nexport { CAPTURE_EXPORT_METADATA_SCHEMA_VERSION, parseCaptureExportMetadataInput, createCaptureExportMetadataPair,\n type CaptureExportWorkflow, type CaptureExportArtifactIdentity, type CaptureExportMetadataInput,\n type CaptureExportSharedMetadata, type CaptureExportMetadataPair } from \"./capture/capture-export-metadata.js\";\nexport { CAPTURE_SDR_SCHEMA_VERSION, parseCaptureSdrInput, calculateCaptureSdr, type CaptureSdrInput, type CaptureSdrResult } from \"./output/capture-sdr.js\";\nexport { RAW_FRAME_RECONSTRUCTION_SCHEMA_VERSION, parseRawFrameReconstructionInput, resolveRawFrameReconstruction,\n type RawFrameReconstructionPhaseProfile, type RawFrameReconstructionInput, type RawFrameReconstruction } from \"./capture/raw-frame-reconstruction.js\";\nexport { SENSOR_RAW_FRAME_SCHEMA_VERSION, createSensorRawFrame, parseSensorRawFrameInput,\n type SensorRawFrameInput, type SensorRawFrame } from \"./capture/sensor-raw-frame.js\";\n\nexport {\n parseOpticalProfileState,\n type OpticalProfileState,\n type GenericOpticalEvidence\n} from \"./optics/profile-contract.js\";\nexport {\n parseLensStrayLightProfile,\n calculateLensStrayLightIrradiance,\n type LensStrayLightProfile,\n type ParametricStrayLightResponse,\n type StrayLightSource,\n type StrayLightIrradiance\n} from \"./optics/stray-light.js\";\nexport {\n parseDigitalGeometricTransform,\n prepareGeometricMapping,\n calculateComposedGeometricMapping,\n calculateForwardGeometricMapping,\n calculateGeometricSamplingPlan,\n calculateGeometricResampling,\n type DigitalGeometricTransform,\n type AffineGeometricTransform,\n type RadialGeometricTransform,\n type BrownConradyGeometricTransform,\n type ProjectionRemapGeometricTransform,\n type GeometricProjectionDeclaration,\n type GeometricJacobian,\n type GeometricImageDomain,\n type PreparedGeometricMapping,\n type GeometricRaster,\n type GeometricResampler,\n type GeometricMappingPoint,\n type GeometricSamplingPlan\n} from \"./output/geometric-transforms.js\";\nexport {\n parseGenericLensCorrectionProfile,\n resolveLensCorrectionPlan,\n calculatePeripheralIlluminationCorrection,\n calculateLensCorrectedCapture,\n type GenericLensCorrectionProfile,\n type LensCorrectionComponent,\n type LensCorrectionChannel,\n type GeometricLensCorrection,\n type LateralCaLensCorrection,\n type IlluminationLensCorrection,\n type ResolvedLensCorrectionPlan,\n type LensCorrectionCapture\n} from \"./output/lens-corrections.js\";\n\nexport {\n SIMULATED_CAPTURE_SCHEMA_VERSION,\n createSimulatedCapture,\n parseSimulatedCapture,\n serializeSimulatedCapture,\n resolveSimulatedCapturePlane,\n createCaptureWhiteBalanceIntent,\n type SimulatedCapture,\n type SimulatedCaptureInput,\n type CaptureExposureSource,\n type CaptureLinearImageState,\n type CaptureLinearPlane,\n type CaptureFloatStorage,\n type CapturePublicProfileReference,\n type CaptureWhiteXyz,\n type CaptureWhiteBalanceIntent\n} from \"./capture/simulated-capture.js\";\n\nexport {\n CAPTURE_COLOR_MODEL_VERSION,\n VIRTUAL_COLOR_CAMERA_PROFILE,\n LINEAR_CAPTURE_RGB_PROFILE,\n resolveCaptureColorModel,\n parseCaptureColorTransformInput,\n calculateCaptureColorTransform,\n type CaptureChromaticAdaptationTransform,\n type CaptureColorModel,\n type CaptureColorWhiteBalance,\n type CaptureColorTransformInput,\n type CaptureColorTransformResult\n} from \"./color/capture-color.js\";\n\nexport { ENGINE_API_VERSION } from \"./core/version.js\";\n\nexport {\n LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION,\n LINEAR_CAPTURE_ENCODING_MODEL_VERSION,\n parseLinearCaptureEncoding,\n calculateLinearCaptureEncoding,\n type LinearCaptureEncoding,\n type LinearCaptureEncodingInput,\n type EncodedLinearCapture\n} from \"./capture/linear-encoding.js\";\n\nexport {\n SDR_RENDERING_SCHEMA_VERSION,\n SDR_RENDERING_MODEL_VERSION,\n parseSdrRenderingProfile,\n parseSdrRenderingInput,\n calculateSdrRendering,\n type SdrRenderingProfile,\n type SdrToneCurve,\n type SdrToneCurveParameters,\n type SdrRenderingInput,\n type SdrRenderingResult\n} from \"./output/sdr-rendering.js\";\n\nexport {\n approximationResult,\n calibratedResult,\n calculatedResult,\n estimatedResult,\n validateCalculationQuality,\n type AbsoluteUncertaintyEstimate,\n type CalculationProvenance,\n type CalculationQuality,\n type CalculationResult,\n type CalculationValidRange,\n type ProvenanceKind,\n type RelativeUncertaintyEstimate,\n type UncertaintyConfidence,\n type UncertaintyEstimate,\n type UncertaintySource\n} from \"./core/calculation-result.js\";\nexport {\n InvalidScientificInputError,\n InvalidScientificResultError\n} from \"./core/validation.js\";\n\nexport {\n parseSpectralWavelengthBasis,\n parseSpectralWavelengthRangeNanometers,\n parseSpectralWavelengthSample,\n type SpectralWavelengthBasis,\n type SpectralWavelengthRangeNanometers,\n type SpectralWavelengthSample\n} from \"./core/spectral.js\";\n\nexport {\n composeSpectralCoverage,\n distributeIntegratedQuantityAcrossDiscreteSpectralLines,\n integrateDiscreteSpectralLineMeasure,\n parseNormalizedDiscreteSpectralLineDistribution,\n parseSpectralCoverageParticipant,\n type ComposeSpectralCoverageInput,\n type DiscreteSpectralLineMeasure,\n type DiscreteSpectralLineMeasureEntry,\n type DiscreteSpectralLineQuantityUnit,\n type DistributeIntegratedQuantityAcrossDiscreteLinesInput,\n type IntegratedDiscreteSpectralLineMeasure,\n type NormalizedDiscreteSpectralLine,\n type NormalizedDiscreteSpectralLineDistribution,\n type ResolvedSpectralWavelengthBasis,\n type SpectralCoverageComposition,\n type SpectralCoverageParticipant,\n type SpectralCoverageParticipantRole\n} from \"./core/spectral-composition.js\";\n\nexport {\n SCIENTIFIC_ASSURANCE_CONTRACT_VERSION,\n composeScientificAssurance,\n type ComposeScientificAssuranceInput,\n type ComposedScientificAssurance,\n type ComposedScientificUncertaintyStatus,\n type ScientificAssuranceBasisKind,\n type ScientificAssuranceComponent,\n type ScientificAssuranceComponentUncertainty,\n type ScientificAssuranceSourceIdentity,\n type ScientificAssuranceSourceKind,\n type ScientificAssuranceStatus\n} from \"./core/scientific-assurance.js\";\n\nexport {\n IMAGE_FORMATION_CONTRACT_VERSION,\n getImageFormationContract,\n type ImageFormationContract,\n type ImageFormationCoordinateSpaceContract,\n type ImageFormationCoordinateSpaceId,\n type ImageFormationDomainId,\n type ImageFormationEffectId,\n type ImageFormationEffectPlacement,\n type ImageFormationImplementationStatus,\n type ImageFormationRendererContract,\n type ImageFormationStageContract,\n type ImageFormationStageId,\n type ImageFormationTemporalContract\n} from \"./core/image-formation.js\";\n\nexport {\n IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION,\n PREPARED_IMAGE_FORMATION_CONTEXT_VERSION,\n PRODUCTION_CAPTURE_SNAPSHOT_VERSION,\n PRODUCTION_IMAGE_FORMATION_PLAN_VERSION,\n RENDERER_CAPABILITY_SCHEMA_VERSION,\n createProductionCaptureSnapshot,\n createProductionCaptureSnapshotFromReleaseFrame,\n createProductionImageFormationPlan,\n parseImageFormationFidelityProfile,\n parsePreparedImageFormationContext,\n parseProductionCaptureSnapshot,\n parseRendererCapabilityDeclaration,\n prepareImageFormationContext,\n serializeProductionImageFormationPlan,\n type CreateProductionCaptureSnapshotFromReleaseFrameInput,\n type CreateProductionCaptureSnapshotInput,\n type CreateProductionImageFormationPlanInput,\n type ProductionProcessedOutputInput,\n type ProductionEnvironmentCaptureInput,\n type ImageFormationFidelityProfile,\n type PlannedImageFormationEffect,\n type PlannedImageFormationEffectState,\n type PlannedImageFormationStage,\n type PlannedImageFormationStageState,\n type PlannedScientificStatus,\n type PrepareImageFormationContextInput,\n type PreparedImageFormationContext,\n type ProductionCaptureSnapshot,\n type ProductionImageFormationBlocker,\n type ProductionImageFormationBlockerCode,\n type ProductionImageFormationPlan,\n type ProductionPhysicalSceneSample,\n type ProductionReleaseFrameBinding,\n type ProductionTemporalCaptureInput,\n type ProductionTemporalCaptureResult,\n type RendererCapabilityDeclaration,\n type RendererConsumerKind,\n type RequiredImageFormationEffect\n} from \"./composition/image-formation-plan.js\";\n\nexport {\n PRODUCTION_PLAN_CONSUMER_MANIFEST_VERSION,\n createProductionPlanConsumerManifest,\n type CreateProductionPlanConsumerManifestInput,\n type ProductionPlanConsumerManifest\n} from \"./composition/plan-consumer.js\";\n\nexport {\n calculateFieldOfView,\n calculateFieldOfViewBounds,\n type CalculateFieldOfViewBoundsInput,\n type CalculateFieldOfViewInput,\n type FieldOfView,\n type FieldOfViewBounds\n} from \"./camera/field-of-view.js\";\n\nexport {\n LENS_PROJECTION_MODELS,\n calculateLensProjectionDirection,\n calculateLensProjectionFieldOfView,\n calculateLensProjectionFieldOfViewBounds,\n calculateLensProjectionImagePoint,\n parseLensProjectionModel,\n type CalculateLensProjectionDirectionInput,\n type CalculateLensProjectionFieldOfViewBoundsInput,\n type CalculateLensProjectionFieldOfViewInput,\n type CalculateLensProjectionImagePointInput,\n type LensDirection,\n type LensProjectionDirection,\n type LensProjectionFieldOfView,\n type LensProjectionFieldOfViewBounds,\n type LensProjectionImagePoint,\n type LensProjectionModel,\n type RadialLensProjectionModel\n} from \"./camera/lens-projection.js\";\n\nexport {\n calculateProjectedObjectSize,\n type CalculateProjectedObjectSizeInput,\n type ProjectedObjectSize\n} from \"./camera/projected-object-size.js\";\n\nexport {\n calculateEquivalentFocalLength35Mm,\n type CalculateEquivalentFocalLength35MmInput,\n type EquivalentFocalLength35Mm\n} from \"./camera/equivalent-focal-length.js\";\n\nexport {\n COLOR_TEMPERATURE_WHITE_BALANCE_INTENT_VERSION,\n WHITE_BALANCE_PROFILE_SCHEMA_VERSION,\n WHITE_BALANCE_STATE_VERSION,\n createColorTemperatureWhiteBalanceIntent,\n createLockedWhiteBalanceState,\n estimateAutoWhiteBalance,\n parseResolvedWhiteBalanceState,\n parseWhiteBalanceProfile,\n resolveCustomWhiteBalance,\n resolveManualWhiteBalance,\n resolvePresetWhiteBalance,\n type ColorTemperatureWhiteBalanceIntent,\n type CreateColorTemperatureWhiteBalanceIntentInput,\n type CreateLockedWhiteBalanceStateInput,\n type EstimateAutoWhiteBalanceInput,\n type PreWhiteBalanceRgbSample,\n type PreWhiteBalanceRgbSampleSet,\n type ResolveCustomWhiteBalanceInput,\n type ResolveManualWhiteBalanceInput,\n type ResolvePresetWhiteBalanceInput,\n type ResolvedWhiteBalanceState,\n type WhiteBalanceAwbIntent,\n type WhiteBalanceAwbPolicy,\n type WhiteBalanceChannelGains,\n type WhiteBalanceInputDomain,\n type WhiteBalancePresetDefinition,\n type WhiteBalanceProfile,\n resolveColorTemperatureWhiteBalance,\n type ColorTemperatureWhiteBalanceCameraModel,\n type ResolveColorTemperatureWhiteBalanceInput,\n type ResolvedColorTemperatureWhiteBalance\n} from \"./color/white-balance.js\";\n\nexport type {\n Cie1960UvChromaticity,\n CieXyChromaticity,\n CieXyzTristimulus,\n ColorMatrix3x3,\n ColorVector3\n} from \"./color/colorimetry-math.js\";\n\nexport {\n COLORIMETRY_MODEL_VERSION,\n MAX_COLORIMETRIC_QUADRATURE_NODES,\n MAX_COLORIMETRIC_TABLE_SAMPLES,\n ANALYTIC_CIE_1931_CMF_DOMAIN_NANOMETERS,\n createColorimetricMidpointQuadrature,\n estimateCie1931ColorMatchingFunctions,\n integrateSpectrumToXyz,\n parseColorimetricQuadratureNodes,\n prepareColorMatchingFunctions,\n prepareColorimetricSpectrum,\n type ColorMatchingFunctionsSource,\n type ColorimetricObserver,\n type ColorimetricQuadratureNode,\n type ColorimetricSpectralSample,\n type ColorimetricSpectrum,\n type CreateColorimetricMidpointQuadratureInput,\n type IntegrateSpectrumToXyzInput,\n type IntegratedSpectrumXyz,\n type PreparedColorMatchingFunctions,\n type PreparedColorimetricSpectrum,\n type TabulatedColorMatchingSample,\n type TristimulusNormalization\n} from \"./color/color-matching-functions.js\";\n\nexport {\n BOLTZMANN_CONSTANT_JOULES_PER_KELVIN,\n CIE_DAYLIGHT_LOCUS_RANGE_KELVIN,\n CIE_ILLUMINANT_A_RANGE_NANOMETERS,\n PLANCKIAN_LOCUS_RANGE_KELVIN,\n MAX_CORRELATED_COLOR_TEMPERATURE_DUV,\n PLANCK_CONSTANT_JOULE_SECONDS,\n SECOND_RADIATION_CONSTANT_METER_KELVIN,\n SPEED_OF_LIGHT_METERS_PER_SECOND,\n calculateChromaticityFromCorrelatedColorTemperature,\n calculateCieDaylightComponentWeights,\n calculateCieIlluminantARelativeSpectralPower,\n calculateCorrelatedColorTemperature,\n calculatePlanckianChromaticity,\n calculatePlanckianSpectralRadiance,\n createCieDaylightSpectrum,\n createCieIlluminantASpectrum,\n createPlanckianSpectrum,\n estimateCorrelatedColorTemperatureMcCamy,\n estimatePlanckianLocusChromaticity,\n type CieDaylightBasis,\n type CieDaylightComponentWeights,\n type CorrelatedColorTemperatureResult,\n type PlanckianLocusModel,\n type WhiteLocus\n} from \"./color/illuminants.js\";\n\nexport {\n CHROMATIC_ADAPTATION_TRANSFORMS,\n calculateChromaticAdaptationMatrix,\n calculateChromaticallyAdaptedXyz,\n resolveChromaticAdaptationConeMatrix,\n type CalculateChromaticAdaptationMatrixInput,\n type ChromaticAdaptationMatrix,\n type ChromaticAdaptationTransform\n} from \"./color/chromatic-adaptation.js\";\n\nexport {\n calculateCielabFromCielch,\n calculateCielabFromXyz,\n calculateCielchFromCielab,\n calculateColorDifference,\n calculateXyzFromCielab,\n type CalculateColorDifferenceInput,\n type Cie94ParametricFactors,\n type Ciede2000ParametricFactors,\n type CielabColor,\n type CielchColor,\n type ColorDifferenceFormula\n} from \"./color/color-difference.js\";\n\nexport {\n MAX_CAMERA_MATRIX_TRAINING_PATCHES,\n estimateCameraColorMatrix,\n type CameraColorMatrixFit,\n type CameraMatrixFitConstraint,\n type CameraMatrixPatchReport,\n type CameraMatrixTrainingPatch,\n type CameraSpectralSensitivities,\n type EstimateCameraColorMatrixInput\n} from \"./color/camera-color-matrix.js\";\n\nexport {\n calculateRgbToXyzMatrices,\n evaluateBt709InverseOetf,\n evaluateSrgbDecoding,\n evaluateBt709Oetf,\n evaluateSrgbEncoding,\n prepareBt1886Eotf,\n resolveRgbColorSpace,\n type Bt1886Eotf,\n type RgbColorSpaceDefinition,\n type RgbColorSpaceId,\n type RgbPrimaryChromaticities,\n type RgbToXyzMatrices,\n type RgbTransferFunctionId\n} from \"./color/rgb-color-spaces.js\";\n\nexport {\n calculateGamutMappedColor,\n prepareRgbGamutMapping,\n type GamutMappedColor,\n type GamutMappingMethod,\n type PrepareRgbGamutMappingInput,\n type PreparedRgbGamutMapping\n} from \"./color/gamut-mapping.js\";\n\nexport {\n calculatePixelPitch,\n type CalculatePixelPitchInput,\n type PixelPitch\n} from \"./sensor/pixel-pitch.js\";\n\nexport {\n calculateImagingAreaMetrics,\n calculateSensorGeometryMetrics,\n type CalculateSensorGeometryMetricsInput,\n type ImagingAreaMetrics,\n type NativeImageRaster,\n type RasterDimensions,\n type SensorGeometryMetrics,\n type SensorImagingArea\n} from \"./sensor/sensor-geometry.js\";\n\nexport {\n SENSOR_ARCHITECTURE_PROFILE_SCHEMA_VERSION,\n parseSensorArchitectureProfile,\n type SensorArchitectureFactProvenance,\n type SensorArchitectureProfile,\n type SensorArchitectureProfileV0_2,\n type SensorArchitectureProfileV0_3,\n type SensorArchitectureReuseStatus,\n type SensorArchitectureSourceKind,\n type SensorColorSamplingFamily,\n type SensorIlluminationArchitecture,\n type SensorIntegrationArchitecture,\n type SensorReadoutArchitecture,\n type SensorTechnologyFamily,\n type SourcedSensorArchitectureFact\n} from \"./sensor/architecture.js\";\n\nexport {\n parseSensorColorSamplingProfile,\n resolveColorSamplingSite,\n type LayeredColorSamplingLayout,\n type MonochromeColorSamplingLayout,\n type NativeColorSamplingSiteCoordinateSystem,\n type NativeColorSamplingSiteIndex,\n type SensorColorSamplingProfileCoordinateSystem,\n type PeriodicMosaicColorSamplingLayout,\n type ResolveColorSamplingSiteInput,\n type ResolvedColorSamplingSite,\n type SensorColorSamplingLayout,\n type SensorColorSamplingProfile\n} from \"./sensor/color-sampling.js\";\n\nexport {\n parseNativeEffectiveRasterColorSamplingBindingProfile,\n resolveCaptureModeColorSamplingContributors,\n resolveNativeEffectiveRasterColorSamplingBinding,\n type CaptureModeFullFrameSampleIndex,\n type ColorSamplingChannelComposition,\n type ColorSamplingChannelSiteCount,\n type ColorSamplingSiteGridDimensions,\n type ColorSamplingSiteRect,\n type GroupedCaptureModeSamplingAnchorDeclaration,\n type NativeEffectiveRasterColorSamplingBindingProfile,\n type NativeEffectiveSampleRect,\n type ResolveCaptureModeColorSamplingContributorsInput,\n type ResolvedCaptureModeColorSamplingContributors,\n type ResolvedNativeEffectiveRasterColorSamplingBinding\n} from \"./sensor/capture-color-sampling-binding.js\";\n\nexport {\n parseSensorOpticalStackProfile,\n resolveAntiAliasingSpatialKernel,\n type AntiAliasingPointSplitComponent,\n type ResolvedAntiAliasingSpatialKernel,\n type SensorEffectiveAntiAliasingSpatialResponse,\n type SensorMicrolensDeclaration,\n type SensorOpticalStackComponent,\n type SensorOpticalStackComponentRole,\n type SensorOpticalStackProfile\n} from \"./sensor/optical-stack.js\";\n\nexport {\n parseSensorSamplingApertureProfile,\n resolveSensorSamplingAperture,\n type NativeSensorPhysicalBoundsMm,\n type NativeSensorPhysicalPointMm,\n type ResolveSensorSamplingApertureInput,\n type ResolvedSensorSamplingAperture,\n type SensorGeometricSensitiveAperture,\n type SensorSamplingApertureProfile,\n type SensorSiteCenterLatticeRegistration\n} from \"./sensor/sampling-aperture.js\";\n\nexport {\n calculateSensorSpatialSamplingQuadrature,\n type CalculateSensorSpatialSamplingQuadratureInput,\n type SensorSpatialSamplingQuadrature,\n type SensorSpatialSamplingQuadratureNode\n} from \"./sensor/spatial-sampling-quadrature.js\";\n\nexport {\n reduceSensorSpatialSamplingQuadrature,\n type ReduceSensorSpatialSamplingQuadratureInput,\n type SensorSpatialQuadratureNodeIdentity,\n type SensorSpatialQuadratureNodeValue,\n type SensorSpatialSampleReduction,\n type SensorSpatialSampleReductionValue,\n type SensorSpatialSampleValueDomain\n} from \"./sensor/spatial-sample-reduction.js\";\n\nexport {\n parseSensorSpectralResponseProfile,\n SENSOR_SPECTRAL_RESPONSE_CHANNEL_BINDING_FORMAT,\n resolveSensorSpectralResponseAtWavelength,\n type EffectiveSensorResponseScope,\n type ResolveSensorSpectralResponseAtWavelengthInput,\n type ResolvedSensorSpectralResponse,\n type ResolvedSensorSpectralResponseValue,\n type SensorSpectralChannelResponse,\n type SensorSpectralResponseChannelBinding,\n type SensorSpectralReferenceConditions,\n type SensorSpectralResponseProfile,\n type SensorSpectralResponseScientificStatus,\n type SensorSpectralResponseUncertainty,\n type SpectralFractionCurve,\n type SpectralFractionSample,\n type SpectralResponsivityCurve,\n type SpectralResponsivitySample\n} from \"./sensor/spectral-response.js\";\n\nexport {\n calculateSensorSpectralQuadrature,\n type CalculateSensorSpectralQuadratureInput,\n type SensorSpectralQuadrature,\n type SensorSpectralQuadratureNode,\n type SensorSpectralWavelengthRangeNanometers\n} from \"./sensor/spectral-quadrature.js\";\n\nexport {\n createSensorSpectralCoverageParticipant,\n type CreateSensorSpectralCoverageParticipantInput\n} from \"./sensor/spectral-coverage.js\";\n\nexport {\n reduceSensorSpatioSpectralIrradiance,\n type ReduceSensorSpatioSpectralIrradianceInput,\n type SensorSpatioSpectralIrradianceReduction,\n type SensorSpatioSpectralIrradianceSample,\n type SensorSpatioSpectralNodeIdentity,\n type SensorSpatioSpectralWavelengthReduction\n} from \"./sensor/spatio-spectral-reduction.js\";\n\nexport {\n assessSensorResponseApplicationCompatibility,\n parseSensorResponseApplicationProfile,\n type AssessSensorResponseApplicationCompatibilityInput,\n type SensorResponseApplicationCompatibilityAssessment,\n type SensorResponseApplicationCompatibilityBlocker,\n type SensorResponseApplicationProfile,\n type SensorResponseIncidentAreaBasis,\n type SensorResponseReferenceConditionPolicy,\n type SensorResponseSignalPath,\n type SensorResponseSourcePlane,\n type SensorResponseSpatialModel,\n type SourcedSensorResponseSourcePlane\n} from \"./sensor/response-application-compatibility.js\";\n\nexport {\n assessSensorResponseOperatingRange,\n parseSensorResponseOperatingRangeProfile,\n type AssessSensorResponseOperatingRangeInput,\n type SensorResponseLinearityCriterion,\n type SensorResponseOperatingInputRange,\n type SensorResponseOperatingRangeAssessment,\n type SensorResponseOperatingRangeBlocker,\n type SensorResponseOperatingRangeProfile,\n type SensorResponseOperatingSpatialLinearityModel,\n type SensorResponseOperatingSpectralInputModel,\n type SensorResponseOperatingWavelengthApplicability\n} from \"./sensor/response-operating-range.js\";\n\nexport {\n calculatePhotonEnergyFromWavelength,\n parseSourcedAirPhaseRefractiveIndex,\n type AirRefractiveIndexConditionPolicy,\n type AirRefractiveIndexReferenceConditions,\n type CalculatePhotonEnergyFromWavelengthInput,\n type PhotonEnergyFromWavelength,\n type SourcedAirPhaseRefractiveIndex\n} from \"./sensor/photon-energy.js\";\n\nexport {\n calculateSensorEqeElectronRate,\n type CalculateSensorEqeElectronRateInput,\n type SensorEqeAirPhotonEnergyContext,\n type SensorEqeAirRefractiveIndexSample,\n type SensorEqeElectronRate,\n type SensorEqeWavelengthRateContribution\n} from \"./sensor/eqe-electron-rate.js\";\n\nexport {\n calculateSensorResponsivityPhotocurrent,\n parseSensorResponsivityElectricalApplicabilityProfile,\n type CalculateSensorResponsivityPhotocurrentInput,\n type SensorResponsivityBiasCondition,\n type SensorResponsivityElectricalApplicabilityProfile,\n type SensorResponsivityElectricalConditionPolicy,\n type SensorResponsivityElectricalConditions,\n type SensorResponsivityPhotocurrent,\n type SensorResponsivityReadoutLoadCondition,\n type SensorResponsivityWavelengthCurrentContribution\n} from \"./sensor/responsivity-photocurrent.js\";\n\nexport {\n bindSensorRateToLocalExposure,\n type BindSensorRateToLocalExposureInput,\n type SensorInstantaneousRateResult,\n type SensorRateLocalExposureBinding\n} from \"./sensor/local-exposure-binding.js\";\n\nexport {\n integrateStationarySensorRateOverLocalExposure,\n parseSensorRateTemporalStationarityProfile,\n type IntegrateStationarySensorRateInput,\n type SensorEqeExposureIntegration,\n type SensorRateStationarityStatus,\n type SensorRateTemporalStationarityProfile,\n type SensorResponsivityExposureIntegration,\n type SensorStationaryRateExposureIntegration\n} from \"./sensor/constant-rate-temporal-integration.js\";\n\nexport {\n calculateSensorDarkCurrentCharge,\n parseSensorDarkCurrentProfile,\n type CalculateSensorDarkCurrentChargeInput,\n type SensorDarkCurrentCharge,\n type SensorDarkCurrentProfile,\n type SensorDarkCurrentSiteApplicability,\n type SensorDarkCurrentTemperatureModel\n} from \"./sensor/dark-current.js\";\n\nexport {\n composeSensorAccumulatedCharge,\n parseSensorAccumulatedChargeCompletenessProfile,\n parseSensorAdditionalStoredChargeComponent,\n type ComposeSensorAccumulatedChargeInput,\n type ComposeSensorPhotoAccumulatedChargeInput,\n type SensorAccumulatedChargeCompletenessProfile,\n type SensorAccumulatedChargeComposition,\n type SensorPhotoAccumulatedChargeComposition,\n type SensorAdditionalStoredChargeComponent,\n type SensorAdditionalStoredChargeKind\n} from \"./sensor/accumulated-charge.js\";\n\nexport {\n assessSensorPhysicalChargeCapacity,\n parseSensorPhysicalChargeCapacityProfile,\n type AssessSensorPhysicalChargeCapacityInput,\n type SensorPhysicalChargeCapacityAssessment,\n type SensorPhysicalChargeCapacityProfile,\n type SensorPhysicalChargeCapacitySiteApplicability,\n type SensorPhysicalChargeCapacityTemperatureApplicability\n} from \"./sensor/physical-charge-capacity.js\";\n\nexport {\n GENERIC_ISO_SIGNAL_CHAIN_PRESET_CATALOG_SCHEMA_VERSION,\n GENERIC_ISO_SIGNAL_CHAIN_PROFILE_SCHEMA_VERSION,\n parseGenericIsoSignalChainPresetCatalog,\n parseGenericIsoSignalChainProfile,\n resolveGenericIsoSignalChain,\n resolveGenericIsoSignalChainPreset,\n type GenericIsoCaptureModeSignalChainBinding,\n type GenericIsoExpandedRegimeBinding,\n type GenericIsoSignalChainPreset,\n type GenericIsoSignalChainPresetCatalog,\n type GenericIsoSignalChainProfile,\n type GenericIsoStandardRegimeBand,\n type ResolveGenericIsoSignalChainInput,\n type ResolvedGenericIsoSignalChain\n} from \"./sensor/iso-signal-chain.js\";\n\nexport {\n SENSOR_CHARGE_SAMPLING_PROFILE_SCHEMA_VERSION,\n SENSOR_READOUT_CONVERSION_PROFILE_SCHEMA_VERSION,\n calculateExpectedSensorReadout,\n parseSensorChargeSamplingProfile,\n parseSensorReadoutConversionProfile,\n resolveSensorReadoutRegime,\n simulateSensorChargeRealization,\n simulateSensorRawCode,\n type CalculateExpectedSensorReadoutInput,\n type ResolveSensorReadoutRegimeInput,\n type ResolvedSensorReadoutRegime,\n type SensorAdditionalChargeSamplingModel,\n type SensorAdditionalChargeSamplingPolicy,\n type SensorChargeRealization,\n type SensorChargeSamplingProfile,\n type SensorElectronicReadNoiseComponent,\n type SensorExpectedReadoutSignal,\n type SensorRawCodeSample,\n type SensorReadoutConversionProfile,\n type SensorReadoutConversionRegime,\n type SensorAdcIntegralNonLinearity,\n type SensorReadoutExposureIndexGain,\n type SimulateSensorChargeRealizationInput,\n type SimulateSensorRawCodeInput\n} from \"./sensor/raw-readout.js\";\n\nexport {\n createIsoGainReadoutRegimes,\n type CreateIsoGainReadoutRegimesInput,\n type IsoGainConversionGainMode,\n type IsoGainReadoutRegimes\n} from \"./sensor/iso-gain.js\";\n\nexport {\n SENSOR_FIXED_PATTERN_NOISE_MODEL,\n SENSOR_FIXED_PATTERN_NOISE_PROFILE_SCHEMA_VERSION,\n calculateSensorFixedPatternSite,\n parseSensorFixedPatternNoiseProfile,\n type SensorFixedPatternNoiseProfile,\n type SensorFixedPatternSiteValues\n} from \"./sensor/fixed-pattern-noise.js\";\n\nexport {\n SENSOR_RAW_CAPTURE_SAMPLE_VERSION,\n SENSOR_RAW_RECONSTRUCTION_PROFILE_SCHEMA_VERSION,\n createSensorRawCaptureSample,\n parseSensorRawReconstructionProfile,\n resolveSensorRawReconstruction,\n type CreateSensorRawCaptureSampleInput,\n type ResolveSensorRawReconstructionInput,\n type SensorRawCaptureSample,\n type SensorRawReconstructedPixel,\n type SensorRawReconstructionChannelKernel,\n type SensorRawReconstructionKernelContribution,\n type SensorRawReconstructionProfile\n} from \"./sensor/raw-reconstruction.js\";\n\nexport {\n assessSensorCameraSaturationCapacity,\n parseSensorCameraSaturationCapacityProfile,\n type AssessSensorCameraSaturationCapacityInput,\n type SensorCameraSaturationCapacityAssessment,\n type SensorCameraSaturationCapacityProfile,\n type SensorCameraSaturationSiteApplicability,\n type SensorCameraSaturationTemperatureApplicability\n} from \"./sensor/camera-saturation-capacity.js\";\n\nexport {\n CAPTURE_MODE_TIMING_PROFILE_SCHEMA_VERSION,\n parseCaptureModeTimingProfile,\n resolveCaptureModeTiming,\n type CaptureModeTimingProfile,\n type ResolveCaptureModeTimingInput,\n type ResolvedCaptureModeTiming\n} from \"./sensor/capture-mode-timing.js\";\n\nexport {\n parseCaptureModeProfile,\n resolveCaptureMode,\n type CaptureModeAcquisition,\n type CaptureModeDefinition,\n type CaptureModeDependency,\n type CaptureModePerFrameSampling,\n type CaptureModeProfile,\n type CaptureModeReconstructionStage,\n type CaptureModeSampleCombinationDomain,\n type CaptureModeSensorOffsetNativeSamples,\n type DeclaredEffectiveCaptureSampling,\n type FixedMultiFrameCaptureAcquisition,\n type GroupedNativeCaptureSampling,\n type NativeEffectiveCaptureSampling,\n type ResolveCaptureModeInput,\n type ResolvedCaptureMode,\n type SingleFrameCaptureAcquisition,\n type SourcedCaptureModeFact,\n type VariableMultiFrameCaptureAcquisition\n} from \"./sensor/capture-mode.js\";\n\nexport {\n calculateSensorReadoutTiming,\n type CalculateSensorReadoutTimingInput,\n type CaptureShutterMechanism,\n type GlobalSensorReadoutTimingDeclaration,\n type NativeSensorReadoutScanDirection,\n type RollingSensorReadoutTimingDeclaration,\n type SensorReadoutMode,\n type SensorReadoutTiming,\n type SensorReadoutTimingDeclaration,\n type SensorReadoutTimingSample,\n type SourcedSensorReadoutFact,\n type SourcedSensorTimingSeconds\n} from \"./sensor/readout-timing.js\";\n\nexport {\n calculateCaptureExposureWindows,\n type CalculateCaptureExposureWindowsInput,\n type CaptureExposureBoundaryActuator,\n type CaptureExposureWindowSample,\n type CaptureExposureWindows,\n type ExposureBoundarySchedule,\n type ResolvedCaptureExposureBoundary,\n type SimultaneousExposureBoundarySchedule,\n type SourcedCaptureBoundaryDirection,\n type SourcedCaptureTimingSeconds,\n type UniformLinearExposureBoundarySchedule\n} from \"./sensor/exposure-window.js\";\n\nexport {\n assessReadoutExposureTimingLinkage,\n resolveElectronicRollingShutterExposureSchedule,\n createRollingShutterCaptureExposureSchedule,\n ELECTRONIC_ROLLING_SHUTTER_MODEL,\n type ResolveElectronicRollingShutterExposureScheduleInput,\n type ElectronicRollingShutterExposureSchedule,\n type AssessReadoutExposureTimingLinkageInput,\n type ReadoutExposureBoundaryId,\n type ReadoutExposureBoundarySpatialLink,\n type ReadoutExposureBoundarySpatialLinkAssessment,\n type ReadoutExposureSpatialPhaseOrientation,\n type ReadoutExposureTimingLinkageAssessment,\n type ReadoutExposureTimingLinkageDeclaration\n} from \"./sensor/readout-exposure-linkage.js\";\n\nexport {\n calculateCenteredCrop,\n type CalculateCenteredCropInput,\n type CenteredCrop\n} from \"./output/crop.js\";\n\nexport {\n calculateSubjectFramingCrop,\n type CalculateSubjectFramingCropInput,\n type SubjectFramingCrop\n} from \"./output/subject-framing-crop.js\";\n\nexport {\n calculateActiveCaptureFieldOfView,\n calculateOutputFieldOfView,\n mapImagePlanePointToOrientedPhysicalUv,\n mapOrientedPhysicalUvToImagePlanePoint,\n resolveCaptureGeometry,\n transformNativeRasterPointToOriented,\n transformNativeRasterRectToOriented,\n transformNativeRasterVectorToOriented,\n transformOrientedRasterPointToNative,\n transformOrientedRasterRectToNative,\n transformOrientedRasterVectorToNative,\n type ActiveCaptureFieldOfView,\n type CalculateActiveCaptureFieldOfViewInput,\n type CalculateOutputFieldOfViewInput,\n type CaptureOrientation,\n type ImagePlaneMetricPointMm,\n type MapImagePlanePointToOrientedPhysicalUvInput,\n type MapOrientedPhysicalUvToImagePlaneInput,\n type NormalizedRasterUv,\n type OutputFieldOfView,\n type PhysicalBoundsFromOpticalAxisMm,\n type RasterPoint,\n type RasterRect,\n type RasterVector,\n type ResolveCaptureGeometryInput,\n type ResolvedCaptureGeometry,\n type TransformRasterPointInput,\n type TransformRasterRectInput,\n type TransformRasterVectorInput\n} from \"./output/capture-geometry.js\";\n\nexport {\n calculateIdealApertureGeometry,\n type ApertureVertex,\n type CalculateIdealApertureInput,\n type IdealApertureGeometry\n} from \"./optics/aperture.js\";\n\nexport {\n calculateAiryDisk,\n type AiryDisk,\n type CalculateAiryDiskInput\n} from \"./optics/diffraction.js\";\n\nexport {\n calculateIdealPolygonDiffractionPsf,\n calculatePolygonPupilFraunhoferPsf,\n type CalculateIdealPolygonDiffractionInput,\n type CalculatePolygonPupilFraunhoferPsfInput,\n type IdealPolygonDiffraction,\n type PolygonPupilFraunhoferPsf\n} from \"./optics/polygon-diffraction.js\";\n\nexport {\n ZERNIKE_MAXIMUM_NOLL_INDEX,\n ZERNIKE_PUPIL_MAXIMUM_SAMPLES_ACROSS,\n calculateDefocusWavefront,\n createWavefrontPupilGrid,\n estimateMarechalStrehlRatio,\n evaluateZernikePolynomial,\n resolveZernikeNollOrder,\n type CalculateDefocusWavefrontInput,\n type CreateWavefrontPupilGridInput,\n type DefocusWavefront,\n type EstimateMarechalStrehlRatioInput,\n type SeidelFieldPosition,\n type SeidelWavefrontCoefficients,\n type WavefrontPupilGrid,\n type ZernikeCoefficient,\n type ZernikeOrder\n} from \"./optics/zernike-wavefront.js\";\n\nexport {\n FRAUNHOFER_C_LINE_NM,\n FRAUNHOFER_D_LINE_NM,\n FRAUNHOFER_F_LINE_NM,\n calculateCauchyRefractiveIndex,\n calculateLongitudinalChromaticFocus,\n type CalculateLongitudinalChromaticFocusInput,\n type LongitudinalChromaticDispersion,\n type LongitudinalChromaticFocus\n} from \"./optics/longitudinal-chromatic-aberration.js\";\n\nexport {\n calculateMechanicalVignetting,\n calculateNaturalVignetting,\n type CalculateMechanicalVignettingInput,\n type CalculateNaturalVignettingInput,\n type MechanicalVignetting,\n type MechanicalVignettingAperture,\n type NaturalVignetting,\n type NaturalVignettingModel\n} from \"./optics/pupil-vignetting.js\";\n\nexport {\n estimateEquivalentViewingCircleOfConfusion,\n type EquivalentViewingCircleOfConfusion,\n type EstimateEquivalentViewingCircleOfConfusionInput\n} from \"./optics/circle-of-confusion.js\";\n\nexport {\n calculateFocusPlaneImageDistance,\n parseFocusPlane,\n type CalculateFocusPlaneImageDistanceInput,\n type FocusPlane\n} from \"./optics/focus-state.js\";\n\nexport {\n calculateThinLensImageDistance,\n type CalculateThinLensImageDistanceInput,\n type ThinLensImageDistance\n} from \"./optics/thin-lens.js\";\n\nexport {\n calculateDefocusCircle,\n calculateDepthOfField,\n type CalculateDefocusCircleInput,\n type CalculateDepthOfFieldInput,\n type DefocusCircle,\n type DepthOfField\n} from \"./optics/depth-of-field.js\";\n\nexport {\n calculateFocusBreathingFieldOfView,\n calculateFocusBreathingProjection,\n calculateGeometricFocusBreathing,\n type CalculateFocusBreathingFieldOfViewInput,\n type CalculateFocusBreathingProjectionInput,\n type CalculateGeometricFocusBreathingInput,\n type FocusBreathingFieldOfView,\n type FocusBreathingProjection,\n type GeometricFocusBreathing,\n type GeometricFocusingMethod\n} from \"./optics/focus-breathing.js\";\n\nexport {\n calculateAtmosphericHaze,\n calculateExtinctionFromVisibility,\n type AtmosphericExtinctionModel,\n type AtmosphericHaze,\n type CalculateAtmosphericHazeInput,\n type CalculateExtinctionFromVisibilityInput\n} from \"./optics/atmospheric-haze.js\";\n\nexport {\n calculateInverseRadialDistortionMapping,\n calculateInverseRadialDistortionMappings,\n calculateRadialDistortionMapping,\n type CalculateInverseRadialDistortionMappingInput,\n type CalculateInverseRadialDistortionMappingsInput,\n type CalculateRadialDistortionMappingInput,\n type InverseRadialDistortionMapping,\n type InverseRadialDistortionMappings,\n type LensFieldPointMm,\n type RadialDistortionCoefficients,\n type RadialDistortionMapping,\n type RadialDistortionProfile\n} from \"./optics/radial-distortion.js\";\n\nexport {\n calculateBrownConradyDistortionMapping,\n calculateInverseBrownConradyDistortionMapping,\n type BrownConradyDistortionCoefficients,\n type BrownConradyDistortionMapping,\n type BrownConradyDistortionProfile,\n type CalculateBrownConradyDistortionMappingInput,\n type CalculateInverseBrownConradyDistortionMappingInput,\n type InverseBrownConradyDistortionMapping\n} from \"./optics/brown-conrady-distortion.js\";\n\nexport {\n calculateInverseLateralChromaticAberrationMapping,\n calculateInverseLateralChromaticAberrationMappings,\n calculateLateralChromaticAberrationMapping,\n type CalculateInverseLateralChromaticAberrationMappingInput,\n type CalculateInverseLateralChromaticAberrationMappingsInput,\n type CalculateLateralChromaticAberrationMappingInput,\n type ChannelSeparationVectorMm,\n type InverseLateralChromaticAberrationChannelMapping,\n type InverseLateralChromaticAberrationMapping,\n type InverseLateralChromaticAberrationMappings,\n type LateralChromaticAberrationChannel,\n type LateralChromaticAberrationChannelMapping,\n type LateralChromaticAberrationMapping,\n type LateralChromaticAberrationProfile,\n type LateralChromaticAberrationSeparation\n} from \"./optics/lateral-chromatic-aberration.js\";\n\nexport {\n FRONT_OF_LENS_FILTER_PROFILE_SCHEMA_VERSION,\n FRONT_OF_LENS_POLARIZER_PROFILE_SCHEMA_VERSION,\n composeFrontOfLensFilterTransmission,\n parseFrontOfLensFilterProfile,\n resolveFrontOfLensFilterTransmission,\n type ComposeFrontOfLensFilterTransmissionInput,\n type ComposedFrontOfLensFilterTransmission,\n type FrontOfLensFilterProfile,\n type FrontOfLensFilterProfileSchemaVersion,\n type FrontOfLensFilterScientificStatus,\n type FrontOfLensFilterSpectralSample,\n type FrontOfLensFilterTransmissionModel,\n type FrontOfLensFilterUncertainty,\n type LinearPolarizationState,\n type ResolveFrontOfLensFilterTransmissionInput,\n type ResolvedFrontOfLensFilterTransmission\n} from \"./optics/front-of-lens-filter.js\";\n\nexport {\n calculateIlluminationVignetting,\n type CalculateIlluminationVignettingInput,\n type IlluminationVignetting,\n type IlluminationVignettingCoefficients,\n type IlluminationVignettingProfile\n} from \"./optics/illumination-vignetting.js\";\n\nexport {\n SCENE_TO_SENSOR_IRRADIANCE_PROFILE_SCHEMA_VERSION,\n calculateSceneRadianceToSensorIrradiance,\n parseSceneToSensorIrradianceProfile,\n type CalculateSceneRadianceToSensorIrradianceInput,\n type NumericRange,\n type OpticalBridgeFieldThroughput,\n type OpticalBridgeFocusApplicability,\n type OpticalBridgeFocusContext,\n type OpticalBridgeScientificStatus,\n type OpticalBridgeUncertainty,\n type OpticalTransmissionModel,\n type SceneToSensorIrradianceProfile,\n type SceneToSensorIrradianceResult,\n type SpectralTransmissionSample\n} from \"./optics/scene-to-sensor-irradiance.js\";\n\nexport {\n LENS_SAMPLED_PSF_PROFILE_SCHEMA_VERSION,\n LENS_MTF_DIAGNOSTIC_PROFILE_SCHEMA_VERSION,\n assessMtfOnlyPsfRenderability,\n parseLensMtfDiagnosticProfile,\n parseLensSampledPsfProfile,\n resolveLensSampledPsf,\n type LensMtfDiagnosticProfile,\n type LensMtfDiagnosticSample,\n type LensPsfGridAxes,\n type LensPsfKernel,\n type LensPsfScientificStatus,\n type LensPsfUncertainty,\n type LensSampledPsfGridCoordinate,\n type LensSampledPsfGridNode,\n type LensSampledPsfInterpolation,\n type LensSampledPsfProfile,\n type MtfOnlyPsfRenderabilityAssessment,\n type ResolveLensSampledPsfInput,\n type ResolvedLensSampledPsf\n} from \"./optics/lens-psf-profile.js\";\n\nexport {\n LENS_COMPLEX_PUPIL_PROFILE_SCHEMA_VERSION,\n calculateLensComplexPupilPsf,\n parseLensComplexPupilProfile,\n type CalculateLensComplexPupilPsfInput,\n type LensComplexPupilGrid,\n type LensComplexPupilProfile,\n type LensComplexPupilPsf,\n type LensComplexPupilPsfSampling\n} from \"./optics/complex-pupil-psf.js\";\n\nexport {\n PSF_FOUNDATION_VERSION,\n calculatePsfFoundationComponents,\n getPsfFoundationContract,\n type CalculatePsfFoundationComponentsInput,\n type PsfContributionContract,\n type PsfContributionId,\n type PsfContributionStatus,\n type PsfFoundationComponents,\n type PsfFoundationContract\n} from \"./optics/psf-foundation.js\";\n\nexport type {\n CameraConfiguration,\n CameraSupport,\n ExposureConfiguration,\n FocusConfiguration,\n LensConfiguration,\n SensorConfiguration,\n StabilizationConfiguration\n} from \"./schema/camera.js\";\n\nexport type {\n SceneCapability,\n SceneDefinition,\n SceneMotion,\n SceneObject,\n SceneRadiometry,\n Vector3\n} from \"./schema/scene.js\";\n\nexport {\n SCENE_ILLUMINATION_PROFILE_SCHEMA_VERSION,\n parseSceneIlluminationProfile,\n type SceneIlluminationMagnitude,\n type SceneIlluminationProfile,\n type SceneIlluminationRelativeSpectrumSample,\n type SceneIlluminationScientificStatus,\n type SceneIlluminationSource,\n type SceneIlluminationSourceFamily,\n type SceneIlluminationSourceGeometry,\n type SceneIlluminationSpectrum,\n type SceneIlluminationUncertainty\n} from \"./schema/illumination.js\";\n\nexport {\n createSceneIlluminationSpectralCoverageParticipant,\n resolveSceneIlluminationDiscreteLineMeasure,\n type CreateSceneIlluminationSpectralCoverageParticipantInput,\n type SceneIlluminationDiscreteLineMeasure\n} from \"./schema/illumination-spectral.js\";\n\nexport {\n SCENE_ILLUMINATION_TEMPORAL_PROFILE_SCHEMA_VERSION,\n evaluateSceneIlluminationTemporalMultiplier,\n integrateSceneIlluminationTemporalMultiplierOverExposureWindow,\n parseSceneIlluminationTemporalProfile,\n type EvaluateSceneIlluminationTemporalMultiplierInput,\n type IntegrateSceneIlluminationTemporalMultiplierInput,\n type SceneIlluminationTemporalExposureIntegration,\n type SceneIlluminationTemporalIntegrationNode,\n type SceneIlluminationTemporalMultiplierEvaluation,\n type SceneIlluminationTemporalProfile,\n type SceneIlluminationTemporalRegistrationUncertainty,\n type SceneIlluminationTemporalScientificStatus,\n type SceneIlluminationTemporalSourceBinding,\n type SceneIlluminationTemporalWaveform,\n type SceneIlluminationTemporalWaveformSample\n} from \"./schema/illumination-temporal.js\";\n\nexport {\n SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION,\n createSceneRadianceTemporalSamplingPlan,\n reduceSceneRadianceTemporalSamples,\n type CreateSceneRadianceTemporalSamplingPlanInput,\n type ReducedSceneRadianceTemporalExposure,\n type ReduceSceneRadianceTemporalSamplesInput,\n type SceneRadianceTemporalEvaluatedSample,\n type SceneRadianceTemporalQuery,\n type SceneRadianceTemporalSamplingNode,\n type SceneRadianceTemporalSamplingPlan\n} from \"./schema/scene-radiance-temporal.js\";\n\nexport {\n SCENE_MATERIAL_RESPONSE_PROFILE_SCHEMA_VERSION,\n SCENE_RADIANCE_EVALUATION_SCHEMA_VERSION,\n SCENE_RADIANCE_PROVIDER_PROFILE_SCHEMA_VERSION,\n assessSceneMaterialResponseFidelity,\n parseSceneMaterialResponseProfile,\n parseSceneRadianceEvaluationRequest,\n parseSceneRadianceEvaluationResult,\n parseSceneRadianceProviderProfile,\n validateSceneRadianceEvaluationBindings,\n type SceneMaterialResponseDefinition,\n type SceneMaterialResponseFidelity,\n type SceneMaterialResponseProfile,\n type SceneMaterialResponseRepresentation,\n type SceneRadianceDataArtifactReference,\n type SceneRadianceEvaluationBindingAssessment,\n type SceneRadianceEvaluationRequest,\n type SceneRadianceEvaluationResult,\n type SceneRadianceEvaluationTarget,\n type SceneRadianceProviderProfile,\n type SceneRadianceProviderSpectralFidelity,\n type SceneRadianceProviderTransportFidelity,\n type SceneRadianceProviderVisibilityFidelity,\n type SceneRadianceScientificStatus,\n type SceneRadianceUncertainty,\n type ValidateSceneRadianceEvaluationBindingsInput\n} from \"./schema/scene-radiance.js\";\n\nexport {\n calculateCaptureExtendedObjectTemporalProjection,\n calculateExtendedObjectProjectionTrajectory,\n type CalculateCaptureExtendedObjectTemporalProjectionInput,\n type CalculateExtendedObjectProjectionTrajectoryInput,\n type CaptureExtendedObjectMetricPoint,\n type CaptureExtendedObjectPointTrajectory,\n type CaptureExtendedObjectTemporalNode,\n type CaptureExtendedObjectTemporalProjection,\n type ExtendedObjectFrontoparallelPlaneDeclaration,\n type ExtendedObjectMetricPoint,\n type ExtendedObjectPlanarMagnificationDiagnostic,\n type ExtendedObjectPointProjectionTrajectory,\n type ExtendedObjectProjectionNode,\n type ExtendedObjectProjectionTrajectory\n} from \"./motion/extended-object-projection.js\";\n\nexport {\n calculateProjectedMotionBlur,\n type CalculateProjectedMotionBlurInput,\n type ProjectedMotionBlur\n} from \"./motion/projected-motion.js\";\n\nexport {\n calculateCameraRotationImageMapping,\n calculateInverseCameraRotationImageMapping,\n type AxisSamplingPitchMicrometers,\n type CalculateCameraRotationImageMappingInput,\n type CalculateInverseCameraRotationImageMappingInput,\n type CameraAngularVelocityRadPerSec,\n type CameraRotationImageMapping,\n type ImagePlanePointMm,\n type InverseCameraRotationImageMapping\n} from \"./motion/camera-rotation.js\";\n\nexport {\n calculateCaptureRotationTrajectories,\n type CalculateCaptureRotationTrajectoriesInput,\n type CaptureRotationTrajectories,\n type CaptureRotationTrajectoryEndpoint,\n type CaptureRotationTrajectorySample\n} from \"./motion/capture-rotation-trajectory.js\";\n\nexport {\n calculateCaptureRotationInverseMappings,\n type CalculateCaptureRotationInverseMappingsInput,\n type CaptureRotationInverseMappings,\n type CaptureRotationInverseMappingSample\n} from \"./motion/capture-rotation-inverse-mapping.js\";\n\nexport {\n calculateCaptureTranslationParallaxTemporalQuadrature,\n type CalculateCaptureTranslationParallaxTemporalQuadratureInput,\n type CaptureTranslationParallaxSceneSample,\n type CaptureTranslationParallaxTemporalNode,\n type CaptureTranslationParallaxTemporalQuadrature,\n type CaptureTranslationParallaxTemporalSample\n} from \"./motion/capture-translation-parallax-temporal-quadrature.js\";\n\nexport {\n calculateCaptureRotationTemporalQuadrature,\n type CalculateCaptureRotationTemporalQuadratureInput,\n type CaptureRotationTemporalQuadrature,\n type CaptureRotationTemporalQuadratureNode,\n type CaptureRotationTemporalQuadraturePoint\n} from \"./motion/capture-rotation-temporal-quadrature.js\";\n\nexport {\n FLASH_SYNC_CAPABILITY_SCHEMA_VERSION,\n MANUAL_FLASH_PROFILE_SCHEMA_VERSION,\n FLASH_SYNC_CAPABILITY_HSS_SCHEMA_VERSION,\n HIGH_SPEED_SYNC_MODEL,\n createHighSpeedSyncIlluminationOverlay,\n createManualFlashIlluminationOverlay,\n parseFlashSyncCapabilityProfile,\n parseManualFlashProfile,\n resolveHighSpeedFlashSync,\n resolveManualFlashSync,\n type FlashOverlaySyncRegistration,\n type ResolveHighSpeedFlashSyncInput,\n type ResolvedHighSpeedFlashSync,\n type CreateManualFlashIlluminationOverlayInput,\n type FlashSyncCapabilityProfile,\n type ManualFlashIlluminationOverlay,\n type ManualFlashProfile,\n type ManualFlashPulseProfile,\n type ManualFlashSyncMode,\n type RequestedFlashSyncMode,\n type ResolveManualFlashSyncInput,\n type ResolvedManualFlashSync\n} from \"./exposure/flash.js\";\n\nexport {\n TTL_FLASH_MODEL,\n createTtlScaledFlashProfile,\n calculateFlashGuideNumber,\n calculateFlashPowerForDistance,\n resolveTtlFlashExposure,\n type FlashGuideNumberInput,\n type FlashPowerForDistance,\n type FlashPowerForDistanceInput,\n type ResolveTtlFlashExposureInput,\n type TtlFlashExposure\n} from \"./exposure/flash-ttl.js\";\n\nexport {\n calculateEquivalentIso,\n calculateExposureValue100,\n calculateRelativeOpticalExposure,\n calculateRelativeRenderedExposure,\n type CalculateEquivalentIsoInput,\n type CalculateExposureValue100Input,\n type CalculateRelativeOpticalExposureInput,\n type CalculateRelativeRenderedExposureInput,\n type RelativeOpticalExposure,\n type RelativeRenderedExposure\n} from \"./exposure/exposure.js\";\n\nexport {\n EXPOSURE_DURATION_CONTROL_VERSION,\n bindResolvedExposureDurationToCaptureExposureInput,\n resolveExposureDurationControl,\n type BindResolvedExposureDurationToCaptureExposureInput,\n type ExposureDurationControl,\n type ExposureDurationControlResolution\n} from \"./exposure/exposure-duration-control.js\";\n\nexport {\n EXPOSURE_METERING_PROFILE_SCHEMA_VERSION,\n calculateHighlightPriorityPlacementSignal,\n meterRelativeExposure,\n parseExposureMeteringProfile,\n type HighlightPriorityMeteringDiagnostics,\n type ExposureMeteringPolicy,\n type ExposureMeteringProfile,\n type ExposureMeteringResult,\n type ExposureMeteringSampleSet,\n type ExposureMeteringZoneSample,\n type MeterRelativeExposureInput\n} from \"./exposure/metering.js\";\n\nexport {\n SCENE_RADIANCE_METERING_DERIVATION_SCHEMA_VERSION,\n createSceneRadianceDerivedExposureMeteringSampleSet,\n parseSceneRadianceMeteringDerivationProfile,\n type CreateSceneRadianceDerivedExposureMeteringSampleSetInput,\n type SceneRadianceDerivedExposureMeteringSampleSet,\n type SceneRadianceMeteringDerivationProfile,\n type SceneRadianceMeteringSourceContext,\n type SceneRadianceMeteringTemporalContext\n} from \"./exposure/metering-scene-radiance.js\";\n\nexport {\n meterSceneRadianceTemporalExposure,\n type MeterSceneRadianceTemporalExposureInput,\n type SceneRadianceTemporalExposureMeteringResult,\n type SceneRadianceTemporalMeteringSample\n} from \"./exposure/metering-temporal.js\";\n\nexport {\n EXPOSURE_METER_TARGET_SCHEMA_VERSION,\n createExposureMeterTargetFromMeteringResult,\n setExposureCompensationOnMeterTarget,\n type CreateExposureMeterTargetInput,\n type ExposureMeterSnapshotIdentity,\n type ExposureMeterTarget,\n type ExposureMeterTargetSourceKind,\n type ExposureMeterTargetSourceResult,\n type SetExposureCompensationOnMeterTargetInput\n} from \"./exposure/metering-target.js\";\n\nexport {\n ISO_CAPABILITY_PROFILE_SCHEMA_VERSION,\n bindIsoCapabilityToExposureCapabilities,\n parseIsoCapabilityProfile,\n resolveIsoCapability,\n type BindIsoCapabilityToExposureCapabilitiesInput,\n type BoundIsoExposureCapabilities,\n type IsoAutoIsoCapability,\n type IsoCapabilityAvailability,\n type IsoCapabilityProfile,\n type IsoCaptureModePolicy,\n type IsoExpandedSetting,\n type IsoExposureIndexRange,\n type IsoStandardSettingGrid,\n type RequestedIsoSetting,\n type ResolveIsoCapabilityInput,\n type ResolvedIsoCapability\n} from \"./equipment/iso-capabilities.js\";\n\nexport {\n GENERIC_EQUIPMENT_EXPOSURE_CAPABILITY_SCHEMA_VERSION,\n parseGenericBodyExposureCapabilityProfile,\n parseGenericLensExposureCapabilityProfile,\n resolveGenericEquipmentExposureCapabilities,\n type FocalLengthFNumberSample,\n type GenericBodyExposureCapabilityProfile,\n type GenericCapabilityAvailability,\n type GenericLensExposureCapabilityProfile,\n type NumericCapabilityRange,\n type NumericSettingGrid,\n type ResolveGenericEquipmentExposureCapabilitiesInput,\n type ResolvedGenericEquipmentExposureCapabilities,\n type ResolvedNumericSettingGrid,\n type WidestAvailableFNumberCapability\n} from \"./equipment/exposure-capabilities.js\";\n\nexport {\n GENERIC_RELEASE_CAPABILITY_SCHEMA_VERSION,\n parseGenericReleaseCapabilityProfile,\n type GenericExposureBracketAxis,\n type GenericReleaseCapabilityProfile,\n type GenericReleaseDriveMode\n} from \"./equipment/release-capabilities.js\";\n\nexport {\n FOCUS_CONTROL_PROFILE_SCHEMA_VERSION,\n FOCUS_CONTROL_STATE_VERSION,\n assessFocusReleaseGate,\n createFocusControlState,\n parseFocusControlProfile,\n resolveFocusTargetObservation,\n setFocusLock,\n setManualFocusState,\n type AssessFocusReleaseGateInput,\n type CreateFocusControlStateInput,\n type FocusAcquisitionState,\n type FocusControlMode,\n type FocusControlProfile,\n type FocusControlState,\n type FocusReleaseGateAssessment,\n type FocusReleasePriority,\n type FocusTargetControlEvent,\n type FocusTargetLossReason,\n type FocusTargetObservation,\n type FocusTargetResolution,\n type ResolveFocusTargetObservationInput,\n type SetFocusLockInput,\n type SetManualFocusStateInput\n} from \"./capture/focus-control.js\";\n\nexport {\n RELEASE_SEQUENCE_VERSION,\n createCancelledReleaseSequence,\n resolveReleaseSequence,\n type CancelledReleaseSequence,\n type CancelReleaseSequenceInput,\n type ReleaseAutomationState,\n type ReleaseBaseCaptureState,\n type ReleaseBracketPolicy,\n type ReleaseDrivePolicy,\n type ReleaseTimingConstraint,\n type ResolveReleaseSequenceInput,\n type ResolvedReleaseFrame,\n type ResolvedReleaseSequence\n} from \"./capture/release-sequence.js\";\n\nexport {\n VIDEO_FRAME_SEED_STREAM_ID,\n VIDEO_FRAME_SEQUENCE_MAXIMUM_FRAMES,\n VIDEO_FRAME_SEQUENCE_VERSION,\n assessShutterAngleRule,\n calculateShutterAngleExposureSeconds,\n calculateShutterAngleFromExposureSeconds,\n resolveVideoFrameSequence,\n type ResolveVideoFrameSequenceInput,\n type ShutterAngleRuleAssessment,\n type VideoFrameSequence\n} from \"./motion/video-sequence.js\";\n\nexport {\n GENERIC_BODY_METERING_CAPABILITY_SCHEMA_VERSION,\n assessExposureMeteringProfileCompatibility,\n parseGenericBodyMeteringCapabilityProfile,\n type AssessExposureMeteringProfileCompatibilityInput,\n type GenericBodyMeteringCapabilityProfile,\n type GenericSupportedMeteringProfile,\n type MeteringCapabilityCompatibilityAssessment,\n type MeteringCapabilityCompatibilityBlocker\n} from \"./equipment/metering-capabilities.js\";\n\nexport {\n EXPOSURE_PROGRAM_LINE_SCHEMA_VERSION,\n parseExposureProgramLineProfile,\n type ExposureProgramLineNode,\n type ExposureProgramLineProfile\n} from \"./exposure/program-line.js\";\n\nexport {\n EXPOSURE_MODE_RESOLVER_VERSION,\n resolveAperturePriorityAutoIsoExposureMode,\n resolveAperturePriorityExposureMode,\n resolveFullAutoExposureMode,\n resolveManualExposureMode,\n resolveProgramAutoExposureMode,\n resolveShutterPriorityExposureMode,\n type AperturePriorityAutoIsoExposureModeResolution,\n type AperturePriorityAutoIsoPolicy,\n type AperturePriorityExposureModeResolution,\n type AutoIsoBaselinePolicy,\n type ExposureResolutionConstraint,\n type ExposureTargetResidual,\n type ExposureTargetResidualState,\n type FullAutoExposureModeResolution,\n type FullAutoExposurePolicy,\n type ManualExposureModeResolution,\n type ManualIsoControl,\n type ProgramAutoExposureModeResolution,\n type ProgramAutoIsoControl,\n type ProgramLineSelectionDiagnostics,\n type RelativeExposureControlAnchor,\n type ResolveAperturePriorityAutoIsoExposureModeInput,\n type ResolveAperturePriorityExposureModeInput,\n type ResolveFullAutoExposureModeInput,\n type ResolveManualExposureModeInput,\n type ResolveProgramAutoExposureModeInput,\n type ResolveShutterPriorityExposureModeInput,\n type ShutterPriorityAutoIsoPolicy,\n type ShutterPriorityExposureModeResolution\n} from \"./exposure/exposure-mode-resolver.js\";\n\nexport {\n STABILIZATION_DISTURBANCE_TRAJECTORY_VERSION,\n STABILIZATION_SYSTEM_PROFILE_SCHEMA_VERSION,\n calculateStabilizedCaptureTemporalSamples,\n calculateStabilizedRotationTrajectory,\n parseStabilizationDisturbanceTrajectory,\n parseStabilizationSystemProfile,\n type CalculateStabilizedCaptureTemporalSamplesInput,\n type CalculateStabilizedRotationTrajectoryInput,\n type PhysicalStabilizationArchitecture,\n type StabilizationAngularStateRad,\n type StabilizationAxisResolution,\n type StabilizationAxisResponseProfile,\n type StabilizationCaptureKind,\n type StabilizationCoordinatedAllocation,\n type StabilizationDisturbanceSample,\n type StabilizationDisturbanceTrajectory,\n type StabilizationPanningPolicy,\n type StabilizationRotationAxis,\n type StabilizationSystemProfile,\n type StabilizedCaptureTemporalNode,\n type StabilizedCaptureTemporalPoint,\n type StabilizedCaptureTemporalSamples,\n type StabilizedRotationSample,\n type StabilizedRotationTrajectory\n} from \"./stabilization/system.js\";\n\nexport {\n estimateCameraShakeBlur,\n type CameraShakeBlurSample,\n type CameraShakeEstimate,\n type EstimateCameraShakeBlurInput\n} from \"./stabilization/camera-shake.js\";\n\nexport {\n calculatePhotoelectrons,\n calculateSignalToNoise,\n type CalculatePhotoelectronsInput,\n type CalculateSignalToNoiseInput,\n type SignalToNoise\n} from \"./sensor/signal-noise.js\";\n\nexport {\n assessRadiometryReadiness,\n parseRadiometryReadinessProfile,\n type CalibrationArtifactReference,\n type ExposureIntegrationRequirement,\n type OpticalTransmissionRequirement,\n type PhotositeCollectionAreaRequirement,\n type PupilVignettingRequirement,\n type RadiometryReadinessAssessment,\n type RadiometryReadinessProfile,\n type RadiometryRequirement,\n type RadiometryRequirementId,\n type RadiometryScientificStatus,\n type RadiometryUncertaintyDeclaration,\n type SceneSpectralRadianceRequirement,\n type SensorResponseRequirement\n} from \"./sensor/radiometry-readiness.js\";\n\nexport {\n POC_SIMULATION_API_VERSION,\n simulatePocCamera,\n type PocSimulationRequest,\n type PocSimulationResponse\n} from \"./simulation/poc-simulation.js\";\n\nexport {\n InvalidConfigurationError,\n parseCameraConfiguration,\n parseSceneDefinition\n} from \"./schema/validation.js\";\n\nexport { calculateSensorEqeLocalExposure, type CalculateSensorEqeLocalExposureInput,\n type SensorEqeLocalExposure } from \"./sensor/eqe-local-exposure.js\";\n\nexport { calculateSceneToSensorIrradianceQuadrature, type CalculateSceneToSensorIrradianceQuadratureInput,\n type SceneSensorQuadratureSample, type SceneToSensorIrradianceQuadrature } from \"./optics/scene-to-sensor-quadrature.js\";\n\nexport { calculateSceneSensorEqeTemporalExposure, type CalculateSceneSensorEqeTemporalExposureInput,\n type SceneSensorEqeTemporalExposure } from \"./sensor/scene-eqe-temporal-exposure.js\";\nexport { calculateSensorPsfIrradianceQuadrature, type CalculateSensorPsfIrradianceQuadratureInput,\n type SensorPsfSourceSample, type SensorPsfIrradianceQuadrature } from \"./optics/sensor-psf-quadrature.js\";\nexport { calculateSensorEnvironmentRadianceQuery, type CalculateSensorEnvironmentRadianceQueryInput,\n type EnvironmentLensFieldMapping, type SensorEnvironmentLensFieldMappingResult,\n type SensorEnvironmentRadianceQuery } from \"./optics/sensor-environment-query.js\";\nexport { calculateSensorEqeTemporalExposure, type CalculateSensorEqeTemporalExposureInput,\n type SensorEqeTemporalExposure } from \"./sensor/eqe-temporal-exposure.js\";\n\nexport { createSensorEqeTemporalPhotoSignal, parseSensorEqeTemporalPhotoSignal,\n type SensorEqeTemporalPhotoSignal, type SensorEqePhotoExposure } from \"./sensor/temporal-photo-signal.js\";\n\nexport type { SensorTemporalDarkCurrentCharge, SensorPhotoDarkCurrentCharge } from \"./sensor/dark-current.js\";\n\nexport { calculateEnvironmentSensorPhotoSignal, type CalculateEnvironmentSensorPhotoSignalInput,\n type EnvironmentSensorPhotoSignal, type EnvironmentRadianceEvaluator, type EnvironmentApertureRadianceEvaluator } from \"./sensor/environment-photo-signal.js\";\nexport { simulateEnvironmentSensorRawFrame, type SimulateEnvironmentSensorRawFrameInput,\n type EnvironmentSensorRawFrame } from \"./capture/environment-raw-producer.js\";\n\nexport { calculateProcessedSensorRaw, parseProcessedSensorRawInput, type ProcessedSensorRawInput,\n type ProcessedSensorRawResult } from \"./capture/photographic-export.js\";\nexport { calculatePrintPlan, calculatePrintSizeLimit, parsePrintPlanInput } from \"./output/print-plan.js\";\nexport type { PrintLength, PrintedImageSize, PrintSamplingCriterion, PrintNativeSource, PrintProviderConstraints, PrintPlanInput, PrintRasterSampling, PrintPlan, PrintSizeLimitInput, PrintSizeLimit } from \"./output/print-plan.js\";\nexport { PRINT_REGION_DETAIL_MODEL_VERSION, MAX_PRINT_DETAIL_REGION_SAMPLES, calculatePrintRegionDetail, parsePrintRegionDetailInput } from \"./output/print-detail.js\";\nexport type { PrintDetailSource, PrintDetailRegion, PrintSinusoidalTarget, PrintRegionDetailInput, PrintSinusoidalMeasurement, PrintRegionDetailAssessment } from \"./output/print-detail.js\";\nexport { PRINT_REGION_STATISTICS_MODEL_VERSION, MAX_PRINT_REGION_STATISTICS_SAMPLES,\n calculatePrintRegionDifference, calculatePrintRegionNoise, parsePrintRegionDifferenceInput, parsePrintRegionNoiseInput } from \"./output/print-region-statistics.js\";\nexport type { PrintRegionRaster, PrintRegionDifferenceInput, PrintRegionNoiseInput, PrintRegionDifferenceMeasurement,\n PrintRegionNoiseMeasurement, PrintRegionStatisticsAssessment } from \"./output/print-region-statistics.js\";\nexport { PRINT_CONTRAST_REFERENCE_MODEL_VERSION, PRINT_CONTRAST_REFERENCE_UPSTREAM_REVISION,\n calculatePrintContrastReference, parsePrintContrastReferenceInput } from \"./output/print-contrast-reference.js\";\nexport type { PrintContrastReferenceInput, PrintContrastReference } from \"./output/print-contrast-reference.js\";\nexport { NATIVE_RAW_SCHEMA_VERSION, NATIVE_RAW_LIMITS, calculateNativeRawPlan, createNativeRawTask } from \"./capture/native-raw.js\";\nexport { PRINT_JPEG_SCHEMA_VERSION, parsePrintJpegInput, createPrintJpegTask } from \"./output/print-jpeg.js\";\nexport type { PrintJpegSource, PrintJpegInput, PrintJpegTileRequest, PrintJpegTile, PrintJpegProvider, PrintJpegOutput, PrintJpegTask } from \"./output/print-jpeg.js\";\nexport { SRGB_ICC_PROFILE_VERSION, createSrgbIccProfile } from \"./color/srgb-icc.js\";\nexport { createNativeEnvironmentRawTask, createNativeEnvironmentSensorStageTask, calculateNativeRawRowBands, createNativeEnvironmentRawPartitionTask,\n composeNativeEnvironmentRawPartitions } from \"./capture/native-environment-raw.js\";\nexport type { NativeEnvironmentRawInput, NativeEnvironmentRawTile, NativeEnvironmentPhotoTile, NativeEnvironmentRawProvider, NativeEnvironmentRawOutput,\n NativeEnvironmentRawTask, NativeRawRowBand, NativeEnvironmentRawPartition, NativeEnvironmentRawPartitionTask, NativeEnvironmentRadianceQuery } from \"./capture/native-environment-raw.js\";\nexport { NATIVE_ENVIRONMENT_OPTICAL_STAGE_LIMITS } from \"./capture/native-environment-optical-stage.js\";\nexport type { NativeEnvironmentOpticalStage, NativeEnvironmentOpticalStageRetention, NativeEnvironmentSensorStageInput,\n NativeEnvironmentSensorStageProvider } from \"./capture/native-environment-optical-stage.js\";\nexport { createNativeRawDevelopmentTask } from \"./capture/native-raw-development.js\";\nexport type { NativeRawDevelopmentInput, NativeRawDevelopmentOutput, NativeRawDevelopmentProvider, NativeRawDevelopmentTask,\n RawHighlightDiagnostics } from \"./capture/native-raw-development.js\";\nexport type { NativeRawExposureInput, NativeRawExposure, NativeRawInput, NativeRawPlan, NativeRawTileRequest, NativeRawTile,\n NativeRawProvider, NativeRawOutput, NativeRawTaskState, NativeRawTask } from \"./capture/native-raw.js\";\nexport { NATIVE_CAPTURE_SDR_SCHEMA_VERSION, NATIVE_CAPTURE_SDR_LIMITS, calculateNativeCaptureSdrPlan, createNativeCaptureSdrTask } from \"./output/native-capture-sdr.js\";\nexport type { NativeCaptureSdrInput, NativeCaptureSdrTileRequest, NativeCaptureSdrTile, NativeCaptureSdrProvider, NativeCaptureSdrPlan,\n NativeCaptureSdrOutput, NativeCaptureSdrTaskState, NativeCaptureSdrTask, NativeTaskProgress } from \"./output/native-capture-sdr.js\";\n\nexport { IRRADIANCE_CONVOLUTION_SCHEMA_VERSION, IRRADIANCE_CONVOLUTION_LIMITS, calculateIrradianceConvolutionPlan, calculateIrradianceConvolution } from \"./optics/irradiance-convolution.js\";\nexport type { IrradianceConvolutionInput, IrradianceConvolutionPlan } from \"./optics/irradiance-convolution.js\";\nexport { LENS_PSF_CONVOLUTION_KERNELS_SCHEMA_VERSION, LENS_PSF_CONVOLUTION_KERNELS_MAXIMUM_WAVELENGTHS, resolveLensPsfConvolutionKernels } from \"./optics/lens-psf-kernels.js\";\nexport type { LensPsfConvolutionKernelsInput, LensPsfConvolutionKernels } from \"./optics/lens-psf-kernels.js\";\nexport { DIFFRACTION_LIMITED_PSF_PROFILE_MODEL, DIFFRACTION_LIMITED_PSF_PROFILE_LIMITS, createDiffractionLimitedPsfProfile } from \"./optics/diffraction-psf-profile.js\";\nexport type { CreateDiffractionLimitedPsfProfileInput, DiffractionLimitedPsfProfile, DiffractionLimitedPsfWavelength } from \"./optics/diffraction-psf-profile.js\";\nexport { PACKED_SENSOR_RAW_SCHEMA_VERSION, PACKED_SENSOR_RAW_LIMITS, calculatePackedSensorRawPlan, simulatePackedSensorRaw } from \"./capture/packed-sensor-raw.js\";\nexport type { PackedSensorRawInput, PackedSensorRawPlan, PackedSensorRawDiagnostics, PackedSensorRawResult, PackedSensorFixedPatternNoise,\n PackedSensorAdditionalChargeComponent } from \"./capture/packed-sensor-raw.js\";\nexport { TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION, TEMPORAL_EXPOSURE_SUM_LIMITS, calculateTemporalExposureSumPlan, calculateTemporalExposureSum } from \"./motion/temporal-exposure-sum.js\";\nexport type { TemporalExposureSumInput, TemporalExposureSumNode, TemporalExposureSumPlan } from \"./motion/temporal-exposure-sum.js\";\nexport { ImageKernelExecutionError, WEBGPU_F32_UNIT_ROUNDOFF, WEBGPU_F32_TRANSFER_ABSOLUTE_BOUND, composeRelativeErrorBounds } from \"./gpu/image-kernel-execution.js\";\nexport type { ImageKernelBackend, ImageKernelFallbackReason, ImageKernelFailureReason, ImageKernelExecution, ImageKernelCodeErrorBound,\n ImageKernelRelativeErrorBound, ImageKernelSeededRealizationBound } from \"./gpu/image-kernel-execution.js\";\nexport { createImageKernelAccelerator } from \"./gpu/image-kernel-accelerator.js\";\nexport type { ImageKernelAccelerator, ImageKernelAcceleratorOptions, ImageKernelAcceleratorState, ImageKernelRunOptions,\n AcceleratedNativeCaptureSdrOutput, AcceleratedNativeRawDevelopmentOutput, IrradianceConvolutionResult, AcceleratedPackedSensorRawResult,\n TemporalExposureSumResult, ChartRadianceResult } from \"./gpu/image-kernel-accelerator.js\";\nexport { BUILT_IN_BAYER_DEMOSAIC_MODEL_VERSION, createBuiltInBayerDemosaicProfiles, type BuiltInBayerDemosaicKernel, type BuiltInBayerDemosaicProfiles,\n type CreateBuiltInBayerDemosaicProfilesInput, type RawReconstructionBorderHandling } from \"./sensor/raw-reconstruction.js\";\nexport { PROCESSING_MAX_PIXELS, PROCESSING_MAX_FRAMES, PROCESSING_DEFAULT_MAXIMUM_WORKING_BYTES, PROCESSING_MODEL_VERSION,\n type ProcessingProvider, type ProcessingTask, type ProcessingTaskState, type ProcessingRgbImage, type ProcessingLinearColorSpace,\n type ProcessingProvenance } from \"./processing/processing-task.js\";\nexport { createCfaPlaneReconstructionTask, createAhdDemosaicTask, type CfaMosaicPlane, type CfaPlaneReconstructionInput,\n type CfaPlaneReconstructionOutput, type AhdDemosaicInput, type AhdDemosaicOutput } from \"./processing/demosaic.js\";\nexport { createHdrBracketMergeTask, createHdrImageEncodingTask, type HdrBracketFrame, type HdrBracketMergeInput, type HdrBracketMergeOutput,\n type HdrTransfer, type HdrImageEncodingInput, type HdrImageEncodingOutput } from \"./processing/hdr.js\";\nexport { createReinhardGlobalToneMappingTask, createDurandDorseyToneMappingTask, createExposureFusionTask, type ToneMappedImage,\n type ReinhardGlobalToneMappingInput, type ReinhardGlobalToneMappingOutput, type DurandDorseyToneMappingInput, type DurandDorseyToneMappingOutput,\n type ExposureFusionInput, type ExposureFusionOutput } from \"./processing/tone-mapping.js\";\nexport { createFocusStackTask, type FocusStackInput, type FocusStackOutput } from \"./processing/focus-stacking.js\";\nexport { createPanoramaTask, type PanoramaFrame, type PanoramaCanvas, type PanoramaInput, type PanoramaOutput } from \"./processing/panorama.js\";\nexport { SYNTHETIC_FILM_GRAIN_STREAM_ID, createBilateralFilterTask, createNonLocalMeansTask, createUnsharpMaskTask, createSyntheticFilmGrainTask,\n type ProcessedRgbImage, type BilateralFilterInput, type NonLocalMeansInput, type UnsharpMaskInput, type SyntheticFilmGrainInput,\n type SyntheticFilmGrainOutput } from \"./processing/denoise.js\";\n\nexport { calculateSensorApertureRays, type CalculateSensorApertureRaysInput, type IdealCircularPupil, type SensorApertureRay, type SensorApertureRays } from \"./optics/sensor-aperture-rays.js\";\n\nexport { SIMULATE_CAPTURE_FACADE_VERSION, SIMULATE_CAPTURE_DEFAULT_ILLUMINANCE_LUX, SIMULATE_CAPTURE_COST_OPTIONS, simulateCapture,\n type SimulateCaptureOptions, type SimulateCaptureResult, type SimulateCaptureAssumption, type SimulateCaptureProgress,\n type SimulateCaptureExposureMode, type SimulateCaptureOutputFormat, type SimulateCaptureWhiteBalance, type SimulateCaptureColorEncoding,\n type SimulateCaptureDemosaic, type SimulateCaptureBorderHandling, type SimulateCaptureLensDistortion, type SimulateCaptureMotion,\n type SimulateCaptureSensorAntiAliasing, type SimulateCaptureCostOption } from \"./facade/simulate-capture.js\";\nexport { CHART_SCENE_PRESETS, CHART_SCENE_DEFAULTS, CHART_SPECTRAL_RANGE_NANOMETERS, resolveChartScene, calculateStepWedgeReflectances,\n calculatePointGridCenters, type ChartScene, type ChartScenePresetId, type ChartReflectance, type ResolvedChartScene, type UniformChartScene,\n type SlantedEdgeChartScene, type SiemensStarChartScene, type StepWedgeChartScene, type GreyRampChartScene, type CheckerboardChartScene,\n type PointGridChartScene, type PatchChartScene } from \"./facade/chart-scenes.js\";\nexport { PHOTOPIC_MAXIMUM_LUMINOUS_EFFICACY_LM_PER_W, resolveCaptureIlluminant, createPlanarSceneRadianceProvider,\n type CaptureIlluminant, type ResolvedCaptureIlluminant, type CallerReflectanceScene, type CallerRadianceScene, type ScenePlanePoint,\n type PlanarSceneRadianceProvider } from \"./facade/scene-radiance.js\";\nexport { CHART_RADIANCE_BATCH_SCHEMA_VERSION, CHART_RADIANCE_BATCH_LIMITS, calculateChartRadianceBatchPlan, calculateChartRadianceBatch,\n mapEnvironmentDirectionsToChartPoints, type ChartRadianceBatchInput, type ChartRadianceBatchPlan } from \"./facade/chart-radiance-batch.js\";\nexport { EXPORT_JPEG_ENCODER_ID } from \"./capture/export-jpeg.js\";\nexport { DNG_IMPORT_SCHEMA_VERSION, DNG_IMPORT_LIMITS, parseDngRawImage } from \"./capture/dng-import.js\";\nexport { NATIVE_RAW_DNG_SCHEMA_VERSION, serializeNativeRawDng, type SerializeNativeRawDngInput, type NativeRawDng, type NativeRawDngChannelNoise } from \"./capture/native-raw-dng.js\";\nexport type { DngImportInput, ImportedDngRaw, ImportedDngCfa, ImportedDngBlackLevel, ImportedDngRect } from \"./capture/dng-import.js\";\nexport { parseLosslessJpeg, type LosslessJpegImage, type LosslessJpegLimits } from \"./capture/lossless-jpeg.js\";\nexport { PNG_ENCODER_ID, PNG_ENCODER_LIMITS, serializePngImage } from \"./output/png-encoder.js\";\nexport type { PngEncodeInput, PngColourEncoding, PngCicpPrimaries, PngCicpTransfer, PngMasteringDisplay, PngContentLightLevel } from \"./output/png-encoder.js\";\n\ndeclare global {\n /**\n * Minimal global AbortSignal type. It lets the published declarations type-check with\n * `lib: [\"es2022\"]` and no DOM or `@types/node` types. (Task and yield callbacks receive a signal\n * the engine creates.) It merges cleanly with the DOM, WebWorker and Node declarations, which\n * declare the same `aborted` member.\n */\n interface AbortSignal {\n readonly aborted: boolean;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The package entry point: one browser-safe ES module that exports every public API.\n *\n * Import only from here. Deep imports into other files, the transport server and renderer\n * backends are not supported package APIs.\n * @see docs/DEVELOPERS.md for equations, coordinate/unit conventions, blockers and support limits.\n */\n\nexport { GENERIC_EQUIPMENT_TIER_PRESET_VERSION, GENERIC_EQUIPMENT_TIERS, resolveGenericEquipmentTierCatalog,\n createGenericEquipmentTierSelection, parseGenericEquipmentTierSelection, resolveGenericEquipmentTierLensProfiles,\n type GenericEquipmentTierProfileReference, type GenericEquipmentTierSelection, type ResolvedGenericTierLensProfiles } from \"./equipment/generic-tier-presets.js\";\nexport type { GenericEquipmentTier, GenericEquipmentTierPreset, GenericVersionedAsset, GenericTierBodyAssets, GenericTierLensAssets } from \"./equipment/generic-tier-assets.js\";\nexport { SENSOR_RAW_PRODUCER_SCHEMA_VERSION, SENSOR_RAW_PRODUCER_NOISE_MODEL, parseSensorRawProducerInput, simulateSensorRawFrame,\n type SensorRawProducerExposureWindowInput, type SensorRawProducerSiteInput, type SensorRawProducerInput, type SensorRawProducerResult } from \"./capture/sensor-raw-producer.js\";\nexport { CAPTURE_CORRECTED_SDR_SCHEMA_VERSION, parseCaptureCorrectedSdrInput, calculateCaptureCorrectedSdr,\n type CaptureCorrectedSdrInput, type CaptureCorrectedSdrResult } from \"./output/capture-corrected-sdr.js\";\nexport { PHOTOGRAPHIC_EXPORT_SCHEMA_VERSION, PHOTOGRAPHIC_EXPORT_PIPELINE_VERSION, PROCESSED_SENSOR_RAW_MODEL_VERSION, parseExportSensorColorProfile,\n parsePhotographicExportInput, createPhotographicExportPair, type ExportSensorColorProfile, type PhotographicExportInput,\n type PhotographicExportOptions, type PhotographicExportPair } from \"./capture/photographic-export.js\";\nexport { calculateEffectiveSaturationCode, type EffectiveSaturationReadout } from \"./capture/raw-white-level.js\";\nexport { RAW_HIGHLIGHT_RECONSTRUCTION_START, SENSOR_COLOR_DEVELOPMENT_MODEL, type RawHighlightMode } from \"./color/sensor-color-development.js\";\nexport { CAPTURE_EXPORT_METADATA_SCHEMA_VERSION, parseCaptureExportMetadataInput, createCaptureExportMetadataPair,\n type CaptureExportWorkflow, type CaptureExportArtifactIdentity, type CaptureExportMetadataInput,\n type CaptureExportSharedMetadata, type CaptureExportMetadataPair } from \"./capture/capture-export-metadata.js\";\nexport { CAPTURE_SDR_SCHEMA_VERSION, parseCaptureSdrInput, calculateCaptureSdr, type CaptureSdrInput, type CaptureSdrResult } from \"./output/capture-sdr.js\";\nexport { RAW_FRAME_RECONSTRUCTION_SCHEMA_VERSION, parseRawFrameReconstructionInput, resolveRawFrameReconstruction,\n type RawFrameReconstructionPhaseProfile, type RawFrameReconstructionInput, type RawFrameReconstruction } from \"./capture/raw-frame-reconstruction.js\";\nexport { SENSOR_RAW_FRAME_SCHEMA_VERSION, createSensorRawFrame, parseSensorRawFrameInput,\n type SensorRawFrameInput, type SensorRawFrame } from \"./capture/sensor-raw-frame.js\";\n\nexport {\n parseOpticalProfileState,\n type OpticalProfileState,\n type GenericOpticalEvidence\n} from \"./optics/profile-contract.js\";\nexport {\n parseLensStrayLightProfile,\n calculateLensStrayLightIrradiance,\n type LensStrayLightProfile,\n type ParametricStrayLightResponse,\n type StrayLightSource,\n type StrayLightIrradiance\n} from \"./optics/stray-light.js\";\nexport {\n parseDigitalGeometricTransform,\n prepareGeometricMapping,\n calculateComposedGeometricMapping,\n calculateForwardGeometricMapping,\n calculateGeometricSamplingPlan,\n calculateGeometricResampling,\n type DigitalGeometricTransform,\n type AffineGeometricTransform,\n type RadialGeometricTransform,\n type BrownConradyGeometricTransform,\n type ProjectionRemapGeometricTransform,\n type GeometricProjectionDeclaration,\n type GeometricJacobian,\n type GeometricImageDomain,\n type PreparedGeometricMapping,\n type GeometricRaster,\n type GeometricResampler,\n type GeometricMappingPoint,\n type GeometricSamplingPlan\n} from \"./output/geometric-transforms.js\";\nexport {\n parseGenericLensCorrectionProfile,\n resolveLensCorrectionPlan,\n calculatePeripheralIlluminationCorrection,\n calculateLensCorrectedCapture,\n type GenericLensCorrectionProfile,\n type LensCorrectionComponent,\n type LensCorrectionChannel,\n type GeometricLensCorrection,\n type LateralCaLensCorrection,\n type IlluminationLensCorrection,\n type ResolvedLensCorrectionPlan,\n type LensCorrectionCapture\n} from \"./output/lens-corrections.js\";\n\nexport {\n SIMULATED_CAPTURE_SCHEMA_VERSION,\n createSimulatedCapture,\n parseSimulatedCapture,\n serializeSimulatedCapture,\n resolveSimulatedCapturePlane,\n createCaptureWhiteBalanceIntent,\n type SimulatedCapture,\n type SimulatedCaptureInput,\n type CaptureExposureSource,\n type CaptureLinearImageState,\n type CaptureLinearPlane,\n type CaptureFloatStorage,\n type CapturePublicProfileReference,\n type CaptureWhiteXyz,\n type CaptureWhiteBalanceIntent\n} from \"./capture/simulated-capture.js\";\n\nexport {\n CAPTURE_COLOR_MODEL_VERSION,\n VIRTUAL_COLOR_CAMERA_PROFILE,\n LINEAR_CAPTURE_RGB_PROFILE,\n resolveCaptureColorModel,\n parseCaptureColorTransformInput,\n calculateCaptureColorTransform,\n type CaptureChromaticAdaptationTransform,\n type CaptureColorModel,\n type CaptureColorWhiteBalance,\n type CaptureColorTransformInput,\n type CaptureColorTransformResult\n} from \"./color/capture-color.js\";\n\nexport { ENGINE_API_VERSION } from \"./core/version.js\";\nexport { FULL_RESOLUTION_DEFAULT_PIXELS, FULL_RESOLUTION_CEILING_PIXELS } from \"./core/pixel-limits.js\";\n\nexport {\n LINEAR_CAPTURE_ENCODING_SCHEMA_VERSION,\n LINEAR_CAPTURE_ENCODING_MODEL_VERSION,\n parseLinearCaptureEncoding,\n calculateLinearCaptureEncoding,\n type LinearCaptureEncoding,\n type LinearCaptureEncodingInput,\n type EncodedLinearCapture\n} from \"./capture/linear-encoding.js\";\n\nexport {\n SDR_RENDERING_SCHEMA_VERSION,\n SDR_RENDERING_MODEL_VERSION,\n parseSdrRenderingProfile,\n parseSdrRenderingInput,\n calculateSdrRendering,\n type SdrRenderingProfile,\n type SdrToneCurve,\n type SdrToneCurveParameters,\n type SdrRenderingInput,\n type SdrRenderingResult\n} from \"./output/sdr-rendering.js\";\n\nexport {\n approximationResult,\n calibratedResult,\n calculatedResult,\n estimatedResult,\n validateCalculationQuality,\n type AbsoluteUncertaintyEstimate,\n type CalculationProvenance,\n type CalculationQuality,\n type CalculationResult,\n type CalculationValidRange,\n type ProvenanceKind,\n type RelativeUncertaintyEstimate,\n type UncertaintyConfidence,\n type UncertaintyEstimate,\n type UncertaintySource\n} from \"./core/calculation-result.js\";\nexport {\n InvalidScientificInputError,\n InvalidScientificResultError\n} from \"./core/validation.js\";\n\nexport {\n parseSpectralWavelengthBasis,\n parseSpectralWavelengthRangeNanometers,\n parseSpectralWavelengthSample,\n type SpectralWavelengthBasis,\n type SpectralWavelengthRangeNanometers,\n type SpectralWavelengthSample\n} from \"./core/spectral.js\";\n\nexport {\n composeSpectralCoverage,\n distributeIntegratedQuantityAcrossDiscreteSpectralLines,\n integrateDiscreteSpectralLineMeasure,\n parseNormalizedDiscreteSpectralLineDistribution,\n parseSpectralCoverageParticipant,\n type ComposeSpectralCoverageInput,\n type DiscreteSpectralLineMeasure,\n type DiscreteSpectralLineMeasureEntry,\n type DiscreteSpectralLineQuantityUnit,\n type DistributeIntegratedQuantityAcrossDiscreteLinesInput,\n type IntegratedDiscreteSpectralLineMeasure,\n type NormalizedDiscreteSpectralLine,\n type NormalizedDiscreteSpectralLineDistribution,\n type ResolvedSpectralWavelengthBasis,\n type SpectralCoverageComposition,\n type SpectralCoverageParticipant,\n type SpectralCoverageParticipantRole\n} from \"./core/spectral-composition.js\";\n\nexport {\n SCIENTIFIC_ASSURANCE_CONTRACT_VERSION,\n composeScientificAssurance,\n type ComposeScientificAssuranceInput,\n type ComposedScientificAssurance,\n type ComposedScientificUncertaintyStatus,\n type ScientificAssuranceBasisKind,\n type ScientificAssuranceComponent,\n type ScientificAssuranceComponentUncertainty,\n type ScientificAssuranceSourceIdentity,\n type ScientificAssuranceSourceKind,\n type ScientificAssuranceStatus\n} from \"./core/scientific-assurance.js\";\n\nexport {\n IMAGE_FORMATION_CONTRACT_VERSION,\n getImageFormationContract,\n type ImageFormationContract,\n type ImageFormationCoordinateSpaceContract,\n type ImageFormationCoordinateSpaceId,\n type ImageFormationDomainId,\n type ImageFormationEffectId,\n type ImageFormationEffectPlacement,\n type ImageFormationImplementationStatus,\n type ImageFormationRendererContract,\n type ImageFormationStageContract,\n type ImageFormationStageId,\n type ImageFormationTemporalContract\n} from \"./core/image-formation.js\";\n\nexport {\n IMAGE_FORMATION_FIDELITY_PROFILE_SCHEMA_VERSION,\n PREPARED_IMAGE_FORMATION_CONTEXT_VERSION,\n PRODUCTION_CAPTURE_SNAPSHOT_VERSION,\n PRODUCTION_IMAGE_FORMATION_PLAN_VERSION,\n RENDERER_CAPABILITY_SCHEMA_VERSION,\n createProductionCaptureSnapshot,\n createProductionCaptureSnapshotFromReleaseFrame,\n createProductionImageFormationPlan,\n parseImageFormationFidelityProfile,\n parsePreparedImageFormationContext,\n parseProductionCaptureSnapshot,\n parseRendererCapabilityDeclaration,\n prepareImageFormationContext,\n serializeProductionImageFormationPlan,\n type CreateProductionCaptureSnapshotFromReleaseFrameInput,\n type CreateProductionCaptureSnapshotInput,\n type CreateProductionImageFormationPlanInput,\n type ProductionProcessedOutputInput,\n type ProductionEnvironmentCaptureInput,\n type ImageFormationFidelityProfile,\n type PlannedImageFormationEffect,\n type PlannedImageFormationEffectState,\n type PlannedImageFormationStage,\n type PlannedImageFormationStageState,\n type PlannedScientificStatus,\n type PrepareImageFormationContextInput,\n type PreparedImageFormationContext,\n type ProductionCaptureSnapshot,\n type ProductionImageFormationBlocker,\n type ProductionImageFormationBlockerCode,\n type ProductionImageFormationPlan,\n type ProductionPhysicalSceneSample,\n type ProductionReleaseFrameBinding,\n type ProductionTemporalCaptureInput,\n type ProductionTemporalCaptureResult,\n type RendererCapabilityDeclaration,\n type RendererConsumerKind,\n type RequiredImageFormationEffect\n} from \"./composition/image-formation-plan.js\";\n\nexport {\n PRODUCTION_PLAN_CONSUMER_MANIFEST_VERSION,\n createProductionPlanConsumerManifest,\n type CreateProductionPlanConsumerManifestInput,\n type ProductionPlanConsumerManifest\n} from \"./composition/plan-consumer.js\";\n\nexport {\n calculateFieldOfView,\n calculateFieldOfViewBounds,\n type CalculateFieldOfViewBoundsInput,\n type CalculateFieldOfViewInput,\n type FieldOfView,\n type FieldOfViewBounds\n} from \"./camera/field-of-view.js\";\n\nexport {\n LENS_PROJECTION_MODELS,\n calculateLensProjectionDirection,\n calculateLensProjectionFieldOfView,\n calculateLensProjectionFieldOfViewBounds,\n calculateLensProjectionImagePoint,\n parseLensProjectionModel,\n type CalculateLensProjectionDirectionInput,\n type CalculateLensProjectionFieldOfViewBoundsInput,\n type CalculateLensProjectionFieldOfViewInput,\n type CalculateLensProjectionImagePointInput,\n type LensDirection,\n type LensProjectionDirection,\n type LensProjectionFieldOfView,\n type LensProjectionFieldOfViewBounds,\n type LensProjectionImagePoint,\n type LensProjectionModel,\n type RadialLensProjectionModel\n} from \"./camera/lens-projection.js\";\n\nexport {\n calculateProjectedObjectSize,\n type CalculateProjectedObjectSizeInput,\n type ProjectedObjectSize\n} from \"./camera/projected-object-size.js\";\n\nexport {\n calculateEquivalentFocalLength35Mm,\n type CalculateEquivalentFocalLength35MmInput,\n type EquivalentFocalLength35Mm\n} from \"./camera/equivalent-focal-length.js\";\n\nexport {\n COLOR_TEMPERATURE_WHITE_BALANCE_INTENT_VERSION,\n WHITE_BALANCE_PROFILE_SCHEMA_VERSION,\n WHITE_BALANCE_STATE_VERSION,\n createColorTemperatureWhiteBalanceIntent,\n createLockedWhiteBalanceState,\n estimateAutoWhiteBalance,\n parseResolvedWhiteBalanceState,\n parseWhiteBalanceProfile,\n resolveCustomWhiteBalance,\n resolveManualWhiteBalance,\n resolvePresetWhiteBalance,\n type ColorTemperatureWhiteBalanceIntent,\n type CreateColorTemperatureWhiteBalanceIntentInput,\n type CreateLockedWhiteBalanceStateInput,\n type EstimateAutoWhiteBalanceInput,\n type PreWhiteBalanceRgbSample,\n type PreWhiteBalanceRgbSampleSet,\n type ResolveCustomWhiteBalanceInput,\n type ResolveManualWhiteBalanceInput,\n type ResolvePresetWhiteBalanceInput,\n type ResolvedWhiteBalanceState,\n type WhiteBalanceAwbIntent,\n type WhiteBalanceAwbPolicy,\n type WhiteBalanceChannelGains,\n type WhiteBalanceInputDomain,\n type WhiteBalancePresetDefinition,\n type WhiteBalanceProfile,\n resolveColorTemperatureWhiteBalance,\n type ColorTemperatureWhiteBalanceCameraModel,\n type ResolveColorTemperatureWhiteBalanceInput,\n type ResolvedColorTemperatureWhiteBalance\n} from \"./color/white-balance.js\";\n\nexport type {\n Cie1960UvChromaticity,\n CieXyChromaticity,\n CieXyzTristimulus,\n ColorMatrix3x3,\n ColorVector3\n} from \"./color/colorimetry-math.js\";\n\nexport {\n COLORIMETRY_MODEL_VERSION,\n MAX_COLORIMETRIC_QUADRATURE_NODES,\n MAX_COLORIMETRIC_TABLE_SAMPLES,\n ANALYTIC_CIE_1931_CMF_DOMAIN_NANOMETERS,\n createColorimetricMidpointQuadrature,\n estimateCie1931ColorMatchingFunctions,\n integrateSpectrumToXyz,\n parseColorimetricQuadratureNodes,\n prepareColorMatchingFunctions,\n prepareColorimetricSpectrum,\n type ColorMatchingFunctionsSource,\n type ColorimetricObserver,\n type ColorimetricQuadratureNode,\n type ColorimetricSpectralSample,\n type ColorimetricSpectrum,\n type CreateColorimetricMidpointQuadratureInput,\n type IntegrateSpectrumToXyzInput,\n type IntegratedSpectrumXyz,\n type PreparedColorMatchingFunctions,\n type PreparedColorimetricSpectrum,\n type TabulatedColorMatchingSample,\n type TristimulusNormalization\n} from \"./color/color-matching-functions.js\";\n\nexport {\n BOLTZMANN_CONSTANT_JOULES_PER_KELVIN,\n CIE_DAYLIGHT_LOCUS_RANGE_KELVIN,\n CIE_ILLUMINANT_A_RANGE_NANOMETERS,\n PLANCKIAN_LOCUS_RANGE_KELVIN,\n MAX_CORRELATED_COLOR_TEMPERATURE_DUV,\n PLANCK_CONSTANT_JOULE_SECONDS,\n SECOND_RADIATION_CONSTANT_METER_KELVIN,\n SPEED_OF_LIGHT_METERS_PER_SECOND,\n calculateChromaticityFromCorrelatedColorTemperature,\n calculateCieDaylightComponentWeights,\n calculateCieIlluminantARelativeSpectralPower,\n calculateCorrelatedColorTemperature,\n calculatePlanckianChromaticity,\n calculatePlanckianSpectralRadiance,\n createCieDaylightSpectrum,\n createCieIlluminantASpectrum,\n createPlanckianSpectrum,\n estimateCorrelatedColorTemperatureMcCamy,\n estimatePlanckianLocusChromaticity,\n type CieDaylightBasis,\n type CieDaylightComponentWeights,\n type CorrelatedColorTemperatureResult,\n type PlanckianLocusModel,\n type WhiteLocus\n} from \"./color/illuminants.js\";\n\nexport {\n CHROMATIC_ADAPTATION_TRANSFORMS,\n calculateChromaticAdaptationMatrix,\n calculateChromaticallyAdaptedXyz,\n resolveChromaticAdaptationConeMatrix,\n type CalculateChromaticAdaptationMatrixInput,\n type ChromaticAdaptationMatrix,\n type ChromaticAdaptationTransform\n} from \"./color/chromatic-adaptation.js\";\n\nexport {\n calculateCielabFromCielch,\n calculateCielabFromXyz,\n calculateCielchFromCielab,\n calculateColorDifference,\n calculateXyzFromCielab,\n type CalculateColorDifferenceInput,\n type Cie94ParametricFactors,\n type Ciede2000ParametricFactors,\n type CielabColor,\n type CielchColor,\n type ColorDifferenceFormula\n} from \"./color/color-difference.js\";\n\nexport {\n MAX_CAMERA_MATRIX_TRAINING_PATCHES,\n estimateCameraColorMatrix,\n type CameraColorMatrixFit,\n type CameraMatrixFitConstraint,\n type CameraMatrixPatchReport,\n type CameraMatrixTrainingPatch,\n type CameraSpectralSensitivities,\n type EstimateCameraColorMatrixInput\n} from \"./color/camera-color-matrix.js\";\n\nexport {\n calculateRgbToXyzMatrices,\n evaluateBt709InverseOetf,\n evaluateSrgbDecoding,\n evaluateBt709Oetf,\n evaluateSrgbEncoding,\n prepareBt1886Eotf,\n resolveRgbColorSpace,\n type Bt1886Eotf,\n type RgbColorSpaceDefinition,\n type RgbColorSpaceId,\n type RgbPrimaryChromaticities,\n type RgbToXyzMatrices,\n type RgbTransferFunctionId\n} from \"./color/rgb-color-spaces.js\";\n\nexport {\n calculateGamutMappedColor,\n prepareRgbGamutMapping,\n type GamutMappedColor,\n type GamutMappingMethod,\n type PrepareRgbGamutMappingInput,\n type PreparedRgbGamutMapping\n} from \"./color/gamut-mapping.js\";\n\nexport {\n calculatePixelPitch,\n type CalculatePixelPitchInput,\n type PixelPitch\n} from \"./sensor/pixel-pitch.js\";\n\nexport {\n calculateImagingAreaMetrics,\n calculateSensorGeometryMetrics,\n type CalculateSensorGeometryMetricsInput,\n type ImagingAreaMetrics,\n type NativeImageRaster,\n type RasterDimensions,\n type SensorGeometryMetrics,\n type SensorImagingArea\n} from \"./sensor/sensor-geometry.js\";\n\nexport {\n SENSOR_ARCHITECTURE_PROFILE_SCHEMA_VERSION,\n parseSensorArchitectureProfile,\n type SensorArchitectureFactProvenance,\n type SensorArchitectureProfile,\n type SensorArchitectureProfileV0_2,\n type SensorArchitectureProfileV0_3,\n type SensorArchitectureReuseStatus,\n type SensorArchitectureSourceKind,\n type SensorColorSamplingFamily,\n type SensorIlluminationArchitecture,\n type SensorIntegrationArchitecture,\n type SensorReadoutArchitecture,\n type SensorTechnologyFamily,\n type SourcedSensorArchitectureFact\n} from \"./sensor/architecture.js\";\n\nexport {\n parseSensorColorSamplingProfile,\n resolveColorSamplingSite,\n type LayeredColorSamplingLayout,\n type MonochromeColorSamplingLayout,\n type NativeColorSamplingSiteCoordinateSystem,\n type NativeColorSamplingSiteIndex,\n type SensorColorSamplingProfileCoordinateSystem,\n type PeriodicMosaicColorSamplingLayout,\n type ResolveColorSamplingSiteInput,\n type ResolvedColorSamplingSite,\n type SensorColorSamplingLayout,\n type SensorColorSamplingProfile\n} from \"./sensor/color-sampling.js\";\n\nexport {\n parseNativeEffectiveRasterColorSamplingBindingProfile,\n resolveCaptureModeColorSamplingContributors,\n resolveNativeEffectiveRasterColorSamplingBinding,\n type CaptureModeFullFrameSampleIndex,\n type ColorSamplingChannelComposition,\n type ColorSamplingChannelSiteCount,\n type ColorSamplingSiteGridDimensions,\n type ColorSamplingSiteRect,\n type GroupedCaptureModeSamplingAnchorDeclaration,\n type NativeEffectiveRasterColorSamplingBindingProfile,\n type NativeEffectiveSampleRect,\n type ResolveCaptureModeColorSamplingContributorsInput,\n type ResolvedCaptureModeColorSamplingContributors,\n type ResolvedNativeEffectiveRasterColorSamplingBinding\n} from \"./sensor/capture-color-sampling-binding.js\";\n\nexport {\n parseSensorOpticalStackProfile,\n resolveAntiAliasingSpatialKernel,\n type AntiAliasingPointSplitComponent,\n type ResolvedAntiAliasingSpatialKernel,\n type SensorEffectiveAntiAliasingSpatialResponse,\n type SensorMicrolensDeclaration,\n type SensorOpticalStackComponent,\n type SensorOpticalStackComponentRole,\n type SensorOpticalStackProfile\n} from \"./sensor/optical-stack.js\";\n\nexport {\n parseSensorSamplingApertureProfile,\n resolveSensorSamplingAperture,\n type NativeSensorPhysicalBoundsMm,\n type NativeSensorPhysicalPointMm,\n type ResolveSensorSamplingApertureInput,\n type ResolvedSensorSamplingAperture,\n type SensorGeometricSensitiveAperture,\n type SensorSamplingApertureProfile,\n type SensorSiteCenterLatticeRegistration\n} from \"./sensor/sampling-aperture.js\";\n\nexport {\n calculateSensorSpatialSamplingQuadrature,\n type CalculateSensorSpatialSamplingQuadratureInput,\n type SensorSpatialSamplingQuadrature,\n type SensorSpatialSamplingQuadratureNode\n} from \"./sensor/spatial-sampling-quadrature.js\";\n\nexport {\n reduceSensorSpatialSamplingQuadrature,\n type ReduceSensorSpatialSamplingQuadratureInput,\n type SensorSpatialQuadratureNodeIdentity,\n type SensorSpatialQuadratureNodeValue,\n type SensorSpatialSampleReduction,\n type SensorSpatialSampleReductionValue,\n type SensorSpatialSampleValueDomain\n} from \"./sensor/spatial-sample-reduction.js\";\n\nexport {\n parseSensorSpectralResponseProfile,\n SENSOR_SPECTRAL_RESPONSE_CHANNEL_BINDING_FORMAT,\n resolveSensorSpectralResponseAtWavelength,\n type EffectiveSensorResponseScope,\n type ResolveSensorSpectralResponseAtWavelengthInput,\n type ResolvedSensorSpectralResponse,\n type ResolvedSensorSpectralResponseValue,\n type SensorSpectralChannelResponse,\n type SensorSpectralResponseChannelBinding,\n type SensorSpectralReferenceConditions,\n type SensorSpectralResponseProfile,\n type SensorSpectralResponseScientificStatus,\n type SensorSpectralResponseUncertainty,\n type SpectralFractionCurve,\n type SpectralFractionSample,\n type SpectralResponsivityCurve,\n type SpectralResponsivitySample\n} from \"./sensor/spectral-response.js\";\n\nexport {\n calculateSensorSpectralQuadrature,\n type CalculateSensorSpectralQuadratureInput,\n type SensorSpectralQuadrature,\n type SensorSpectralQuadratureNode,\n type SensorSpectralWavelengthRangeNanometers\n} from \"./sensor/spectral-quadrature.js\";\n\nexport {\n createSensorSpectralCoverageParticipant,\n type CreateSensorSpectralCoverageParticipantInput\n} from \"./sensor/spectral-coverage.js\";\n\nexport {\n reduceSensorSpatioSpectralIrradiance,\n type ReduceSensorSpatioSpectralIrradianceInput,\n type SensorSpatioSpectralIrradianceReduction,\n type SensorSpatioSpectralIrradianceSample,\n type SensorSpatioSpectralNodeIdentity,\n type SensorSpatioSpectralWavelengthReduction\n} from \"./sensor/spatio-spectral-reduction.js\";\n\nexport {\n assessSensorResponseApplicationCompatibility,\n parseSensorResponseApplicationProfile,\n type AssessSensorResponseApplicationCompatibilityInput,\n type SensorResponseApplicationCompatibilityAssessment,\n type SensorResponseApplicationCompatibilityBlocker,\n type SensorResponseApplicationProfile,\n type SensorResponseIncidentAreaBasis,\n type SensorResponseReferenceConditionPolicy,\n type SensorResponseSignalPath,\n type SensorResponseSourcePlane,\n type SensorResponseSpatialModel,\n type SourcedSensorResponseSourcePlane\n} from \"./sensor/response-application-compatibility.js\";\n\nexport {\n assessSensorResponseOperatingRange,\n parseSensorResponseOperatingRangeProfile,\n type AssessSensorResponseOperatingRangeInput,\n type SensorResponseLinearityCriterion,\n type SensorResponseOperatingInputRange,\n type SensorResponseOperatingRangeAssessment,\n type SensorResponseOperatingRangeBlocker,\n type SensorResponseOperatingRangeProfile,\n type SensorResponseOperatingSpatialLinearityModel,\n type SensorResponseOperatingSpectralInputModel,\n type SensorResponseOperatingWavelengthApplicability\n} from \"./sensor/response-operating-range.js\";\n\nexport {\n calculatePhotonEnergyFromWavelength,\n parseSourcedAirPhaseRefractiveIndex,\n type AirRefractiveIndexConditionPolicy,\n type AirRefractiveIndexReferenceConditions,\n type CalculatePhotonEnergyFromWavelengthInput,\n type PhotonEnergyFromWavelength,\n type SourcedAirPhaseRefractiveIndex\n} from \"./sensor/photon-energy.js\";\n\nexport {\n calculateSensorEqeElectronRate,\n type CalculateSensorEqeElectronRateInput,\n type SensorEqeAirPhotonEnergyContext,\n type SensorEqeAirRefractiveIndexSample,\n type SensorEqeElectronRate,\n type SensorEqeWavelengthRateContribution\n} from \"./sensor/eqe-electron-rate.js\";\n\nexport {\n calculateSensorResponsivityPhotocurrent,\n parseSensorResponsivityElectricalApplicabilityProfile,\n type CalculateSensorResponsivityPhotocurrentInput,\n type SensorResponsivityBiasCondition,\n type SensorResponsivityElectricalApplicabilityProfile,\n type SensorResponsivityElectricalConditionPolicy,\n type SensorResponsivityElectricalConditions,\n type SensorResponsivityPhotocurrent,\n type SensorResponsivityReadoutLoadCondition,\n type SensorResponsivityWavelengthCurrentContribution\n} from \"./sensor/responsivity-photocurrent.js\";\n\nexport {\n bindSensorRateToLocalExposure,\n type BindSensorRateToLocalExposureInput,\n type SensorInstantaneousRateResult,\n type SensorRateLocalExposureBinding\n} from \"./sensor/local-exposure-binding.js\";\n\nexport {\n integrateStationarySensorRateOverLocalExposure,\n parseSensorRateTemporalStationarityProfile,\n type IntegrateStationarySensorRateInput,\n type SensorEqeExposureIntegration,\n type SensorRateStationarityStatus,\n type SensorRateTemporalStationarityProfile,\n type SensorResponsivityExposureIntegration,\n type SensorStationaryRateExposureIntegration\n} from \"./sensor/constant-rate-temporal-integration.js\";\n\nexport {\n calculateSensorDarkCurrentCharge,\n parseSensorDarkCurrentProfile,\n type CalculateSensorDarkCurrentChargeInput,\n type SensorDarkCurrentCharge,\n type SensorDarkCurrentProfile,\n type SensorDarkCurrentSiteApplicability,\n type SensorDarkCurrentTemperatureModel\n} from \"./sensor/dark-current.js\";\n\nexport {\n composeSensorAccumulatedCharge,\n parseSensorAccumulatedChargeCompletenessProfile,\n parseSensorAdditionalStoredChargeComponent,\n type ComposeSensorAccumulatedChargeInput,\n type ComposeSensorPhotoAccumulatedChargeInput,\n type SensorAccumulatedChargeCompletenessProfile,\n type SensorAccumulatedChargeComposition,\n type SensorPhotoAccumulatedChargeComposition,\n type SensorAdditionalStoredChargeComponent,\n type SensorAdditionalStoredChargeKind\n} from \"./sensor/accumulated-charge.js\";\n\nexport {\n assessSensorPhysicalChargeCapacity,\n parseSensorPhysicalChargeCapacityProfile,\n type AssessSensorPhysicalChargeCapacityInput,\n type SensorPhysicalChargeCapacityAssessment,\n type SensorPhysicalChargeCapacityProfile,\n type SensorPhysicalChargeCapacitySiteApplicability,\n type SensorPhysicalChargeCapacityTemperatureApplicability\n} from \"./sensor/physical-charge-capacity.js\";\n\nexport {\n GENERIC_ISO_SIGNAL_CHAIN_PRESET_CATALOG_SCHEMA_VERSION,\n GENERIC_ISO_SIGNAL_CHAIN_PROFILE_SCHEMA_VERSION,\n parseGenericIsoSignalChainPresetCatalog,\n parseGenericIsoSignalChainProfile,\n resolveGenericIsoSignalChain,\n resolveGenericIsoSignalChainPreset,\n type GenericIsoCaptureModeSignalChainBinding,\n type GenericIsoExpandedRegimeBinding,\n type GenericIsoSignalChainPreset,\n type GenericIsoSignalChainPresetCatalog,\n type GenericIsoSignalChainProfile,\n type GenericIsoStandardRegimeBand,\n type ResolveGenericIsoSignalChainInput,\n type ResolvedGenericIsoSignalChain\n} from \"./sensor/iso-signal-chain.js\";\n\nexport {\n SENSOR_CHARGE_SAMPLING_PROFILE_SCHEMA_VERSION,\n SENSOR_READOUT_CONVERSION_PROFILE_SCHEMA_VERSION,\n calculateExpectedSensorReadout,\n parseSensorChargeSamplingProfile,\n parseSensorReadoutConversionProfile,\n resolveSensorReadoutRegime,\n simulateSensorChargeRealization,\n simulateSensorRawCode,\n type CalculateExpectedSensorReadoutInput,\n type ResolveSensorReadoutRegimeInput,\n type ResolvedSensorReadoutRegime,\n type SensorAdditionalChargeSamplingModel,\n type SensorAdditionalChargeSamplingPolicy,\n type SensorChargeRealization,\n type SensorChargeSamplingProfile,\n type SensorElectronicReadNoiseComponent,\n type SensorExpectedReadoutSignal,\n type SensorRawCodeSample,\n type SensorReadoutConversionProfile,\n type SensorReadoutConversionRegime,\n type SensorAdcIntegralNonLinearity,\n type SensorReadoutExposureIndexGain,\n type SimulateSensorChargeRealizationInput,\n type SimulateSensorRawCodeInput\n} from \"./sensor/raw-readout.js\";\n\nexport {\n createIsoGainReadoutRegimes,\n type CreateIsoGainReadoutRegimesInput,\n type IsoGainConversionGainMode,\n type IsoGainReadoutRegimes\n} from \"./sensor/iso-gain.js\";\n\nexport {\n SENSOR_FIXED_PATTERN_NOISE_MODEL,\n SENSOR_FIXED_PATTERN_NOISE_PROFILE_SCHEMA_VERSION,\n calculateSensorFixedPatternSite,\n parseSensorFixedPatternNoiseProfile,\n type SensorFixedPatternNoiseProfile,\n type SensorFixedPatternSiteValues\n} from \"./sensor/fixed-pattern-noise.js\";\n\nexport {\n SENSOR_RAW_CAPTURE_SAMPLE_VERSION,\n SENSOR_RAW_RECONSTRUCTION_PROFILE_SCHEMA_VERSION,\n createSensorRawCaptureSample,\n parseSensorRawReconstructionProfile,\n resolveSensorRawReconstruction,\n type CreateSensorRawCaptureSampleInput,\n type ResolveSensorRawReconstructionInput,\n type SensorRawCaptureSample,\n type SensorRawReconstructedPixel,\n type SensorRawReconstructionChannelKernel,\n type SensorRawReconstructionKernelContribution,\n type SensorRawReconstructionProfile\n} from \"./sensor/raw-reconstruction.js\";\n\nexport {\n assessSensorCameraSaturationCapacity,\n parseSensorCameraSaturationCapacityProfile,\n type AssessSensorCameraSaturationCapacityInput,\n type SensorCameraSaturationCapacityAssessment,\n type SensorCameraSaturationCapacityProfile,\n type SensorCameraSaturationSiteApplicability,\n type SensorCameraSaturationTemperatureApplicability\n} from \"./sensor/camera-saturation-capacity.js\";\n\nexport {\n CAPTURE_MODE_TIMING_PROFILE_SCHEMA_VERSION,\n parseCaptureModeTimingProfile,\n resolveCaptureModeTiming,\n type CaptureModeTimingProfile,\n type ResolveCaptureModeTimingInput,\n type ResolvedCaptureModeTiming\n} from \"./sensor/capture-mode-timing.js\";\n\nexport {\n parseCaptureModeProfile,\n resolveCaptureMode,\n type CaptureModeAcquisition,\n type CaptureModeDefinition,\n type CaptureModeDependency,\n type CaptureModePerFrameSampling,\n type CaptureModeProfile,\n type CaptureModeReconstructionStage,\n type CaptureModeSampleCombinationDomain,\n type CaptureModeSensorOffsetNativeSamples,\n type DeclaredEffectiveCaptureSampling,\n type FixedMultiFrameCaptureAcquisition,\n type GroupedNativeCaptureSampling,\n type NativeEffectiveCaptureSampling,\n type ResolveCaptureModeInput,\n type ResolvedCaptureMode,\n type SingleFrameCaptureAcquisition,\n type SourcedCaptureModeFact,\n type VariableMultiFrameCaptureAcquisition\n} from \"./sensor/capture-mode.js\";\n\nexport {\n calculateSensorReadoutTiming,\n type CalculateSensorReadoutTimingInput,\n type CaptureShutterMechanism,\n type GlobalSensorReadoutTimingDeclaration,\n type NativeSensorReadoutScanDirection,\n type RollingSensorReadoutTimingDeclaration,\n type SensorReadoutMode,\n type SensorReadoutTiming,\n type SensorReadoutTimingDeclaration,\n type SensorReadoutTimingSample,\n type SourcedSensorReadoutFact,\n type SourcedSensorTimingSeconds\n} from \"./sensor/readout-timing.js\";\n\nexport {\n calculateCaptureExposureWindows,\n type CalculateCaptureExposureWindowsInput,\n type CaptureExposureBoundaryActuator,\n type CaptureExposureWindowSample,\n type CaptureExposureWindows,\n type ExposureBoundarySchedule,\n type ResolvedCaptureExposureBoundary,\n type SimultaneousExposureBoundarySchedule,\n type SourcedCaptureBoundaryDirection,\n type SourcedCaptureTimingSeconds,\n type UniformLinearExposureBoundarySchedule\n} from \"./sensor/exposure-window.js\";\n\nexport {\n assessReadoutExposureTimingLinkage,\n resolveElectronicRollingShutterExposureSchedule,\n createRollingShutterCaptureExposureSchedule,\n ELECTRONIC_ROLLING_SHUTTER_MODEL,\n type ResolveElectronicRollingShutterExposureScheduleInput,\n type ElectronicRollingShutterExposureSchedule,\n type AssessReadoutExposureTimingLinkageInput,\n type ReadoutExposureBoundaryId,\n type ReadoutExposureBoundarySpatialLink,\n type ReadoutExposureBoundarySpatialLinkAssessment,\n type ReadoutExposureSpatialPhaseOrientation,\n type ReadoutExposureTimingLinkageAssessment,\n type ReadoutExposureTimingLinkageDeclaration\n} from \"./sensor/readout-exposure-linkage.js\";\n\nexport {\n calculateCenteredCrop,\n type CalculateCenteredCropInput,\n type CenteredCrop\n} from \"./output/crop.js\";\n\nexport {\n calculateSubjectFramingCrop,\n type CalculateSubjectFramingCropInput,\n type SubjectFramingCrop\n} from \"./output/subject-framing-crop.js\";\n\nexport {\n calculateActiveCaptureFieldOfView,\n calculateOutputFieldOfView,\n mapImagePlanePointToOrientedPhysicalUv,\n mapOrientedPhysicalUvToImagePlanePoint,\n resolveCaptureGeometry,\n transformNativeRasterPointToOriented,\n transformNativeRasterRectToOriented,\n transformNativeRasterVectorToOriented,\n transformOrientedRasterPointToNative,\n transformOrientedRasterRectToNative,\n transformOrientedRasterVectorToNative,\n type ActiveCaptureFieldOfView,\n type CalculateActiveCaptureFieldOfViewInput,\n type CalculateOutputFieldOfViewInput,\n type CaptureOrientation,\n type ImagePlaneMetricPointMm,\n type MapImagePlanePointToOrientedPhysicalUvInput,\n type MapOrientedPhysicalUvToImagePlaneInput,\n type NormalizedRasterUv,\n type OutputFieldOfView,\n type PhysicalBoundsFromOpticalAxisMm,\n type RasterPoint,\n type RasterRect,\n type RasterVector,\n type ResolveCaptureGeometryInput,\n type ResolvedCaptureGeometry,\n type TransformRasterPointInput,\n type TransformRasterRectInput,\n type TransformRasterVectorInput\n} from \"./output/capture-geometry.js\";\n\nexport {\n calculateIdealApertureGeometry,\n type ApertureVertex,\n type CalculateIdealApertureInput,\n type IdealApertureGeometry\n} from \"./optics/aperture.js\";\n\nexport {\n calculateAiryDisk,\n type AiryDisk,\n type CalculateAiryDiskInput\n} from \"./optics/diffraction.js\";\n\nexport {\n calculateIdealPolygonDiffractionPsf,\n calculatePolygonPupilFraunhoferPsf,\n type CalculateIdealPolygonDiffractionInput,\n type CalculatePolygonPupilFraunhoferPsfInput,\n type IdealPolygonDiffraction,\n type PolygonPupilFraunhoferPsf\n} from \"./optics/polygon-diffraction.js\";\n\nexport {\n ZERNIKE_MAXIMUM_NOLL_INDEX,\n ZERNIKE_PUPIL_MAXIMUM_SAMPLES_ACROSS,\n calculateDefocusWavefront,\n createWavefrontPupilGrid,\n estimateMarechalStrehlRatio,\n evaluateZernikePolynomial,\n resolveZernikeNollOrder,\n type CalculateDefocusWavefrontInput,\n type CreateWavefrontPupilGridInput,\n type DefocusWavefront,\n type EstimateMarechalStrehlRatioInput,\n type SeidelFieldPosition,\n type SeidelWavefrontCoefficients,\n type WavefrontPupilGrid,\n type ZernikeCoefficient,\n type ZernikeOrder\n} from \"./optics/zernike-wavefront.js\";\n\nexport {\n FRAUNHOFER_C_LINE_NM,\n FRAUNHOFER_D_LINE_NM,\n FRAUNHOFER_F_LINE_NM,\n calculateCauchyRefractiveIndex,\n calculateLongitudinalChromaticFocus,\n type CalculateLongitudinalChromaticFocusInput,\n type LongitudinalChromaticDispersion,\n type LongitudinalChromaticFocus\n} from \"./optics/longitudinal-chromatic-aberration.js\";\n\nexport {\n calculateMechanicalVignetting,\n calculateNaturalVignetting,\n type CalculateMechanicalVignettingInput,\n type CalculateNaturalVignettingInput,\n type MechanicalVignetting,\n type MechanicalVignettingAperture,\n type NaturalVignetting,\n type NaturalVignettingModel\n} from \"./optics/pupil-vignetting.js\";\n\nexport {\n estimateEquivalentViewingCircleOfConfusion,\n type EquivalentViewingCircleOfConfusion,\n type EstimateEquivalentViewingCircleOfConfusionInput\n} from \"./optics/circle-of-confusion.js\";\n\nexport {\n calculateFocusPlaneImageDistance,\n parseFocusPlane,\n type CalculateFocusPlaneImageDistanceInput,\n type FocusPlane\n} from \"./optics/focus-state.js\";\n\nexport {\n calculateThinLensImageDistance,\n type CalculateThinLensImageDistanceInput,\n type ThinLensImageDistance\n} from \"./optics/thin-lens.js\";\n\nexport {\n calculateDefocusCircle,\n calculateDepthOfField,\n type CalculateDefocusCircleInput,\n type CalculateDepthOfFieldInput,\n type DefocusCircle,\n type DepthOfField\n} from \"./optics/depth-of-field.js\";\n\nexport {\n calculateFocusBreathingFieldOfView,\n calculateFocusBreathingProjection,\n calculateGeometricFocusBreathing,\n type CalculateFocusBreathingFieldOfViewInput,\n type CalculateFocusBreathingProjectionInput,\n type CalculateGeometricFocusBreathingInput,\n type FocusBreathingFieldOfView,\n type FocusBreathingProjection,\n type GeometricFocusBreathing,\n type GeometricFocusingMethod\n} from \"./optics/focus-breathing.js\";\n\nexport {\n calculateAtmosphericHaze,\n calculateExtinctionFromVisibility,\n type AtmosphericExtinctionModel,\n type AtmosphericHaze,\n type CalculateAtmosphericHazeInput,\n type CalculateExtinctionFromVisibilityInput\n} from \"./optics/atmospheric-haze.js\";\n\nexport {\n calculateInverseRadialDistortionMapping,\n calculateInverseRadialDistortionMappings,\n calculateRadialDistortionMapping,\n type CalculateInverseRadialDistortionMappingInput,\n type CalculateInverseRadialDistortionMappingsInput,\n type CalculateRadialDistortionMappingInput,\n type InverseRadialDistortionMapping,\n type InverseRadialDistortionMappings,\n type LensFieldPointMm,\n type RadialDistortionCoefficients,\n type RadialDistortionMapping,\n type RadialDistortionProfile\n} from \"./optics/radial-distortion.js\";\n\nexport {\n calculateBrownConradyDistortionMapping,\n calculateInverseBrownConradyDistortionMapping,\n type BrownConradyDistortionCoefficients,\n type BrownConradyDistortionMapping,\n type BrownConradyDistortionProfile,\n type CalculateBrownConradyDistortionMappingInput,\n type CalculateInverseBrownConradyDistortionMappingInput,\n type InverseBrownConradyDistortionMapping\n} from \"./optics/brown-conrady-distortion.js\";\n\nexport {\n calculateInverseLateralChromaticAberrationMapping,\n calculateInverseLateralChromaticAberrationMappings,\n calculateLateralChromaticAberrationMapping,\n type CalculateInverseLateralChromaticAberrationMappingInput,\n type CalculateInverseLateralChromaticAberrationMappingsInput,\n type CalculateLateralChromaticAberrationMappingInput,\n type ChannelSeparationVectorMm,\n type InverseLateralChromaticAberrationChannelMapping,\n type InverseLateralChromaticAberrationMapping,\n type InverseLateralChromaticAberrationMappings,\n type LateralChromaticAberrationChannel,\n type LateralChromaticAberrationChannelMapping,\n type LateralChromaticAberrationMapping,\n type LateralChromaticAberrationProfile,\n type LateralChromaticAberrationSeparation\n} from \"./optics/lateral-chromatic-aberration.js\";\n\nexport {\n FRONT_OF_LENS_FILTER_PROFILE_SCHEMA_VERSION,\n FRONT_OF_LENS_POLARIZER_PROFILE_SCHEMA_VERSION,\n composeFrontOfLensFilterTransmission,\n parseFrontOfLensFilterProfile,\n resolveFrontOfLensFilterTransmission,\n type ComposeFrontOfLensFilterTransmissionInput,\n type ComposedFrontOfLensFilterTransmission,\n type FrontOfLensFilterProfile,\n type FrontOfLensFilterProfileSchemaVersion,\n type FrontOfLensFilterScientificStatus,\n type FrontOfLensFilterSpectralSample,\n type FrontOfLensFilterTransmissionModel,\n type FrontOfLensFilterUncertainty,\n type LinearPolarizationState,\n type ResolveFrontOfLensFilterTransmissionInput,\n type ResolvedFrontOfLensFilterTransmission\n} from \"./optics/front-of-lens-filter.js\";\n\nexport {\n calculateIlluminationVignetting,\n type CalculateIlluminationVignettingInput,\n type IlluminationVignetting,\n type IlluminationVignettingCoefficients,\n type IlluminationVignettingProfile\n} from \"./optics/illumination-vignetting.js\";\n\nexport {\n SCENE_TO_SENSOR_IRRADIANCE_PROFILE_SCHEMA_VERSION,\n calculateSceneRadianceToSensorIrradiance,\n parseSceneToSensorIrradianceProfile,\n type CalculateSceneRadianceToSensorIrradianceInput,\n type NumericRange,\n type OpticalBridgeFieldThroughput,\n type OpticalBridgeFocusApplicability,\n type OpticalBridgeFocusContext,\n type OpticalBridgeScientificStatus,\n type OpticalBridgeUncertainty,\n type OpticalTransmissionModel,\n type SceneToSensorIrradianceProfile,\n type SceneToSensorIrradianceResult,\n type SpectralTransmissionSample\n} from \"./optics/scene-to-sensor-irradiance.js\";\n\nexport {\n LENS_SAMPLED_PSF_PROFILE_SCHEMA_VERSION,\n LENS_MTF_DIAGNOSTIC_PROFILE_SCHEMA_VERSION,\n assessMtfOnlyPsfRenderability,\n parseLensMtfDiagnosticProfile,\n parseLensSampledPsfProfile,\n resolveLensSampledPsf,\n type LensMtfDiagnosticProfile,\n type LensMtfDiagnosticSample,\n type LensPsfGridAxes,\n type LensPsfKernel,\n type LensPsfScientificStatus,\n type LensPsfUncertainty,\n type LensSampledPsfGridCoordinate,\n type LensSampledPsfGridNode,\n type LensSampledPsfInterpolation,\n type LensSampledPsfProfile,\n type MtfOnlyPsfRenderabilityAssessment,\n type ResolveLensSampledPsfInput,\n type ResolvedLensSampledPsf\n} from \"./optics/lens-psf-profile.js\";\n\nexport {\n LENS_COMPLEX_PUPIL_PROFILE_SCHEMA_VERSION,\n calculateLensComplexPupilPsf,\n parseLensComplexPupilProfile,\n type CalculateLensComplexPupilPsfInput,\n type LensComplexPupilGrid,\n type LensComplexPupilProfile,\n type LensComplexPupilPsf,\n type LensComplexPupilPsfSampling\n} from \"./optics/complex-pupil-psf.js\";\n\nexport {\n PSF_FOUNDATION_VERSION,\n calculatePsfFoundationComponents,\n getPsfFoundationContract,\n type CalculatePsfFoundationComponentsInput,\n type PsfContributionContract,\n type PsfContributionId,\n type PsfContributionStatus,\n type PsfFoundationComponents,\n type PsfFoundationContract\n} from \"./optics/psf-foundation.js\";\n\nexport type {\n CameraConfiguration,\n CameraSupport,\n ExposureConfiguration,\n FocusConfiguration,\n LensConfiguration,\n SensorConfiguration,\n StabilizationConfiguration\n} from \"./schema/camera.js\";\n\nexport type {\n SceneCapability,\n SceneDefinition,\n SceneMotion,\n SceneObject,\n SceneRadiometry,\n Vector3\n} from \"./schema/scene.js\";\n\nexport {\n SCENE_ILLUMINATION_PROFILE_SCHEMA_VERSION,\n parseSceneIlluminationProfile,\n type SceneIlluminationMagnitude,\n type SceneIlluminationProfile,\n type SceneIlluminationRelativeSpectrumSample,\n type SceneIlluminationScientificStatus,\n type SceneIlluminationSource,\n type SceneIlluminationSourceFamily,\n type SceneIlluminationSourceGeometry,\n type SceneIlluminationSpectrum,\n type SceneIlluminationUncertainty\n} from \"./schema/illumination.js\";\n\nexport {\n createSceneIlluminationSpectralCoverageParticipant,\n resolveSceneIlluminationDiscreteLineMeasure,\n type CreateSceneIlluminationSpectralCoverageParticipantInput,\n type SceneIlluminationDiscreteLineMeasure\n} from \"./schema/illumination-spectral.js\";\n\nexport {\n SCENE_ILLUMINATION_TEMPORAL_PROFILE_SCHEMA_VERSION,\n evaluateSceneIlluminationTemporalMultiplier,\n integrateSceneIlluminationTemporalMultiplierOverExposureWindow,\n parseSceneIlluminationTemporalProfile,\n type EvaluateSceneIlluminationTemporalMultiplierInput,\n type IntegrateSceneIlluminationTemporalMultiplierInput,\n type SceneIlluminationTemporalExposureIntegration,\n type SceneIlluminationTemporalIntegrationNode,\n type SceneIlluminationTemporalMultiplierEvaluation,\n type SceneIlluminationTemporalProfile,\n type SceneIlluminationTemporalRegistrationUncertainty,\n type SceneIlluminationTemporalScientificStatus,\n type SceneIlluminationTemporalSourceBinding,\n type SceneIlluminationTemporalWaveform,\n type SceneIlluminationTemporalWaveformSample\n} from \"./schema/illumination-temporal.js\";\n\nexport {\n SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION,\n createSceneRadianceTemporalSamplingPlan,\n reduceSceneRadianceTemporalSamples,\n type CreateSceneRadianceTemporalSamplingPlanInput,\n type ReducedSceneRadianceTemporalExposure,\n type ReduceSceneRadianceTemporalSamplesInput,\n type SceneRadianceTemporalEvaluatedSample,\n type SceneRadianceTemporalQuery,\n type SceneRadianceTemporalSamplingNode,\n type SceneRadianceTemporalSamplingPlan\n} from \"./schema/scene-radiance-temporal.js\";\n\nexport {\n SCENE_MATERIAL_RESPONSE_PROFILE_SCHEMA_VERSION,\n SCENE_RADIANCE_EVALUATION_SCHEMA_VERSION,\n SCENE_RADIANCE_PROVIDER_PROFILE_SCHEMA_VERSION,\n assessSceneMaterialResponseFidelity,\n parseSceneMaterialResponseProfile,\n parseSceneRadianceEvaluationRequest,\n parseSceneRadianceEvaluationResult,\n parseSceneRadianceProviderProfile,\n validateSceneRadianceEvaluationBindings,\n type SceneMaterialResponseDefinition,\n type SceneMaterialResponseFidelity,\n type SceneMaterialResponseProfile,\n type SceneMaterialResponseRepresentation,\n type SceneRadianceDataArtifactReference,\n type SceneRadianceEvaluationBindingAssessment,\n type SceneRadianceEvaluationRequest,\n type SceneRadianceEvaluationResult,\n type SceneRadianceEvaluationTarget,\n type SceneRadianceProviderProfile,\n type SceneRadianceProviderSpectralFidelity,\n type SceneRadianceProviderTransportFidelity,\n type SceneRadianceProviderVisibilityFidelity,\n type SceneRadianceScientificStatus,\n type SceneRadianceUncertainty,\n type ValidateSceneRadianceEvaluationBindingsInput\n} from \"./schema/scene-radiance.js\";\n\nexport {\n calculateCaptureExtendedObjectTemporalProjection,\n calculateExtendedObjectProjectionTrajectory,\n type CalculateCaptureExtendedObjectTemporalProjectionInput,\n type CalculateExtendedObjectProjectionTrajectoryInput,\n type CaptureExtendedObjectMetricPoint,\n type CaptureExtendedObjectPointTrajectory,\n type CaptureExtendedObjectTemporalNode,\n type CaptureExtendedObjectTemporalProjection,\n type ExtendedObjectFrontoparallelPlaneDeclaration,\n type ExtendedObjectMetricPoint,\n type ExtendedObjectPlanarMagnificationDiagnostic,\n type ExtendedObjectPointProjectionTrajectory,\n type ExtendedObjectProjectionNode,\n type ExtendedObjectProjectionTrajectory\n} from \"./motion/extended-object-projection.js\";\n\nexport {\n calculateProjectedMotionBlur,\n type CalculateProjectedMotionBlurInput,\n type ProjectedMotionBlur\n} from \"./motion/projected-motion.js\";\n\nexport {\n calculateCameraRotationImageMapping,\n calculateInverseCameraRotationImageMapping,\n type AxisSamplingPitchMicrometers,\n type CalculateCameraRotationImageMappingInput,\n type CalculateInverseCameraRotationImageMappingInput,\n type CameraAngularVelocityRadPerSec,\n type CameraRotationImageMapping,\n type ImagePlanePointMm,\n type InverseCameraRotationImageMapping\n} from \"./motion/camera-rotation.js\";\n\nexport {\n calculateCaptureRotationTrajectories,\n type CalculateCaptureRotationTrajectoriesInput,\n type CaptureRotationTrajectories,\n type CaptureRotationTrajectoryEndpoint,\n type CaptureRotationTrajectorySample\n} from \"./motion/capture-rotation-trajectory.js\";\n\nexport {\n calculateCaptureRotationInverseMappings,\n type CalculateCaptureRotationInverseMappingsInput,\n type CaptureRotationInverseMappings,\n type CaptureRotationInverseMappingSample\n} from \"./motion/capture-rotation-inverse-mapping.js\";\n\nexport {\n calculateCaptureTranslationParallaxTemporalQuadrature,\n type CalculateCaptureTranslationParallaxTemporalQuadratureInput,\n type CaptureTranslationParallaxSceneSample,\n type CaptureTranslationParallaxTemporalNode,\n type CaptureTranslationParallaxTemporalQuadrature,\n type CaptureTranslationParallaxTemporalSample\n} from \"./motion/capture-translation-parallax-temporal-quadrature.js\";\n\nexport {\n calculateCaptureRotationTemporalQuadrature,\n type CalculateCaptureRotationTemporalQuadratureInput,\n type CaptureRotationTemporalQuadrature,\n type CaptureRotationTemporalQuadratureNode,\n type CaptureRotationTemporalQuadraturePoint\n} from \"./motion/capture-rotation-temporal-quadrature.js\";\n\nexport {\n FLASH_SYNC_CAPABILITY_SCHEMA_VERSION,\n MANUAL_FLASH_PROFILE_SCHEMA_VERSION,\n FLASH_SYNC_CAPABILITY_HSS_SCHEMA_VERSION,\n HIGH_SPEED_SYNC_MODEL,\n createHighSpeedSyncIlluminationOverlay,\n createManualFlashIlluminationOverlay,\n parseFlashSyncCapabilityProfile,\n parseManualFlashProfile,\n resolveHighSpeedFlashSync,\n resolveManualFlashSync,\n type FlashOverlaySyncRegistration,\n type ResolveHighSpeedFlashSyncInput,\n type ResolvedHighSpeedFlashSync,\n type CreateManualFlashIlluminationOverlayInput,\n type FlashSyncCapabilityProfile,\n type ManualFlashIlluminationOverlay,\n type ManualFlashProfile,\n type ManualFlashPulseProfile,\n type ManualFlashSyncMode,\n type RequestedFlashSyncMode,\n type ResolveManualFlashSyncInput,\n type ResolvedManualFlashSync\n} from \"./exposure/flash.js\";\n\nexport {\n TTL_FLASH_MODEL,\n createTtlScaledFlashProfile,\n calculateFlashGuideNumber,\n calculateFlashPowerForDistance,\n resolveTtlFlashExposure,\n type FlashGuideNumberInput,\n type FlashPowerForDistance,\n type FlashPowerForDistanceInput,\n type ResolveTtlFlashExposureInput,\n type TtlFlashExposure\n} from \"./exposure/flash-ttl.js\";\n\nexport {\n calculateEquivalentIso,\n calculateExposureValue100,\n calculateRelativeOpticalExposure,\n calculateRelativeRenderedExposure,\n type CalculateEquivalentIsoInput,\n type CalculateExposureValue100Input,\n type CalculateRelativeOpticalExposureInput,\n type CalculateRelativeRenderedExposureInput,\n type RelativeOpticalExposure,\n type RelativeRenderedExposure\n} from \"./exposure/exposure.js\";\n\nexport {\n EXPOSURE_DURATION_CONTROL_VERSION,\n bindResolvedExposureDurationToCaptureExposureInput,\n resolveExposureDurationControl,\n type BindResolvedExposureDurationToCaptureExposureInput,\n type ExposureDurationControl,\n type ExposureDurationControlResolution\n} from \"./exposure/exposure-duration-control.js\";\n\nexport {\n EXPOSURE_METERING_PROFILE_SCHEMA_VERSION,\n calculateHighlightPriorityPlacementSignal,\n meterRelativeExposure,\n parseExposureMeteringProfile,\n type HighlightPriorityMeteringDiagnostics,\n type ExposureMeteringPolicy,\n type ExposureMeteringProfile,\n type ExposureMeteringResult,\n type ExposureMeteringSampleSet,\n type ExposureMeteringZoneSample,\n type MeterRelativeExposureInput\n} from \"./exposure/metering.js\";\n\nexport {\n SCENE_RADIANCE_METERING_DERIVATION_SCHEMA_VERSION,\n createSceneRadianceDerivedExposureMeteringSampleSet,\n parseSceneRadianceMeteringDerivationProfile,\n type CreateSceneRadianceDerivedExposureMeteringSampleSetInput,\n type SceneRadianceDerivedExposureMeteringSampleSet,\n type SceneRadianceMeteringDerivationProfile,\n type SceneRadianceMeteringSourceContext,\n type SceneRadianceMeteringTemporalContext\n} from \"./exposure/metering-scene-radiance.js\";\n\nexport {\n meterSceneRadianceTemporalExposure,\n type MeterSceneRadianceTemporalExposureInput,\n type SceneRadianceTemporalExposureMeteringResult,\n type SceneRadianceTemporalMeteringSample\n} from \"./exposure/metering-temporal.js\";\n\nexport {\n EXPOSURE_METER_TARGET_SCHEMA_VERSION,\n createExposureMeterTargetFromMeteringResult,\n setExposureCompensationOnMeterTarget,\n type CreateExposureMeterTargetInput,\n type ExposureMeterSnapshotIdentity,\n type ExposureMeterTarget,\n type ExposureMeterTargetSourceKind,\n type ExposureMeterTargetSourceResult,\n type SetExposureCompensationOnMeterTargetInput\n} from \"./exposure/metering-target.js\";\n\nexport {\n ISO_CAPABILITY_PROFILE_SCHEMA_VERSION,\n bindIsoCapabilityToExposureCapabilities,\n parseIsoCapabilityProfile,\n resolveIsoCapability,\n type BindIsoCapabilityToExposureCapabilitiesInput,\n type BoundIsoExposureCapabilities,\n type IsoAutoIsoCapability,\n type IsoCapabilityAvailability,\n type IsoCapabilityProfile,\n type IsoCaptureModePolicy,\n type IsoExpandedSetting,\n type IsoExposureIndexRange,\n type IsoStandardSettingGrid,\n type RequestedIsoSetting,\n type ResolveIsoCapabilityInput,\n type ResolvedIsoCapability\n} from \"./equipment/iso-capabilities.js\";\n\nexport {\n GENERIC_EQUIPMENT_EXPOSURE_CAPABILITY_SCHEMA_VERSION,\n parseGenericBodyExposureCapabilityProfile,\n parseGenericLensExposureCapabilityProfile,\n resolveGenericEquipmentExposureCapabilities,\n type FocalLengthFNumberSample,\n type GenericBodyExposureCapabilityProfile,\n type GenericCapabilityAvailability,\n type GenericLensExposureCapabilityProfile,\n type NumericCapabilityRange,\n type NumericSettingGrid,\n type ResolveGenericEquipmentExposureCapabilitiesInput,\n type ResolvedGenericEquipmentExposureCapabilities,\n type ResolvedNumericSettingGrid,\n type WidestAvailableFNumberCapability\n} from \"./equipment/exposure-capabilities.js\";\n\nexport {\n GENERIC_RELEASE_CAPABILITY_SCHEMA_VERSION,\n parseGenericReleaseCapabilityProfile,\n type GenericExposureBracketAxis,\n type GenericReleaseCapabilityProfile,\n type GenericReleaseDriveMode\n} from \"./equipment/release-capabilities.js\";\n\nexport {\n FOCUS_CONTROL_PROFILE_SCHEMA_VERSION,\n FOCUS_CONTROL_STATE_VERSION,\n assessFocusReleaseGate,\n createFocusControlState,\n parseFocusControlProfile,\n resolveFocusTargetObservation,\n setFocusLock,\n setManualFocusState,\n type AssessFocusReleaseGateInput,\n type CreateFocusControlStateInput,\n type FocusAcquisitionState,\n type FocusControlMode,\n type FocusControlProfile,\n type FocusControlState,\n type FocusReleaseGateAssessment,\n type FocusReleasePriority,\n type FocusTargetControlEvent,\n type FocusTargetLossReason,\n type FocusTargetObservation,\n type FocusTargetResolution,\n type ResolveFocusTargetObservationInput,\n type SetFocusLockInput,\n type SetManualFocusStateInput\n} from \"./capture/focus-control.js\";\n\nexport {\n RELEASE_SEQUENCE_VERSION,\n createCancelledReleaseSequence,\n resolveReleaseSequence,\n type CancelledReleaseSequence,\n type CancelReleaseSequenceInput,\n type ReleaseAutomationState,\n type ReleaseBaseCaptureState,\n type ReleaseBracketPolicy,\n type ReleaseDrivePolicy,\n type ReleaseTimingConstraint,\n type ResolveReleaseSequenceInput,\n type ResolvedReleaseFrame,\n type ResolvedReleaseSequence\n} from \"./capture/release-sequence.js\";\n\nexport {\n VIDEO_FRAME_SEED_STREAM_ID,\n VIDEO_FRAME_SEQUENCE_MAXIMUM_FRAMES,\n VIDEO_FRAME_SEQUENCE_VERSION,\n assessShutterAngleRule,\n calculateShutterAngleExposureSeconds,\n calculateShutterAngleFromExposureSeconds,\n resolveVideoFrameSequence,\n type ResolveVideoFrameSequenceInput,\n type ShutterAngleRuleAssessment,\n type VideoFrameSequence\n} from \"./motion/video-sequence.js\";\n\nexport {\n GENERIC_BODY_METERING_CAPABILITY_SCHEMA_VERSION,\n assessExposureMeteringProfileCompatibility,\n parseGenericBodyMeteringCapabilityProfile,\n type AssessExposureMeteringProfileCompatibilityInput,\n type GenericBodyMeteringCapabilityProfile,\n type GenericSupportedMeteringProfile,\n type MeteringCapabilityCompatibilityAssessment,\n type MeteringCapabilityCompatibilityBlocker\n} from \"./equipment/metering-capabilities.js\";\n\nexport {\n EXPOSURE_PROGRAM_LINE_SCHEMA_VERSION,\n parseExposureProgramLineProfile,\n type ExposureProgramLineNode,\n type ExposureProgramLineProfile\n} from \"./exposure/program-line.js\";\n\nexport {\n EXPOSURE_MODE_RESOLVER_VERSION,\n resolveAperturePriorityAutoIsoExposureMode,\n resolveAperturePriorityExposureMode,\n resolveFullAutoExposureMode,\n resolveManualExposureMode,\n resolveProgramAutoExposureMode,\n resolveShutterPriorityExposureMode,\n type AperturePriorityAutoIsoExposureModeResolution,\n type AperturePriorityAutoIsoPolicy,\n type AperturePriorityExposureModeResolution,\n type AutoIsoBaselinePolicy,\n type ExposureResolutionConstraint,\n type ExposureTargetResidual,\n type ExposureTargetResidualState,\n type FullAutoExposureModeResolution,\n type FullAutoExposurePolicy,\n type ManualExposureModeResolution,\n type ManualIsoControl,\n type ProgramAutoExposureModeResolution,\n type ProgramAutoIsoControl,\n type ProgramLineSelectionDiagnostics,\n type RelativeExposureControlAnchor,\n type ResolveAperturePriorityAutoIsoExposureModeInput,\n type ResolveAperturePriorityExposureModeInput,\n type ResolveFullAutoExposureModeInput,\n type ResolveManualExposureModeInput,\n type ResolveProgramAutoExposureModeInput,\n type ResolveShutterPriorityExposureModeInput,\n type ShutterPriorityAutoIsoPolicy,\n type ShutterPriorityExposureModeResolution\n} from \"./exposure/exposure-mode-resolver.js\";\n\nexport {\n STABILIZATION_DISTURBANCE_TRAJECTORY_VERSION,\n STABILIZATION_SYSTEM_PROFILE_SCHEMA_VERSION,\n calculateStabilizedCaptureTemporalSamples,\n calculateStabilizedRotationTrajectory,\n parseStabilizationDisturbanceTrajectory,\n parseStabilizationSystemProfile,\n type CalculateStabilizedCaptureTemporalSamplesInput,\n type CalculateStabilizedRotationTrajectoryInput,\n type PhysicalStabilizationArchitecture,\n type StabilizationAngularStateRad,\n type StabilizationAxisResolution,\n type StabilizationAxisResponseProfile,\n type StabilizationCaptureKind,\n type StabilizationCoordinatedAllocation,\n type StabilizationDisturbanceSample,\n type StabilizationDisturbanceTrajectory,\n type StabilizationPanningPolicy,\n type StabilizationRotationAxis,\n type StabilizationSystemProfile,\n type StabilizedCaptureTemporalNode,\n type StabilizedCaptureTemporalPoint,\n type StabilizedCaptureTemporalSamples,\n type StabilizedRotationSample,\n type StabilizedRotationTrajectory\n} from \"./stabilization/system.js\";\n\nexport {\n estimateCameraShakeBlur,\n type CameraShakeBlurSample,\n type CameraShakeEstimate,\n type EstimateCameraShakeBlurInput\n} from \"./stabilization/camera-shake.js\";\n\nexport {\n calculatePhotoelectrons,\n calculateSignalToNoise,\n type CalculatePhotoelectronsInput,\n type CalculateSignalToNoiseInput,\n type SignalToNoise\n} from \"./sensor/signal-noise.js\";\n\nexport {\n assessRadiometryReadiness,\n parseRadiometryReadinessProfile,\n type CalibrationArtifactReference,\n type ExposureIntegrationRequirement,\n type OpticalTransmissionRequirement,\n type PhotositeCollectionAreaRequirement,\n type PupilVignettingRequirement,\n type RadiometryReadinessAssessment,\n type RadiometryReadinessProfile,\n type RadiometryRequirement,\n type RadiometryRequirementId,\n type RadiometryScientificStatus,\n type RadiometryUncertaintyDeclaration,\n type SceneSpectralRadianceRequirement,\n type SensorResponseRequirement\n} from \"./sensor/radiometry-readiness.js\";\n\nexport {\n POC_SIMULATION_API_VERSION,\n simulatePocCamera,\n type PocSimulationRequest,\n type PocSimulationResponse\n} from \"./simulation/poc-simulation.js\";\n\nexport {\n InvalidConfigurationError,\n parseCameraConfiguration,\n parseSceneDefinition\n} from \"./schema/validation.js\";\n\nexport { calculateSensorEqeLocalExposure, type CalculateSensorEqeLocalExposureInput,\n type SensorEqeLocalExposure } from \"./sensor/eqe-local-exposure.js\";\n\nexport { calculateSceneToSensorIrradianceQuadrature, type CalculateSceneToSensorIrradianceQuadratureInput,\n type SceneSensorQuadratureSample, type SceneToSensorIrradianceQuadrature } from \"./optics/scene-to-sensor-quadrature.js\";\n\nexport { calculateSceneSensorEqeTemporalExposure, type CalculateSceneSensorEqeTemporalExposureInput,\n type SceneSensorEqeTemporalExposure } from \"./sensor/scene-eqe-temporal-exposure.js\";\nexport { calculateSensorPsfIrradianceQuadrature, type CalculateSensorPsfIrradianceQuadratureInput,\n type SensorPsfSourceSample, type SensorPsfIrradianceQuadrature } from \"./optics/sensor-psf-quadrature.js\";\nexport { calculateSensorEnvironmentRadianceQuery, type CalculateSensorEnvironmentRadianceQueryInput,\n type EnvironmentLensFieldMapping, type SensorEnvironmentLensFieldMappingResult,\n type SensorEnvironmentRadianceQuery } from \"./optics/sensor-environment-query.js\";\nexport { calculateSensorEqeTemporalExposure, type CalculateSensorEqeTemporalExposureInput,\n type SensorEqeTemporalExposure } from \"./sensor/eqe-temporal-exposure.js\";\n\nexport { createSensorEqeTemporalPhotoSignal, parseSensorEqeTemporalPhotoSignal,\n type SensorEqeTemporalPhotoSignal, type SensorEqePhotoExposure } from \"./sensor/temporal-photo-signal.js\";\n\nexport type { SensorTemporalDarkCurrentCharge, SensorPhotoDarkCurrentCharge } from \"./sensor/dark-current.js\";\n\nexport { calculateEnvironmentSensorPhotoSignal, type CalculateEnvironmentSensorPhotoSignalInput,\n type EnvironmentSensorPhotoSignal, type EnvironmentRadianceEvaluator, type EnvironmentApertureRadianceEvaluator } from \"./sensor/environment-photo-signal.js\";\nexport { simulateEnvironmentSensorRawFrame, type SimulateEnvironmentSensorRawFrameInput,\n type EnvironmentSensorRawFrame } from \"./capture/environment-raw-producer.js\";\n\nexport { calculateProcessedSensorRaw, parseProcessedSensorRawInput, type ProcessedSensorRawInput,\n type ProcessedSensorRawResult } from \"./capture/photographic-export.js\";\nexport { calculatePrintPlan, calculatePrintSizeLimit, parsePrintPlanInput } from \"./output/print-plan.js\";\nexport type { PrintLength, PrintedImageSize, PrintSamplingCriterion, PrintNativeSource, PrintProviderConstraints, PrintPlanInput, PrintRasterSampling, PrintPlan, PrintSizeLimitInput, PrintSizeLimit } from \"./output/print-plan.js\";\nexport { PRINT_REGION_DETAIL_MODEL_VERSION, MAX_PRINT_DETAIL_REGION_SAMPLES, calculatePrintRegionDetail, parsePrintRegionDetailInput } from \"./output/print-detail.js\";\nexport type { PrintDetailSource, PrintDetailRegion, PrintSinusoidalTarget, PrintRegionDetailInput, PrintSinusoidalMeasurement, PrintRegionDetailAssessment } from \"./output/print-detail.js\";\nexport { PRINT_REGION_STATISTICS_MODEL_VERSION, MAX_PRINT_REGION_STATISTICS_SAMPLES,\n calculatePrintRegionDifference, calculatePrintRegionNoise, parsePrintRegionDifferenceInput, parsePrintRegionNoiseInput } from \"./output/print-region-statistics.js\";\nexport type { PrintRegionRaster, PrintRegionDifferenceInput, PrintRegionNoiseInput, PrintRegionDifferenceMeasurement,\n PrintRegionNoiseMeasurement, PrintRegionStatisticsAssessment } from \"./output/print-region-statistics.js\";\nexport { PRINT_CONTRAST_REFERENCE_MODEL_VERSION, PRINT_CONTRAST_REFERENCE_UPSTREAM_REVISION,\n calculatePrintContrastReference, parsePrintContrastReferenceInput } from \"./output/print-contrast-reference.js\";\nexport type { PrintContrastReferenceInput, PrintContrastReference } from \"./output/print-contrast-reference.js\";\nexport { NATIVE_RAW_SCHEMA_VERSION, NATIVE_RAW_LIMITS, calculateNativeRawPlan, createNativeRawTask } from \"./capture/native-raw.js\";\nexport { PRINT_JPEG_SCHEMA_VERSION, PRINT_JPEG_LIMITS, parsePrintJpegInput, createPrintJpegTask } from \"./output/print-jpeg.js\";\nexport type { PrintJpegSource, PrintJpegInput, PrintJpegTileRequest, PrintJpegTile, PrintJpegProvider, PrintJpegOutput, PrintJpegTask } from \"./output/print-jpeg.js\";\nexport { SRGB_ICC_PROFILE_VERSION, createSrgbIccProfile } from \"./color/srgb-icc.js\";\nexport { createNativeEnvironmentRawTask, createNativeEnvironmentSensorStageTask, calculateNativeRawRowBands, createNativeEnvironmentRawPartitionTask,\n composeNativeEnvironmentRawPartitions } from \"./capture/native-environment-raw.js\";\nexport type { NativeEnvironmentRawInput, NativeEnvironmentRawTile, NativeEnvironmentPhotoTile, NativeEnvironmentRawProvider, NativeEnvironmentRawOutput,\n NativeEnvironmentRawTask, NativeRawRowBand, NativeEnvironmentRawPartition, NativeEnvironmentRawPartitionTask, NativeEnvironmentRadianceQuery } from \"./capture/native-environment-raw.js\";\nexport { NATIVE_ENVIRONMENT_OPTICAL_STAGE_LIMITS } from \"./capture/native-environment-optical-stage.js\";\nexport type { NativeEnvironmentOpticalStage, NativeEnvironmentOpticalStageRetention, NativeEnvironmentSensorStageInput,\n NativeEnvironmentSensorStageProvider } from \"./capture/native-environment-optical-stage.js\";\nexport { createNativeRawDevelopmentTask } from \"./capture/native-raw-development.js\";\nexport type { NativeRawDevelopmentInput, NativeRawDevelopmentOutput, NativeRawDevelopmentProvider, NativeRawDevelopmentTask,\n RawHighlightDiagnostics } from \"./capture/native-raw-development.js\";\nexport type { NativeRawExposureInput, NativeRawExposure, NativeRawInput, NativeRawPlan, NativeRawTileRequest, NativeRawTile,\n NativeRawProvider, NativeRawOutput, NativeRawTaskState, NativeRawTask } from \"./capture/native-raw.js\";\nexport { NATIVE_CAPTURE_SDR_SCHEMA_VERSION, NATIVE_CAPTURE_SDR_LIMITS, calculateNativeCaptureSdrPlan, createNativeCaptureSdrTask } from \"./output/native-capture-sdr.js\";\nexport type { NativeCaptureSdrInput, NativeCaptureSdrTileRequest, NativeCaptureSdrTile, NativeCaptureSdrProvider, NativeCaptureSdrPlan,\n NativeCaptureSdrOutput, NativeCaptureSdrTaskState, NativeCaptureSdrTask, NativeTaskProgress } from \"./output/native-capture-sdr.js\";\n\nexport { IRRADIANCE_CONVOLUTION_SCHEMA_VERSION, IRRADIANCE_CONVOLUTION_LIMITS, calculateIrradianceConvolutionPlan, calculateIrradianceConvolution } from \"./optics/irradiance-convolution.js\";\nexport type { IrradianceConvolutionInput, IrradianceConvolutionPlan } from \"./optics/irradiance-convolution.js\";\nexport { LENS_PSF_CONVOLUTION_KERNELS_SCHEMA_VERSION, LENS_PSF_CONVOLUTION_KERNELS_MAXIMUM_WAVELENGTHS, resolveLensPsfConvolutionKernels } from \"./optics/lens-psf-kernels.js\";\nexport type { LensPsfConvolutionKernelsInput, LensPsfConvolutionKernels } from \"./optics/lens-psf-kernels.js\";\nexport { DIFFRACTION_LIMITED_PSF_PROFILE_MODEL, DIFFRACTION_LIMITED_PSF_PROFILE_LIMITS, createDiffractionLimitedPsfProfile } from \"./optics/diffraction-psf-profile.js\";\nexport type { CreateDiffractionLimitedPsfProfileInput, DiffractionLimitedPsfProfile, DiffractionLimitedPsfWavelength } from \"./optics/diffraction-psf-profile.js\";\nexport { PACKED_SENSOR_RAW_SCHEMA_VERSION, PACKED_SENSOR_RAW_LIMITS, calculatePackedSensorRawPlan, simulatePackedSensorRaw } from \"./capture/packed-sensor-raw.js\";\nexport type { PackedSensorRawInput, PackedSensorRawPlan, PackedSensorRawDiagnostics, PackedSensorRawResult, PackedSensorFixedPatternNoise,\n PackedSensorAdditionalChargeComponent } from \"./capture/packed-sensor-raw.js\";\nexport { TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION, TEMPORAL_EXPOSURE_SUM_LIMITS, calculateTemporalExposureSumPlan, calculateTemporalExposureSum } from \"./motion/temporal-exposure-sum.js\";\nexport type { TemporalExposureSumInput, TemporalExposureSumNode, TemporalExposureSumPlan } from \"./motion/temporal-exposure-sum.js\";\nexport { ImageKernelExecutionError, WEBGPU_F32_UNIT_ROUNDOFF, WEBGPU_F32_TRANSFER_ABSOLUTE_BOUND, composeRelativeErrorBounds } from \"./gpu/image-kernel-execution.js\";\nexport type { ImageKernelBackend, ImageKernelFallbackReason, ImageKernelFailureReason, ImageKernelExecution, ImageKernelCodeErrorBound,\n ImageKernelRelativeErrorBound, ImageKernelSeededRealizationBound } from \"./gpu/image-kernel-execution.js\";\nexport { createImageKernelAccelerator } from \"./gpu/image-kernel-accelerator.js\";\nexport type { ImageKernelAccelerator, ImageKernelAcceleratorOptions, ImageKernelAcceleratorState, ImageKernelRunOptions,\n AcceleratedNativeCaptureSdrOutput, AcceleratedNativeRawDevelopmentOutput, IrradianceConvolutionResult, AcceleratedPackedSensorRawResult,\n TemporalExposureSumResult, ChartRadianceResult } from \"./gpu/image-kernel-accelerator.js\";\nexport { BUILT_IN_BAYER_DEMOSAIC_MODEL_VERSION, createBuiltInBayerDemosaicProfiles, type BuiltInBayerDemosaicKernel, type BuiltInBayerDemosaicProfiles,\n type CreateBuiltInBayerDemosaicProfilesInput, type RawReconstructionBorderHandling } from \"./sensor/raw-reconstruction.js\";\nexport { PROCESSING_MAX_PIXELS, PROCESSING_MAX_FRAMES, PROCESSING_DEFAULT_MAXIMUM_WORKING_BYTES, PROCESSING_MODEL_VERSION,\n type ProcessingProvider, type ProcessingTask, type ProcessingTaskState, type ProcessingRgbImage, type ProcessingLinearColorSpace,\n type ProcessingProvenance } from \"./processing/processing-task.js\";\nexport { createCfaPlaneReconstructionTask, createAhdDemosaicTask, type CfaMosaicPlane, type CfaPlaneReconstructionInput,\n type CfaPlaneReconstructionOutput, type AhdDemosaicInput, type AhdDemosaicOutput } from \"./processing/demosaic.js\";\nexport { createHdrBracketMergeTask, createHdrImageEncodingTask, type HdrBracketFrame, type HdrBracketMergeInput, type HdrBracketMergeOutput,\n type HdrTransfer, type HdrImageEncodingInput, type HdrImageEncodingOutput } from \"./processing/hdr.js\";\nexport { createReinhardGlobalToneMappingTask, createDurandDorseyToneMappingTask, createExposureFusionTask, type ToneMappedImage,\n type ReinhardGlobalToneMappingInput, type ReinhardGlobalToneMappingOutput, type DurandDorseyToneMappingInput, type DurandDorseyToneMappingOutput,\n type ExposureFusionInput, type ExposureFusionOutput } from \"./processing/tone-mapping.js\";\nexport { createFocusStackTask, type FocusStackInput, type FocusStackOutput } from \"./processing/focus-stacking.js\";\nexport { createPanoramaTask, type PanoramaFrame, type PanoramaCanvas, type PanoramaInput, type PanoramaOutput } from \"./processing/panorama.js\";\nexport { SYNTHETIC_FILM_GRAIN_STREAM_ID, createBilateralFilterTask, createNonLocalMeansTask, createUnsharpMaskTask, createSyntheticFilmGrainTask,\n type ProcessedRgbImage, type BilateralFilterInput, type NonLocalMeansInput, type UnsharpMaskInput, type SyntheticFilmGrainInput,\n type SyntheticFilmGrainOutput } from \"./processing/denoise.js\";\n\nexport { calculateSensorApertureRays, type CalculateSensorApertureRaysInput, type IdealCircularPupil, type SensorApertureRay, type SensorApertureRays } from \"./optics/sensor-aperture-rays.js\";\n\nexport { SIMULATE_CAPTURE_FACADE_VERSION, SIMULATE_CAPTURE_DEFAULT_ILLUMINANCE_LUX, SIMULATE_CAPTURE_COST_OPTIONS, simulateCapture,\n type SimulateCaptureOptions, type SimulateCaptureResult, type SimulateCaptureAssumption, type SimulateCaptureProgress,\n type SimulateCaptureExposureMode, type SimulateCaptureOutputFormat, type SimulateCaptureWhiteBalance, type SimulateCaptureColorEncoding,\n type SimulateCaptureDemosaic, type SimulateCaptureBorderHandling, type SimulateCaptureLensDistortion, type SimulateCaptureMotion,\n type SimulateCaptureSensorAntiAliasing, type SimulateCaptureCostOption } from \"./facade/simulate-capture.js\";\nexport { CHART_SCENE_PRESETS, CHART_SCENE_DEFAULTS, CHART_SPECTRAL_RANGE_NANOMETERS, resolveChartScene, calculateStepWedgeReflectances,\n calculatePointGridCenters, type ChartScene, type ChartScenePresetId, type ChartReflectance, type ResolvedChartScene, type UniformChartScene,\n type SlantedEdgeChartScene, type SiemensStarChartScene, type StepWedgeChartScene, type GreyRampChartScene, type CheckerboardChartScene,\n type PointGridChartScene, type PatchChartScene } from \"./facade/chart-scenes.js\";\nexport { PHOTOPIC_MAXIMUM_LUMINOUS_EFFICACY_LM_PER_W, resolveCaptureIlluminant, createPlanarSceneRadianceProvider,\n type CaptureIlluminant, type ResolvedCaptureIlluminant, type CallerReflectanceScene, type CallerRadianceScene, type ScenePlanePoint,\n type PlanarSceneRadianceProvider } from \"./facade/scene-radiance.js\";\nexport { CHART_RADIANCE_BATCH_SCHEMA_VERSION, CHART_RADIANCE_BATCH_LIMITS, calculateChartRadianceBatchPlan, calculateChartRadianceBatch,\n mapEnvironmentDirectionsToChartPoints, type ChartRadianceBatchInput, type ChartRadianceBatchPlan } from \"./facade/chart-radiance-batch.js\";\nexport { EXPORT_JPEG_ENCODER_ID } from \"./capture/export-jpeg.js\";\nexport { DNG_IMPORT_SCHEMA_VERSION, DNG_IMPORT_LIMITS, parseDngRawImage } from \"./capture/dng-import.js\";\nexport { NATIVE_RAW_DNG_SCHEMA_VERSION, serializeNativeRawDng, type SerializeNativeRawDngInput, type NativeRawDng, type NativeRawDngChannelNoise } from \"./capture/native-raw-dng.js\";\nexport type { DngImportInput, ImportedDngRaw, ImportedDngCfa, ImportedDngBlackLevel, ImportedDngRect } from \"./capture/dng-import.js\";\nexport { parseLosslessJpeg, type LosslessJpegImage, type LosslessJpegLimits } from \"./capture/lossless-jpeg.js\";\nexport { PNG_ENCODER_ID, PNG_ENCODER_LIMITS, serializePngImage } from \"./output/png-encoder.js\";\nexport type { PngEncodeInput, PngColourEncoding, PngCicpPrimaries, PngCicpTransfer, PngMasteringDisplay, PngContentLightLevel } from \"./output/png-encoder.js\";\n\ndeclare global {\n /**\n * Minimal global AbortSignal type. It lets the published declarations type-check with\n * `lib: [\"es2022\"]` and no DOM or `@types/node` types. (Task and yield callbacks receive a signal\n * the engine creates.) It merges cleanly with the DOM, WebWorker and Node declarations, which\n * declare the same `aborted` member.\n */\n interface AbortSignal {\n readonly aborted: boolean;\n }\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  export declare const TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION: "0.1.0";
2
+ /** `maximumPixels` is the default grid limit; a request may raise it with its own `maximumPixels`, up to `ceilingPixels`. */
2
3
  export declare const TEMPORAL_EXPOSURE_SUM_LIMITS: Readonly<{
3
4
  maximumPixels: 24000000;
5
+ ceilingPixels: 134217728;
4
6
  maximumDimension: 16384;
5
7
  maximumTemporalSamples: 256;
6
8
  maximumDisplacementSites: 4096;
@@ -20,6 +22,11 @@ export interface TemporalExposureSumInput {
20
22
  /** Quadrature weights `[k][row]` (nodes × height), finite and non-negative, for example seconds of each row's window near t_k. */
21
23
  rowWeights: Float32Array | Float64Array;
22
24
  boundary: "zero-outside-grid";
25
+ /**
26
+ * Optional opt-in grid limit for large images: an integer from 1 to `TEMPORAL_EXPOSURE_SUM_LIMITS.ceilingPixels`.
27
+ * Default `TEMPORAL_EXPOSURE_SUM_LIMITS.maximumPixels` (24 000 000). It does not change the result.
28
+ */
29
+ maximumPixels?: number;
23
30
  }
24
31
  /** One temporal node: integer source offset of the top-left tap and the four bilinear weights (float64). */
25
32
  export interface TemporalExposureSumNode {
@@ -23,9 +23,12 @@
23
23
  */
24
24
  import { InvalidConfigurationError } from "../core/configuration-error.js";
25
25
  import { requireAllowlistedRecord } from "../core/record-validation.js";
26
+ import { FULL_RESOLUTION_CEILING_PIXELS, resolveRaisedLimit } from "../core/pixel-limits.js";
26
27
  export const TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION = "0.1.0";
28
+ /** `maximumPixels` is the default grid limit; a request may raise it with its own `maximumPixels`, up to `ceilingPixels`. */
27
29
  export const TEMPORAL_EXPOSURE_SUM_LIMITS = Object.freeze({
28
30
  maximumPixels: 24_000_000,
31
+ ceilingPixels: FULL_RESOLUTION_CEILING_PIXELS,
29
32
  maximumDimension: 16_384,
30
33
  maximumTemporalSamples: 256,
31
34
  maximumDisplacementSites: 4_096,
@@ -42,13 +45,14 @@ function positiveInteger(value, maximum) {
42
45
  }
43
46
  /** Validates the request (every value once) and returns its plan. */
44
47
  export function calculateTemporalExposureSumPlan(input) {
45
- const r = requireAllowlistedRecord(input, ["schemaVersion", "width", "height", "samples", "displacements", "rowWeights", "boundary"], "Invalid temporal exposure sum input.");
48
+ const r = requireAllowlistedRecord(input, ["schemaVersion", "width", "height", "samples", "displacements", "rowWeights", "boundary", "maximumPixels"], "Invalid temporal exposure sum input.");
46
49
  const L = TEMPORAL_EXPOSURE_SUM_LIMITS;
47
50
  if (r.schemaVersion !== TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION || r.boundary !== "zero-outside-grid") {
48
51
  throw new InvalidConfigurationError("Unsupported temporal exposure sum schema or boundary.");
49
52
  }
50
53
  const width = positiveInteger(r.width, L.maximumDimension), height = positiveInteger(r.height, L.maximumDimension);
51
- if (width * height > L.maximumPixels)
54
+ const maximumPixels = resolveRaisedLimit(r.maximumPixels, L.maximumPixels, L.ceilingPixels, "Temporal exposure sum maximumPixels must be an integer from 1 to " + L.ceilingPixels + ".");
55
+ if (width * height > maximumPixels)
52
56
  throw new InvalidConfigurationError("Temporal exposure sum grid exceeds the pixel limit.");
53
57
  const samples = r.samples, displacements = r.displacements, weights = r.rowWeights;
54
58
  if (!(displacements instanceof Float64Array) || displacements.length < 2 || displacements.length % 2 !== 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-exposure-sum.js","sourceRoot":"","sources":["../../src/motion/temporal-exposure-sum.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Exposure and motion as a weighted sum of shifted frames (#277, image-formation step 3). The CPU\n * float64 reference for the `webgpu-f32` temporal stage; see docs/WEBGPU.md.\n *\n * A site's exposure is the time integral of its image-plane rate quantity over its own exposure window,\n * H = ∫ E(x, t) dt (EMVA Standard 1288 Release 4.0 Linear, §2, free; CIPA DC-004-2020 §5.5, free). For an\n * image that translates rigidly by d(t) on the sensor, E(x, t) = E₀(x − d(t)), so a temporal quadrature\n * with nodes t_k and weights w_k gives\n *\n * out(x, y) = Σ_k w_k(y) · E₀(x − dx_k, y − dy_k).\n *\n * Motion blur is this superposition of displaced images (Szeliski, *Computer Vision: Algorithms and\n * Applications*, 2nd ed., 2022, free at https://szeliski.org/Book/). The weights depend on the row so a\n * rolling shutter, whose rows start and end their exposure at different times, is the same sum with\n * row-dependent windows (Meingast, Geyer & Sastry, \"Geometric Models of Rolling-Shutter Cameras\",\n * arXiv:cs/0503076, free); a global shutter uses the same weights on every row.\n *\n * Declared approximations, owned by the caller: the quadrature nodes and weights, and rigid translation\n * (no rotation, warp or occlusion). Sub-site displacements use bilinear interpolation between the four\n * nearest site centres, which is linear interpolation and slightly low-pass; it is labelled as an\n * approximation, not exact resampling. Sources outside the grid are zero; no padding or renormalization.\n */\nimport { InvalidConfigurationError } from \"../core/configuration-error.js\";\nimport { requireAllowlistedRecord } from \"../core/record-validation.js\";\n\nexport const TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION = \"0.1.0\" as const;\nexport const TEMPORAL_EXPOSURE_SUM_LIMITS = Object.freeze({\n maximumPixels: 24_000_000,\n maximumDimension: 16_384,\n maximumTemporalSamples: 256,\n maximumDisplacementSites: 4_096,\n maximumRowWeights: 4_194_304,\n /** Keeps every float32 partial sum finite: 256 · 2^16 · 2^100 < 2^128. */\n maximumSampleMagnitude: 2 ** 100,\n maximumWeight: 2 ** 16\n});\n\nexport interface TemporalExposureSumInput {\n schemaVersion: typeof TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION;\n width: number;\n height: number;\n /** Row-major rate samples E₀ at site centres. Finite, non-negative, linear and additive (irradiance, photon or electron rate). */\n samples: Float32Array | Float64Array;\n /** Image displacement at each temporal node in grid sites, interleaved (dx₀, dy₀, dx₁, dy₁, …); +x right, +y down. */\n displacements: Float64Array;\n /** Quadrature weights `[k][row]` (nodes × height), finite and non-negative, for example seconds of each row's window near t_k. */\n rowWeights: Float32Array | Float64Array;\n boundary: \"zero-outside-grid\";\n}\n\n/** One temporal node: integer source offset of the top-left tap and the four bilinear weights (float64). */\nexport interface TemporalExposureSumNode {\n offsetX: number;\n offsetY: number;\n weights: readonly [number, number, number, number];\n}\n\nexport interface TemporalExposureSumPlan {\n width: number;\n height: number;\n nodeCount: number;\n nodes: readonly TemporalExposureSumNode[];\n maximumSampleMagnitude: number;\n /** Largest Σ_k w_k(y) over rows; the operator's weight sum for error composition. */\n maximumRowWeightSum: number;\n maximumWeight: number;\n /** True when every displacement is a whole number of sites (no interpolation). */\n integerDisplacements: boolean;\n}\n\nfunction positiveInteger(value: unknown, maximum: number): number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value <= 0 || value > maximum) {\n throw new InvalidConfigurationError(\"Invalid temporal exposure sum geometry.\");\n }\n return value;\n}\n\n/** Validates the request (every value once) and returns its plan. */\nexport function calculateTemporalExposureSumPlan(input: TemporalExposureSumInput): TemporalExposureSumPlan {\n const r = requireAllowlistedRecord(input, [\"schemaVersion\", \"width\", \"height\", \"samples\", \"displacements\", \"rowWeights\", \"boundary\"],\n \"Invalid temporal exposure sum input.\");\n const L = TEMPORAL_EXPOSURE_SUM_LIMITS;\n if (r.schemaVersion !== TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION || r.boundary !== \"zero-outside-grid\") {\n throw new InvalidConfigurationError(\"Unsupported temporal exposure sum schema or boundary.\");\n }\n const width = positiveInteger(r.width, L.maximumDimension), height = positiveInteger(r.height, L.maximumDimension);\n if (width * height > L.maximumPixels) throw new InvalidConfigurationError(\"Temporal exposure sum grid exceeds the pixel limit.\");\n const samples = r.samples, displacements = r.displacements, weights = r.rowWeights;\n if (!(displacements instanceof Float64Array) || displacements.length < 2 || displacements.length % 2 !== 0 ||\n displacements.length / 2 > L.maximumTemporalSamples) {\n throw new InvalidConfigurationError(\"Temporal exposure sum needs 1 to 256 displacement pairs.\");\n }\n const nodeCount = displacements.length / 2;\n if (!(samples instanceof Float32Array || samples instanceof Float64Array) || samples.length !== width * height ||\n !(weights instanceof Float32Array || weights instanceof Float64Array) || weights.length !== nodeCount * height ||\n weights.length > L.maximumRowWeights) {\n throw new InvalidConfigurationError(\"Temporal exposure sum arrays do not match the declared geometry.\");\n }\n let maximumSampleMagnitude = 0;\n for (let i = 0; i < samples.length; i++) {\n const v = samples[i]!;\n if (!(v >= 0 && v <= L.maximumSampleMagnitude)) throw new InvalidConfigurationError(\"Temporal samples must be finite, non-negative and bounded.\");\n if (v > maximumSampleMagnitude) maximumSampleMagnitude = v;\n }\n let maximumWeight = 0, maximumRowWeightSum = 0;\n const rowSums = new Float64Array(height);\n for (let k = 0; k < nodeCount; k++) {\n for (let y = 0; y < height; y++) {\n const w = weights[k * height + y]!;\n if (!(w >= 0 && w <= L.maximumWeight)) throw new InvalidConfigurationError(\"Temporal row weights must be finite, non-negative and bounded.\");\n if (w > maximumWeight) maximumWeight = w;\n rowSums[y]! += w;\n }\n }\n for (const s of rowSums) if (s > maximumRowWeightSum) maximumRowWeightSum = s;\n let integerDisplacements = true;\n const nodes: TemporalExposureSumNode[] = [];\n for (let k = 0; k < nodeCount; k++) {\n const dx = displacements[2 * k]!, dy = displacements[2 * k + 1]!;\n if (!(Math.abs(dx) <= L.maximumDisplacementSites && Math.abs(dy) <= L.maximumDisplacementSites)) {\n throw new InvalidConfigurationError(\"Temporal displacements must be finite and within 4096 sites.\");\n }\n // Source position x − dx = x + offsetX + ax with ax in [0, 1).\n const offsetX = Math.floor(-dx), offsetY = Math.floor(-dy), ax = -dx - offsetX, ay = -dy - offsetY;\n if (ax !== 0 || ay !== 0) integerDisplacements = false;\n nodes.push(Object.freeze({ offsetX, offsetY,\n weights: Object.freeze([(1 - ax) * (1 - ay), ax * (1 - ay), (1 - ax) * ay, ax * ay] as const) }));\n }\n return Object.freeze({ width, height, nodeCount, nodes: Object.freeze(nodes), maximumSampleMagnitude, maximumRowWeightSum, maximumWeight,\n integerDisplacements });\n}\n\n/**\n * Reference rows `[y0, y1)` into `output` at `(y − y0)·width + x`. The order (node ascending; taps 00,\n * 10, 01, 11 summed left to right; then times the row weight) is part of the contract shared with the\n * WGSL kernel.\n * @internal\n */\nexport function sumTemporalExposureRows(plan: TemporalExposureSumPlan, samples: Float32Array | Float64Array, rowWeights: Float32Array | Float64Array,\n y0: number, y1: number, output: Float64Array): void {\n const { width, height, nodes } = plan;\n for (let y = y0; y < y1; y++) {\n for (let x = 0; x < width; x++) {\n let sum = 0;\n for (let k = 0; k < nodes.length; k++) {\n const node = nodes[k]!, sx = x + node.offsetX, sy = y + node.offsetY, b = node.weights;\n const left = sx >= 0 && sx < width, right = sx + 1 >= 0 && sx + 1 < width;\n const top = sy >= 0 && sy < height, bottom = sy + 1 >= 0 && sy + 1 < height;\n let inner = 0;\n if (top && left) inner += b[0] * samples[sy * width + sx]!;\n if (top && right) inner += b[1] * samples[sy * width + sx + 1]!;\n if (bottom && left) inner += b[2] * samples[(sy + 1) * width + sx]!;\n if (bottom && right) inner += b[3] * samples[(sy + 1) * width + sx + 1]!;\n sum += rowWeights[k * height + y]! * inner;\n }\n output[(y - y0) * width + x] = sum;\n }\n }\n}\n\n/** Synchronous float64 reference for bounded grids. Use the image-kernel accelerator for large grids. */\nexport function calculateTemporalExposureSum(input: TemporalExposureSumInput): { plan: TemporalExposureSumPlan; values: Float64Array } {\n const plan = calculateTemporalExposureSumPlan(input);\n const values = new Float64Array(plan.width * plan.height);\n sumTemporalExposureRows(plan, input.samples, input.rowWeights, 0, plan.height, values);\n return { plan, values };\n}\n"]}
1
+ {"version":3,"file":"temporal-exposure-sum.js","sourceRoot":"","sources":["../../src/motion/temporal-exposure-sum.ts"],"names":[],"mappings":"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","sourcesContent":["// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Exposure and motion as a weighted sum of shifted frames (#277, image-formation step 3). The CPU\n * float64 reference for the `webgpu-f32` temporal stage; see docs/WEBGPU.md.\n *\n * A site's exposure is the time integral of its image-plane rate quantity over its own exposure window,\n * H = ∫ E(x, t) dt (EMVA Standard 1288 Release 4.0 Linear, §2, free; CIPA DC-004-2020 §5.5, free). For an\n * image that translates rigidly by d(t) on the sensor, E(x, t) = E₀(x − d(t)), so a temporal quadrature\n * with nodes t_k and weights w_k gives\n *\n * out(x, y) = Σ_k w_k(y) · E₀(x − dx_k, y − dy_k).\n *\n * Motion blur is this superposition of displaced images (Szeliski, *Computer Vision: Algorithms and\n * Applications*, 2nd ed., 2022, free at https://szeliski.org/Book/). The weights depend on the row so a\n * rolling shutter, whose rows start and end their exposure at different times, is the same sum with\n * row-dependent windows (Meingast, Geyer & Sastry, \"Geometric Models of Rolling-Shutter Cameras\",\n * arXiv:cs/0503076, free); a global shutter uses the same weights on every row.\n *\n * Declared approximations, owned by the caller: the quadrature nodes and weights, and rigid translation\n * (no rotation, warp or occlusion). Sub-site displacements use bilinear interpolation between the four\n * nearest site centres, which is linear interpolation and slightly low-pass; it is labelled as an\n * approximation, not exact resampling. Sources outside the grid are zero; no padding or renormalization.\n */\nimport { InvalidConfigurationError } from \"../core/configuration-error.js\";\nimport { requireAllowlistedRecord } from \"../core/record-validation.js\";\nimport { FULL_RESOLUTION_CEILING_PIXELS, resolveRaisedLimit } from \"../core/pixel-limits.js\";\n\nexport const TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION = \"0.1.0\" as const;\n/** `maximumPixels` is the default grid limit; a request may raise it with its own `maximumPixels`, up to `ceilingPixels`. */\nexport const TEMPORAL_EXPOSURE_SUM_LIMITS = Object.freeze({\n maximumPixels: 24_000_000,\n ceilingPixels: FULL_RESOLUTION_CEILING_PIXELS,\n maximumDimension: 16_384,\n maximumTemporalSamples: 256,\n maximumDisplacementSites: 4_096,\n maximumRowWeights: 4_194_304,\n /** Keeps every float32 partial sum finite: 256 · 2^16 · 2^100 < 2^128. */\n maximumSampleMagnitude: 2 ** 100,\n maximumWeight: 2 ** 16\n});\n\nexport interface TemporalExposureSumInput {\n schemaVersion: typeof TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION;\n width: number;\n height: number;\n /** Row-major rate samples E₀ at site centres. Finite, non-negative, linear and additive (irradiance, photon or electron rate). */\n samples: Float32Array | Float64Array;\n /** Image displacement at each temporal node in grid sites, interleaved (dx₀, dy₀, dx₁, dy₁, …); +x right, +y down. */\n displacements: Float64Array;\n /** Quadrature weights `[k][row]` (nodes × height), finite and non-negative, for example seconds of each row's window near t_k. */\n rowWeights: Float32Array | Float64Array;\n boundary: \"zero-outside-grid\";\n /**\n * Optional opt-in grid limit for large images: an integer from 1 to `TEMPORAL_EXPOSURE_SUM_LIMITS.ceilingPixels`.\n * Default `TEMPORAL_EXPOSURE_SUM_LIMITS.maximumPixels` (24 000 000). It does not change the result.\n */\n maximumPixels?: number;\n}\n\n/** One temporal node: integer source offset of the top-left tap and the four bilinear weights (float64). */\nexport interface TemporalExposureSumNode {\n offsetX: number;\n offsetY: number;\n weights: readonly [number, number, number, number];\n}\n\nexport interface TemporalExposureSumPlan {\n width: number;\n height: number;\n nodeCount: number;\n nodes: readonly TemporalExposureSumNode[];\n maximumSampleMagnitude: number;\n /** Largest Σ_k w_k(y) over rows; the operator's weight sum for error composition. */\n maximumRowWeightSum: number;\n maximumWeight: number;\n /** True when every displacement is a whole number of sites (no interpolation). */\n integerDisplacements: boolean;\n}\n\nfunction positiveInteger(value: unknown, maximum: number): number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value <= 0 || value > maximum) {\n throw new InvalidConfigurationError(\"Invalid temporal exposure sum geometry.\");\n }\n return value;\n}\n\n/** Validates the request (every value once) and returns its plan. */\nexport function calculateTemporalExposureSumPlan(input: TemporalExposureSumInput): TemporalExposureSumPlan {\n const r = requireAllowlistedRecord(input, [\"schemaVersion\", \"width\", \"height\", \"samples\", \"displacements\", \"rowWeights\", \"boundary\", \"maximumPixels\"],\n \"Invalid temporal exposure sum input.\");\n const L = TEMPORAL_EXPOSURE_SUM_LIMITS;\n if (r.schemaVersion !== TEMPORAL_EXPOSURE_SUM_SCHEMA_VERSION || r.boundary !== \"zero-outside-grid\") {\n throw new InvalidConfigurationError(\"Unsupported temporal exposure sum schema or boundary.\");\n }\n const width = positiveInteger(r.width, L.maximumDimension), height = positiveInteger(r.height, L.maximumDimension);\n const maximumPixels = resolveRaisedLimit(r.maximumPixels, L.maximumPixels, L.ceilingPixels,\n \"Temporal exposure sum maximumPixels must be an integer from 1 to \" + L.ceilingPixels + \".\");\n if (width * height > maximumPixels) throw new InvalidConfigurationError(\"Temporal exposure sum grid exceeds the pixel limit.\");\n const samples = r.samples, displacements = r.displacements, weights = r.rowWeights;\n if (!(displacements instanceof Float64Array) || displacements.length < 2 || displacements.length % 2 !== 0 ||\n displacements.length / 2 > L.maximumTemporalSamples) {\n throw new InvalidConfigurationError(\"Temporal exposure sum needs 1 to 256 displacement pairs.\");\n }\n const nodeCount = displacements.length / 2;\n if (!(samples instanceof Float32Array || samples instanceof Float64Array) || samples.length !== width * height ||\n !(weights instanceof Float32Array || weights instanceof Float64Array) || weights.length !== nodeCount * height ||\n weights.length > L.maximumRowWeights) {\n throw new InvalidConfigurationError(\"Temporal exposure sum arrays do not match the declared geometry.\");\n }\n let maximumSampleMagnitude = 0;\n for (let i = 0; i < samples.length; i++) {\n const v = samples[i]!;\n if (!(v >= 0 && v <= L.maximumSampleMagnitude)) throw new InvalidConfigurationError(\"Temporal samples must be finite, non-negative and bounded.\");\n if (v > maximumSampleMagnitude) maximumSampleMagnitude = v;\n }\n let maximumWeight = 0, maximumRowWeightSum = 0;\n const rowSums = new Float64Array(height);\n for (let k = 0; k < nodeCount; k++) {\n for (let y = 0; y < height; y++) {\n const w = weights[k * height + y]!;\n if (!(w >= 0 && w <= L.maximumWeight)) throw new InvalidConfigurationError(\"Temporal row weights must be finite, non-negative and bounded.\");\n if (w > maximumWeight) maximumWeight = w;\n rowSums[y]! += w;\n }\n }\n for (const s of rowSums) if (s > maximumRowWeightSum) maximumRowWeightSum = s;\n let integerDisplacements = true;\n const nodes: TemporalExposureSumNode[] = [];\n for (let k = 0; k < nodeCount; k++) {\n const dx = displacements[2 * k]!, dy = displacements[2 * k + 1]!;\n if (!(Math.abs(dx) <= L.maximumDisplacementSites && Math.abs(dy) <= L.maximumDisplacementSites)) {\n throw new InvalidConfigurationError(\"Temporal displacements must be finite and within 4096 sites.\");\n }\n // Source position x − dx = x + offsetX + ax with ax in [0, 1).\n const offsetX = Math.floor(-dx), offsetY = Math.floor(-dy), ax = -dx - offsetX, ay = -dy - offsetY;\n if (ax !== 0 || ay !== 0) integerDisplacements = false;\n nodes.push(Object.freeze({ offsetX, offsetY,\n weights: Object.freeze([(1 - ax) * (1 - ay), ax * (1 - ay), (1 - ax) * ay, ax * ay] as const) }));\n }\n return Object.freeze({ width, height, nodeCount, nodes: Object.freeze(nodes), maximumSampleMagnitude, maximumRowWeightSum, maximumWeight,\n integerDisplacements });\n}\n\n/**\n * Reference rows `[y0, y1)` into `output` at `(y − y0)·width + x`. The order (node ascending; taps 00,\n * 10, 01, 11 summed left to right; then times the row weight) is part of the contract shared with the\n * WGSL kernel.\n * @internal\n */\nexport function sumTemporalExposureRows(plan: TemporalExposureSumPlan, samples: Float32Array | Float64Array, rowWeights: Float32Array | Float64Array,\n y0: number, y1: number, output: Float64Array): void {\n const { width, height, nodes } = plan;\n for (let y = y0; y < y1; y++) {\n for (let x = 0; x < width; x++) {\n let sum = 0;\n for (let k = 0; k < nodes.length; k++) {\n const node = nodes[k]!, sx = x + node.offsetX, sy = y + node.offsetY, b = node.weights;\n const left = sx >= 0 && sx < width, right = sx + 1 >= 0 && sx + 1 < width;\n const top = sy >= 0 && sy < height, bottom = sy + 1 >= 0 && sy + 1 < height;\n let inner = 0;\n if (top && left) inner += b[0] * samples[sy * width + sx]!;\n if (top && right) inner += b[1] * samples[sy * width + sx + 1]!;\n if (bottom && left) inner += b[2] * samples[(sy + 1) * width + sx]!;\n if (bottom && right) inner += b[3] * samples[(sy + 1) * width + sx + 1]!;\n sum += rowWeights[k * height + y]! * inner;\n }\n output[(y - y0) * width + x] = sum;\n }\n }\n}\n\n/** Synchronous float64 reference for bounded grids. Use the image-kernel accelerator for large grids. */\nexport function calculateTemporalExposureSum(input: TemporalExposureSumInput): { plan: TemporalExposureSumPlan; values: Float64Array } {\n const plan = calculateTemporalExposureSumPlan(input);\n const values = new Float64Array(plan.width * plan.height);\n sumTemporalExposureRows(plan, input.samples, input.rowWeights, 0, plan.height, values);\n return { plan, values };\n}\n"]}