@photivra/engine 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/CITATION.cff +1 -1
  3. package/README.md +6 -6
  4. package/dist/capture/environment-raw-producer.d.ts +6 -3
  5. package/dist/capture/environment-raw-producer.d.ts.map +1 -1
  6. package/dist/capture/environment-raw-producer.js +26 -15
  7. package/dist/capture/environment-raw-producer.js.map +1 -1
  8. package/dist/capture/export-jpeg.d.ts +9 -0
  9. package/dist/capture/export-jpeg.d.ts.map +1 -1
  10. package/dist/capture/export-jpeg.js +51 -12
  11. package/dist/capture/export-jpeg.js.map +1 -1
  12. package/dist/capture/native-environment-raw.d.ts +43 -0
  13. package/dist/capture/native-environment-raw.d.ts.map +1 -0
  14. package/dist/capture/native-environment-raw.js +81 -0
  15. package/dist/capture/native-environment-raw.js.map +1 -0
  16. package/dist/capture/native-raw-development.d.ts +39 -0
  17. package/dist/capture/native-raw-development.d.ts.map +1 -0
  18. package/dist/capture/native-raw-development.js +153 -0
  19. package/dist/capture/native-raw-development.js.map +1 -0
  20. package/dist/capture/native-raw.d.ts +79 -0
  21. package/dist/capture/native-raw.d.ts.map +1 -0
  22. package/dist/capture/native-raw.js +142 -0
  23. package/dist/capture/native-raw.js.map +1 -0
  24. package/dist/capture/raw-frame-reconstruction.d.ts +2 -0
  25. package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -1
  26. package/dist/capture/raw-frame-reconstruction.js +18 -13
  27. package/dist/capture/raw-frame-reconstruction.js.map +1 -1
  28. package/dist/capture/sensor-raw-producer.d.ts +8 -0
  29. package/dist/capture/sensor-raw-producer.d.ts.map +1 -1
  30. package/dist/capture/sensor-raw-producer.js +43 -38
  31. package/dist/capture/sensor-raw-producer.js.map +1 -1
  32. package/dist/capture/simulated-capture.d.ts +8 -0
  33. package/dist/capture/simulated-capture.d.ts.map +1 -1
  34. package/dist/capture/simulated-capture.js +24 -13
  35. package/dist/capture/simulated-capture.js.map +1 -1
  36. package/dist/color/srgb-icc.d.ts +8 -0
  37. package/dist/color/srgb-icc.d.ts.map +1 -0
  38. package/dist/color/srgb-icc.js +67 -0
  39. package/dist/color/srgb-icc.js.map +1 -0
  40. package/dist/color/srgb-transfer.d.ts +4 -0
  41. package/dist/color/srgb-transfer.d.ts.map +1 -0
  42. package/dist/color/srgb-transfer.js +9 -0
  43. package/dist/color/srgb-transfer.js.map +1 -0
  44. package/dist/composition/image-formation-plan.d.ts.map +1 -1
  45. package/dist/composition/image-formation-plan.js +21 -9
  46. package/dist/composition/image-formation-plan.js.map +1 -1
  47. package/dist/core/version.d.ts +1 -1
  48. package/dist/core/version.js +1 -1
  49. package/dist/index.d.ts +12 -2
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +6 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/motion/camera-rotation.d.ts +8 -0
  54. package/dist/motion/camera-rotation.d.ts.map +1 -1
  55. package/dist/motion/camera-rotation.js +2 -1
  56. package/dist/motion/camera-rotation.js.map +1 -1
  57. package/dist/optics/sensor-aperture-rays.d.ts +56 -0
  58. package/dist/optics/sensor-aperture-rays.d.ts.map +1 -0
  59. package/dist/optics/sensor-aperture-rays.js +55 -0
  60. package/dist/optics/sensor-aperture-rays.js.map +1 -0
  61. package/dist/output/print-jpeg.d.ts +63 -0
  62. package/dist/output/print-jpeg.d.ts.map +1 -0
  63. package/dist/output/print-jpeg.js +141 -0
  64. package/dist/output/print-jpeg.js.map +1 -0
  65. package/dist/output/sdr-rendering.d.ts.map +1 -1
  66. package/dist/output/sdr-rendering.js +2 -1
  67. package/dist/output/sdr-rendering.js.map +1 -1
  68. package/dist/sensor/environment-photo-signal.d.ts +23 -5
  69. package/dist/sensor/environment-photo-signal.d.ts.map +1 -1
  70. package/dist/sensor/environment-photo-signal.js +53 -19
  71. package/dist/sensor/environment-photo-signal.js.map +1 -1
  72. package/dist/sensor/raw-reconstruction.d.ts +5 -0
  73. package/dist/sensor/raw-reconstruction.d.ts.map +1 -1
  74. package/dist/sensor/raw-reconstruction.js +21 -47
  75. package/dist/sensor/raw-reconstruction.js.map +1 -1
  76. package/docs/API_REFERENCE.md +87 -1
  77. package/docs/API_STYLE.md +1 -1
  78. package/docs/DEVELOPERS.md +5 -5
  79. package/docs/ENVIRONMENT_RAW_CAPTURE.md +24 -3
  80. package/docs/NATIVE_RAW_AND_PRINT.md +47 -0
  81. package/docs/RELEASE_1_3_0.md +15 -0
  82. package/docs/RELEASE_1_4_0.md +23 -0
  83. package/docs/SENSOR_APERTURE_RAYS.md +23 -0
  84. package/docs/api/camera-equivalent-focal-length.md +1 -1
  85. package/docs/api/camera-field-of-view.md +1 -1
  86. package/docs/api/camera-projected-object-size.md +1 -1
  87. package/docs/api/capture-capture-export-metadata.md +1 -1
  88. package/docs/api/capture-environment-raw-producer.md +3 -2
  89. package/docs/api/capture-focus-control.md +1 -1
  90. package/docs/api/capture-linear-encoding.md +1 -1
  91. package/docs/api/capture-native-environment-raw.md +88 -0
  92. package/docs/api/capture-native-raw-development.md +66 -0
  93. package/docs/api/capture-native-raw.md +157 -0
  94. package/docs/api/capture-photographic-export.md +1 -1
  95. package/docs/api/capture-raw-frame-reconstruction.md +1 -1
  96. package/docs/api/capture-release-sequence.md +1 -1
  97. package/docs/api/capture-sensor-raw-frame.md +1 -1
  98. package/docs/api/capture-sensor-raw-producer.md +1 -1
  99. package/docs/api/capture-simulated-capture.md +9 -1
  100. package/docs/api/color-capture-color.md +1 -1
  101. package/docs/api/color-srgb-icc.md +23 -0
  102. package/docs/api/color-white-balance.md +1 -1
  103. package/docs/api/composition-image-formation-plan.md +1 -1
  104. package/docs/api/composition-plan-consumer.md +1 -1
  105. package/docs/api/core-calculation-result.md +1 -1
  106. package/docs/api/core-configuration-error.md +1 -1
  107. package/docs/api/core-image-formation.md +1 -1
  108. package/docs/api/core-scientific-assurance.md +1 -1
  109. package/docs/api/core-spectral-composition.md +1 -1
  110. package/docs/api/core-spectral.md +1 -1
  111. package/docs/api/core-validation.md +1 -1
  112. package/docs/api/core-version.md +2 -2
  113. package/docs/api/equipment-exposure-capabilities.md +1 -1
  114. package/docs/api/equipment-generic-tier-assets.md +1 -1
  115. package/docs/api/equipment-generic-tier-presets.md +1 -1
  116. package/docs/api/equipment-iso-capabilities.md +1 -1
  117. package/docs/api/equipment-metering-capabilities.md +1 -1
  118. package/docs/api/equipment-release-capabilities.md +1 -1
  119. package/docs/api/exports.json +222 -2
  120. package/docs/api/exposure-exposure-duration-control.md +1 -1
  121. package/docs/api/exposure-exposure-mode-resolver.md +1 -1
  122. package/docs/api/exposure-exposure.md +1 -1
  123. package/docs/api/exposure-flash.md +1 -1
  124. package/docs/api/exposure-metering-scene-radiance.md +1 -1
  125. package/docs/api/exposure-metering-target.md +1 -1
  126. package/docs/api/exposure-metering-temporal.md +1 -1
  127. package/docs/api/exposure-metering.md +1 -1
  128. package/docs/api/exposure-program-line.md +1 -1
  129. package/docs/api/motion-camera-rotation.md +1 -1
  130. package/docs/api/motion-capture-rotation-inverse-mapping.md +1 -1
  131. package/docs/api/motion-capture-rotation-temporal-quadrature.md +1 -1
  132. package/docs/api/motion-capture-rotation-trajectory.md +1 -1
  133. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +1 -1
  134. package/docs/api/motion-extended-object-projection.md +1 -1
  135. package/docs/api/motion-projected-motion.md +1 -1
  136. package/docs/api/optics-aperture.md +1 -1
  137. package/docs/api/optics-circle-of-confusion.md +1 -1
  138. package/docs/api/optics-complex-pupil-psf.md +1 -1
  139. package/docs/api/optics-depth-of-field.md +1 -1
  140. package/docs/api/optics-diffraction.md +1 -1
  141. package/docs/api/optics-focus-breathing.md +1 -1
  142. package/docs/api/optics-focus-state.md +1 -1
  143. package/docs/api/optics-front-of-lens-filter.md +1 -1
  144. package/docs/api/optics-illumination-vignetting.md +1 -1
  145. package/docs/api/optics-lateral-chromatic-aberration.md +1 -1
  146. package/docs/api/optics-lens-psf-profile.md +1 -1
  147. package/docs/api/optics-polygon-diffraction.md +1 -1
  148. package/docs/api/optics-profile-contract.md +1 -1
  149. package/docs/api/optics-psf-foundation.md +1 -1
  150. package/docs/api/optics-radial-distortion.md +1 -1
  151. package/docs/api/optics-scene-to-sensor-irradiance.md +1 -1
  152. package/docs/api/optics-scene-to-sensor-quadrature.md +1 -1
  153. package/docs/api/optics-sensor-aperture-rays.md +75 -0
  154. package/docs/api/optics-sensor-environment-query.md +1 -1
  155. package/docs/api/optics-sensor-psf-quadrature.md +1 -1
  156. package/docs/api/optics-stray-light.md +1 -1
  157. package/docs/api/optics-thin-lens.md +1 -1
  158. package/docs/api/output-capture-corrected-sdr.md +1 -1
  159. package/docs/api/output-capture-geometry.md +1 -1
  160. package/docs/api/output-capture-sdr.md +1 -1
  161. package/docs/api/output-crop.md +1 -1
  162. package/docs/api/output-geometric-transforms.md +1 -1
  163. package/docs/api/output-lens-corrections.md +1 -1
  164. package/docs/api/output-native-capture-sdr.md +1 -1
  165. package/docs/api/output-print-contrast-reference.md +1 -1
  166. package/docs/api/output-print-detail.md +1 -1
  167. package/docs/api/output-print-jpeg.md +117 -0
  168. package/docs/api/output-print-plan.md +1 -1
  169. package/docs/api/output-print-region-statistics.md +1 -1
  170. package/docs/api/output-sdr-rendering.md +1 -1
  171. package/docs/api/output-subject-framing-crop.md +1 -1
  172. package/docs/api/schema-camera.md +1 -1
  173. package/docs/api/schema-illumination-spectral.md +1 -1
  174. package/docs/api/schema-illumination-temporal.md +1 -1
  175. package/docs/api/schema-illumination.md +1 -1
  176. package/docs/api/schema-scene-radiance-temporal.md +1 -1
  177. package/docs/api/schema-scene-radiance.md +1 -1
  178. package/docs/api/schema-scene.md +1 -1
  179. package/docs/api/schema-validation.md +1 -1
  180. package/docs/api/sensor-accumulated-charge.md +1 -1
  181. package/docs/api/sensor-architecture.md +1 -1
  182. package/docs/api/sensor-camera-saturation-capacity.md +1 -1
  183. package/docs/api/sensor-capture-color-sampling-binding.md +1 -1
  184. package/docs/api/sensor-capture-mode-timing.md +1 -1
  185. package/docs/api/sensor-capture-mode.md +1 -1
  186. package/docs/api/sensor-color-sampling.md +1 -1
  187. package/docs/api/sensor-constant-rate-temporal-integration.md +1 -1
  188. package/docs/api/sensor-dark-current.md +1 -1
  189. package/docs/api/sensor-environment-photo-signal.md +22 -3
  190. package/docs/api/sensor-eqe-electron-rate.md +1 -1
  191. package/docs/api/sensor-eqe-local-exposure.md +1 -1
  192. package/docs/api/sensor-eqe-temporal-exposure.md +1 -1
  193. package/docs/api/sensor-exposure-window.md +1 -1
  194. package/docs/api/sensor-iso-signal-chain.md +1 -1
  195. package/docs/api/sensor-local-exposure-binding.md +1 -1
  196. package/docs/api/sensor-optical-stack.md +1 -1
  197. package/docs/api/sensor-photon-energy.md +1 -1
  198. package/docs/api/sensor-physical-charge-capacity.md +1 -1
  199. package/docs/api/sensor-pixel-pitch.md +1 -1
  200. package/docs/api/sensor-radiometry-readiness.md +1 -1
  201. package/docs/api/sensor-raw-readout.md +1 -1
  202. package/docs/api/sensor-raw-reconstruction.md +1 -1
  203. package/docs/api/sensor-readout-exposure-linkage.md +1 -1
  204. package/docs/api/sensor-readout-timing.md +1 -1
  205. package/docs/api/sensor-response-application-compatibility.md +1 -1
  206. package/docs/api/sensor-response-operating-range.md +1 -1
  207. package/docs/api/sensor-responsivity-photocurrent.md +1 -1
  208. package/docs/api/sensor-sampling-aperture.md +1 -1
  209. package/docs/api/sensor-scene-eqe-temporal-exposure.md +1 -1
  210. package/docs/api/sensor-sensor-geometry.md +1 -1
  211. package/docs/api/sensor-signal-noise.md +1 -1
  212. package/docs/api/sensor-spatial-sample-reduction.md +1 -1
  213. package/docs/api/sensor-spatial-sampling-quadrature.md +1 -1
  214. package/docs/api/sensor-spatio-spectral-reduction.md +1 -1
  215. package/docs/api/sensor-spectral-coverage.md +1 -1
  216. package/docs/api/sensor-spectral-quadrature.md +1 -1
  217. package/docs/api/sensor-spectral-response.md +1 -1
  218. package/docs/api/sensor-temporal-photo-signal.md +1 -1
  219. package/docs/api/simulation-poc-simulation.md +1 -1
  220. package/docs/api/stabilization-camera-shake.md +1 -1
  221. package/docs/api/stabilization-system.md +1 -1
  222. package/docs/validation/native-raw-print-2026-10-04/fractional-asymmetric-crop.jpg +0 -0
  223. package/docs/validation/native-raw-print-2026-10-04/gray-ramp.jpg +0 -0
  224. package/docs/validation/native-raw-print-2026-10-04/linear-area-checker.jpg +0 -0
  225. package/docs/validation/native-raw-print-2026-10-04/manifest.json +218 -0
  226. package/docs/validation/native-raw-print-2026-10-04/megapixel-native.jpg +0 -0
  227. package/docs/validation/native-raw-print-2026-10-04/native-color.jpg +0 -0
  228. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel-validation.json +9 -0
  229. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json +29 -0
  230. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.codes.u16le.gz +0 -0
  231. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.jpg +0 -0
  232. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.rgb.gz +0 -0
  233. package/docs/validation/native-raw-print-2026-10-04/srgb.icc +0 -0
  234. package/docs/validation/native-raw-print-2026-10-04/validation.json +41 -0
  235. package/package.json +1 -1
@@ -17,6 +17,8 @@ import { validateSceneRadianceEvaluationBindings, type SceneRadianceEvaluationRe
17
17
  import { calculateSensorEnvironmentRadianceQuery, type CalculateSensorEnvironmentRadianceQueryInput } from "../optics/sensor-environment-query.js";
18
18
  import { calculateSceneRadianceToSensorIrradiance, type CalculateSceneRadianceToSensorIrradianceInput } from "../optics/scene-to-sensor-irradiance.js";
19
19
  import { calculateSensorPsfIrradianceQuadrature, type CalculateSensorPsfIrradianceQuadratureInput } from "../optics/sensor-psf-quadrature.js";
20
+ import { type IlluminationVignettingProfile } from "../optics/illumination-vignetting.js";
21
+ import { type IdealCircularPupil, type SensorApertureRay } from "../optics/sensor-aperture-rays.js";
20
22
  import { calculateSensorSpatialSamplingQuadrature } from "./spatial-sampling-quadrature.js";
21
23
  import { calculateSensorSpectralQuadrature } from "./spectral-quadrature.js";
22
24
  import { createSensorEqeTemporalPhotoSignal } from "./temporal-photo-signal.js";
@@ -24,6 +26,7 @@ import type { CalculateSensorEqeTemporalExposureInput } from "./eqe-temporal-exp
24
26
  import type { CalculateSceneToSensorIrradianceQuadratureInput } from "../optics/scene-to-sensor-quadrature.js";
25
27
  /** Supplied synchronous code executes locally. Invocation does not prove physical transport. */
26
28
  export type EnvironmentRadianceEvaluator = (request: Readonly<SceneRadianceEvaluationRequest>) => SceneRadianceEvaluationResult;
29
+ export type EnvironmentApertureRadianceEvaluator = (request: Readonly<SceneRadianceEvaluationRequest>, apertureRay: Readonly<SensorApertureRay>) => SceneRadianceEvaluationResult;
27
30
  export interface CalculateEnvironmentSensorPhotoSignalInput {
28
31
  temporalIntegrationId: string;
29
32
  sensor: Omit<CalculateSensorEqeTemporalExposureInput, "samples">;
@@ -31,11 +34,18 @@ export interface CalculateEnvironmentSensorPhotoSignalInput {
31
34
  optics: Omit<CalculateSceneRadianceToSensorIrradianceInput, "sceneRadianceRequest" | "sceneRadianceResult" | "imagePointMm" | "fieldThroughput">;
32
35
  motion: Pick<CalculateSensorEnvironmentRadianceQueryInput, "angularVelocityRadPerSec" | "timeReference" | "environmentDirectionConvention">;
33
36
  temporalSampleCount: number;
34
- /** Explicit unity field throughput; spatial vignetting is not inferred or applied. */
37
+ /** Optional ideal geometric DOF/visibility support; cannot combine with a sampled PSF. */
38
+ pupil?: IdealCircularPupil;
39
+ /** Explicit source-field attenuation, applied once before PSF redistribution. */
35
40
  fieldThroughput: {
36
41
  kind: "unity";
37
42
  evidence: readonly EvidenceProvenance[];
38
43
  limitation: string;
44
+ } | {
45
+ kind: "radial-illumination-vignetting";
46
+ profile: IlluminationVignettingProfile;
47
+ evidence: readonly EvidenceProvenance[];
48
+ limitation: string;
39
49
  };
40
50
  psf: {
41
51
  kind: "not-applied";
@@ -46,6 +56,8 @@ export interface CalculateEnvironmentSensorPhotoSignalInput {
46
56
  configuration: Pick<CalculateSensorPsfIrradianceQuadratureInput, "psf" | "psfWavelengthBasis" | "spatialModel">;
47
57
  };
48
58
  evaluateRadiance: EnvironmentRadianceEvaluator;
59
+ /** Required with pupil; origin-aware scene intersections cannot use direction-only code. */
60
+ evaluateApertureRadiance?: EnvironmentApertureRadianceEvaluator;
49
61
  }
50
62
  export interface EnvironmentSensorPhotoSignal {
51
63
  sourceTargetProjectionCalculated: true;
@@ -62,6 +74,8 @@ export interface EnvironmentSensorPhotoSignal {
62
74
  limitation: string;
63
75
  } | null;
64
76
  psfRedistributionApplied: boolean;
77
+ pupilIntegrationApplied: boolean;
78
+ pupilIntegrationProfile: IdealCircularPupil | null;
65
79
  photo: ReturnType<typeof createSensorEqeTemporalPhotoSignal>;
66
80
  instants: readonly {
67
81
  temporalSampleIndex: number;
@@ -72,12 +86,14 @@ export interface EnvironmentSensorPhotoSignal {
72
86
  result: SceneRadianceEvaluationResult;
73
87
  bindings: ReturnType<typeof validateSceneRadianceEvaluationBindings>;
74
88
  optics: ReturnType<typeof calculateSceneRadianceToSensorIrradiance>;
89
+ apertureRay?: SensorApertureRay;
90
+ apertureRequest?: SceneRadianceEvaluationRequest;
75
91
  }[];
76
92
  }[];
77
93
  }
78
94
  /** Internal preflight is shared with the full-frame composer to bound all work before callbacks. */
79
95
  interface EnvironmentPhotoPlan {
80
- owned: Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance">;
96
+ owned: Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance" | "evaluateApertureRadiance">;
81
97
  sceneBindings: CalculateSceneToSensorIrradianceQuadratureInput["sceneBindings"];
82
98
  fieldThroughputEvidence: readonly EvidenceProvenance[];
83
99
  spatialQuadrature: ReturnType<typeof calculateSensorSpatialSamplingQuadrature>["value"];
@@ -97,6 +113,8 @@ interface EnvironmentPhotoPlan {
97
113
  y: number;
98
114
  };
99
115
  query: ReturnType<typeof calculateSensorEnvironmentRadianceQuery>;
116
+ apertureRays?: readonly SensorApertureRay[];
117
+ fieldThroughput: CalculateSceneRadianceToSensorIrradianceInput["fieldThroughput"];
100
118
  }[];
101
119
  }[];
102
120
  }[];
@@ -109,14 +127,14 @@ interface EnvironmentPhotoPlan {
109
127
  * radiance code. Queries use explicit environment directions, vacuum/air wavelength and
110
128
  * opening-reference seconds. Optical throughput, optional local PSF and typed EQE produce photo
111
129
  * expectations; callback invocation does not verify transport, visibility or calibration.
112
- * @param input - Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance">. See the linked contract for coordinate, unit and profile binding semantics.
130
+ * @param input - Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance" | "evaluateApertureRadiance">. See the linked contract for coordinate, unit and profile binding semantics.
113
131
  * @returns EnvironmentPhotoPlan. Return shape and scientific status are explicit; no calibration is inferred from successful execution.
114
132
  *
115
133
  * @see docs/API_REFERENCE.md for the root export and exact type graph.
116
134
  */
117
- export declare function planEnvironmentSensorPhotoSignal(input: Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance">): EnvironmentPhotoPlan;
135
+ export declare function planEnvironmentSensorPhotoSignal(input: Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance" | "evaluateApertureRadiance">): EnvironmentPhotoPlan;
118
136
  /** Internal executor consumes a completed bounded geometric plan; returns no partial success on failure. */
119
- export declare function executeEnvironmentSensorPhotoSignal(plan: ReturnType<typeof planEnvironmentSensorPhotoSignal>, evaluate: EnvironmentRadianceEvaluator): CalculationResult<EnvironmentSensorPhotoSignal>;
137
+ export declare function executeEnvironmentSensorPhotoSignal(plan: ReturnType<typeof planEnvironmentSensorPhotoSignal>, evaluate: EnvironmentRadianceEvaluator, evaluateAperture?: EnvironmentApertureRadianceEvaluator): CalculationResult<EnvironmentSensorPhotoSignal>;
120
138
  /** Generate, evaluate and integrate one site's actual local midpoint environment support. */
121
139
  export declare function calculateEnvironmentSensorPhotoSignal(input: CalculateEnvironmentSensorPhotoSignalInput): CalculationResult<EnvironmentSensorPhotoSignal>;
122
140
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"environment-photo-signal.d.ts","sourceRoot":"","sources":["../../src/sensor/environment-photo-signal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-photo-signal.d.ts","sourceRoot":"","sources":["../../src/sensor/environment-photo-signal.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ import { parseSceneMaterialResponseProfile, parseSceneRadianceProviderProfile, p
23
23
  import { calculateSensorEnvironmentRadianceQuery } from "../optics/sensor-environment-query.js";
24
24
  import { calculateSceneRadianceToSensorIrradiance } from "../optics/scene-to-sensor-irradiance.js";
25
25
  import { calculateSensorPsfIrradianceQuadrature } from "../optics/sensor-psf-quadrature.js";
26
+ import { calculateIlluminationVignetting } from "../optics/illumination-vignetting.js";
27
+ import { calculateSensorApertureRays } from "../optics/sensor-aperture-rays.js";
26
28
  import { sensorPsfSourcePoint } from "../optics/sensor-psf-support.js";
27
29
  import { resolveLensSampledPsf } from "../optics/lens-psf-profile.js";
28
30
  import { calculateSensorSpatialSamplingQuadrature } from "./spatial-sampling-quadrature.js";
@@ -38,7 +40,7 @@ import { createSensorEqeTemporalPhotoSignal } from "./temporal-photo-signal.js";
38
40
  * radiance code. Queries use explicit environment directions, vacuum/air wavelength and
39
41
  * opening-reference seconds. Optical throughput, optional local PSF and typed EQE produce photo
40
42
  * expectations; callback invocation does not verify transport, visibility or calibration.
41
- * @param input - Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance">. See the linked contract for coordinate, unit and profile binding semantics.
43
+ * @param input - Omit<CalculateEnvironmentSensorPhotoSignalInput, "evaluateRadiance" | "evaluateApertureRadiance">. See the linked contract for coordinate, unit and profile binding semantics.
42
44
  * @returns EnvironmentPhotoPlan. Return shape and scientific status are explicit; no calibration is inferred from successful execution.
43
45
  *
44
46
  * @see docs/API_REFERENCE.md for the root export and exact type graph.
@@ -48,8 +50,13 @@ export function planEnvironmentSensorPhotoSignal(input) {
48
50
  requirePublicOpaqueId(owned.temporalIntegrationId, "Environment integration requires a public identity.");
49
51
  if (!Number.isSafeInteger(owned.temporalSampleCount) || owned.temporalSampleCount < 1 || owned.temporalSampleCount > 256 ||
50
52
  owned.sensor.responseApplication.sourcePlane.value !== "sensor-package-incident" ||
51
- owned.fieldThroughput?.kind !== "unity" || typeof owned.fieldThroughput.limitation !== "string" || !owned.fieldThroughput.limitation.trim()) {
52
- throw new InvalidScientificInputError("Environment exposure requires package-incident response, 1..256 midpoints and explicit unity throughput.");
53
+ (owned.fieldThroughput?.kind !== "unity" && owned.fieldThroughput?.kind !== "radial-illumination-vignetting") || typeof owned.fieldThroughput.limitation !== "string" || !owned.fieldThroughput.limitation.trim()) {
54
+ throw new InvalidScientificInputError("Environment exposure requires package-incident response, 1..256 midpoints and explicit supported field throughput.");
55
+ }
56
+ if (owned.fieldThroughput.kind === "radial-illumination-vignetting" &&
57
+ (typeof owned.fieldThroughput.profile !== "object" || owned.fieldThroughput.profile === null ||
58
+ typeof owned.fieldThroughput.profile.coefficients !== "object" || owned.fieldThroughput.profile.coefficients === null)) {
59
+ throw new InvalidScientificInputError("Radial throughput requires a declared profile and coefficients.");
53
60
  }
54
61
  const fieldThroughputEvidence = parseEvidenceList(owned.fieldThroughput.evidence, "environmentFieldThroughput.evidence");
55
62
  const sceneBindings = { providerProfile: parseSceneRadianceProviderProfile(owned.sceneBindings.providerProfile),
@@ -93,6 +100,11 @@ export function planEnvironmentSensorPhotoSignal(input) {
93
100
  throw new InvalidScientificInputError("PSF and optical focal/aperture/focus state must match exactly.");
94
101
  }
95
102
  }
103
+ if (owned.pupil !== undefined && owned.psf.kind !== "not-applied")
104
+ throw new InvalidScientificInputError("Ideal pupil integration cannot mix with a sampled PSF; geometric defocus would be ambiguous.");
105
+ const pupilCount = owned.pupil === undefined ? 1 : calculateSensorApertureRays({ sourcePointNativeSensorMm: { x: 0, y: 0 },
106
+ focalLengthMm: owned.optics.focalLengthMm, nominalFNumber: owned.optics.nominalFNumber, focus, pupil: owned.pupil,
107
+ angularVelocityRadPerSec: owned.motion.angularVelocityRadPerSec, timeSecondsFromOpeningReference: window.startOffsetSecondsFromOpeningReference }).value.rays.length;
96
108
  let count = 0;
97
109
  const nodes = spectralQuadrature.nodes.flatMap(spectral => spatialQuadrature.nodes.map(spatial => {
98
110
  const node = { spatialNode: { antiAliasingComponentIndex: spatial.antiAliasingComponentIndex,
@@ -103,13 +115,17 @@ export function planEnvironmentSensorPhotoSignal(input) {
103
115
  wavelengthNm: spectral.wavelengthNanometers, fieldPointMm: { x: destination.x, y: -destination.y } }) : null;
104
116
  const kernel = resolved?.value.kernel;
105
117
  const taps = kernel ? kernel.widthSamples * kernel.heightSamples : 1;
106
- count += taps * owned.temporalSampleCount;
118
+ count += taps * owned.temporalSampleCount * pupilCount;
107
119
  if (count > 100000)
108
120
  throw new InvalidScientificInputError("Environment exposure exceeds the 100000-provider-evaluation budget.");
109
121
  const points = Array.from({ length: taps }, (_, i) => ({ kernelSampleX: kernel ? i % kernel.widthSamples : 0,
110
122
  kernelSampleY: kernel ? Math.floor(i / kernel.widthSamples) : 0,
111
123
  point: kernel ? sensorPsfSourcePoint(destination, kernel, i % kernel.widthSamples, Math.floor(i / kernel.widthSamples)) : { ...destination } }));
112
- return { node, points };
124
+ return { node, points: points.map(p => ({ ...p, fieldThroughput: owned.fieldThroughput.kind === "unity"
125
+ ? { kind: "unity" }
126
+ : { kind: "illumination-vignetting-result", result: calculateIlluminationVignetting({
127
+ imagePointMm: { x: p.point.x, y: -p.point.y }, profile: owned.fieldThroughput.profile
128
+ }).value } })) };
113
129
  }));
114
130
  const measure = window.localExposureDurationSeconds / owned.temporalSampleCount;
115
131
  let previous = -Infinity;
@@ -119,6 +135,9 @@ export function planEnvironmentSensorPhotoSignal(input) {
119
135
  throw new InvalidScientificInputError("Local midpoints must be representable and strictly ordered.");
120
136
  previous = time;
121
137
  const groups = nodes.map((n, ni) => ({ node: n.node, taps: n.points.map((p, pi) => ({ ...p,
138
+ ...(owned.pupil === undefined ? {} : { apertureRays: calculateSensorApertureRays({ sourcePointNativeSensorMm: p.point,
139
+ focalLengthMm: owned.optics.focalLengthMm, nominalFNumber: owned.optics.nominalFNumber, focus, pupil: owned.pupil,
140
+ angularVelocityRadPerSec: owned.motion.angularVelocityRadPerSec, timeSecondsFromOpeningReference: time }).value.rays }),
122
141
  query: calculateSensorEnvironmentRadianceQuery({ ...owned.motion, sourcePointNativeSensorMm: p.point,
123
142
  focalLengthMm: owned.optics.focalLengthMm, focus, timeSecondsFromOpeningReference: time,
124
143
  request: { schemaVersion: "0.1.0", sampleId: `${owned.temporalIntegrationId}-t${temporalSampleIndex}-n${ni}-p${pi}`,
@@ -137,24 +156,38 @@ export function planEnvironmentSensorPhotoSignal(input) {
137
156
  return { owned, sceneBindings, fieldThroughputEvidence, spatialQuadrature, spectralQuadrature, instants, count, focus };
138
157
  }
139
158
  /** Internal executor consumes a completed bounded geometric plan; returns no partial success on failure. */
140
- export function executeEnvironmentSensorPhotoSignal(plan, evaluate) {
159
+ export function executeEnvironmentSensorPhotoSignal(plan, evaluate, evaluateAperture) {
141
160
  if (typeof evaluate !== "function")
142
161
  throw new InvalidScientificInputError("Environment radiance evaluator must be synchronous callable code.");
143
162
  const { owned } = plan;
163
+ if (owned.pupil !== undefined && typeof evaluateAperture !== "function")
164
+ throw new InvalidScientificInputError("Pupil integration requires an origin-aware aperture evaluator.");
144
165
  const irradiance = [];
145
166
  const instants = [];
146
167
  for (const instant of plan.instants) {
147
168
  const evaluations = [];
148
169
  const samples = instant.groups.map(group => ({ node: group.node, sourceSamples: group.taps.map(tap => {
149
- const request = freezeOwnedData(structuredClone(tap.query.value.request));
150
- const result = parseSceneRadianceEvaluationResult(evaluate(request));
151
- const bindings = validateSceneRadianceEvaluationBindings({ ...plan.sceneBindings, request, result });
152
- const optics = calculateSceneRadianceToSensorIrradiance({ ...owned.optics, sceneRadianceRequest: request,
153
- sceneRadianceResult: result, imagePointMm: tap.query.value.sourcePointImagePlaneMm, fieldThroughput: { kind: "unity" } });
154
- evaluations.push({ query: tap.query, result, bindings, optics });
170
+ let integratedIrradiance = 0;
171
+ const support = tap.apertureRays ?? [undefined];
172
+ for (const ray of support) {
173
+ const baseRequest = structuredClone(tap.query.value.request);
174
+ const request = freezeOwnedData(ray === undefined ? baseRequest : {
175
+ ...baseRequest, sampleId: baseRequest.sampleId + "-a" + ray.pupilSampleIndex,
176
+ target: { kind: "environment-direction", outgoingDirectionUnitVector: {
177
+ x: -ray.directionUnitVector.x, y: -ray.directionUnitVector.y, z: -ray.directionUnitVector.z
178
+ } }
179
+ });
180
+ const apertureRay = ray === undefined ? undefined : freezeOwnedData(structuredClone(ray));
181
+ const result = parseSceneRadianceEvaluationResult(apertureRay === undefined ? evaluate(request) : evaluateAperture(request, apertureRay));
182
+ const bindings = validateSceneRadianceEvaluationBindings({ ...plan.sceneBindings, request, result });
183
+ const optics = calculateSceneRadianceToSensorIrradiance({ ...owned.optics, sceneRadianceRequest: request,
184
+ sceneRadianceResult: result, imagePointMm: tap.query.value.sourcePointImagePlaneMm, fieldThroughput: tap.fieldThroughput });
185
+ evaluations.push({ query: tap.query, result, bindings, optics,
186
+ ...(apertureRay === undefined ? {} : { apertureRay, apertureRequest: request }) });
187
+ integratedIrradiance += optics.value.sensorPlaneSpectralIrradianceWattsPerSquareMeterNanometer * (ray?.weight ?? 1);
188
+ }
155
189
  return { kernelSampleX: tap.kernelSampleX, kernelSampleY: tap.kernelSampleY, sourcePointNativeSensorMm: tap.point,
156
- timeSecondsFromOpeningReference: instant.time,
157
- spectralIrradianceWattsPerSquareMeterPerNanometer: optics.value.sensorPlaneSpectralIrradianceWattsPerSquareMeterNanometer };
190
+ timeSecondsFromOpeningReference: instant.time, spectralIrradianceWattsPerSquareMeterPerNanometer: integratedIrradiance };
158
191
  }) }));
159
192
  const psf = owned.psf.kind === "sampled-local" ? calculateSensorPsfIrradianceQuadrature({ ...owned.psf.configuration,
160
193
  spatialQuadrature: plan.spatialQuadrature, spectralQuadrature: plan.spectralQuadrature,
@@ -171,16 +204,17 @@ export function executeEnvironmentSensorPhotoSignal(plan, evaluate) {
171
204
  providerEvaluationCount: plan.count, sourcePlane: "sensor-package-incident", fieldThroughputEvidence: plan.fieldThroughputEvidence,
172
205
  fieldThroughputLimitation: owned.fieldThroughput.limitation,
173
206
  psfOmission: owned.psf.kind === "not-applied" ? { evidence: parseEvidenceList(owned.psf.evidence, "psfOmission.evidence"), limitation: owned.psf.limitation } : null,
174
- psfRedistributionApplied: owned.psf.kind === "sampled-local", photo, instants
175
- }, "environment-sensor-photo-signal", "0.1.0", [
207
+ psfRedistributionApplied: owned.psf.kind === "sampled-local", pupilIntegrationApplied: owned.pupil !== undefined, pupilIntegrationProfile: owned.pupil ?? null, photo, instants
208
+ }, "environment-sensor-photo-signal", "0.3.0", [
176
209
  "Supplied synchronous provider code was invoked at each generated environment query; physical transport and visibility are not verified.",
177
- "Ideal focus-aware rotation/projection, explicit unity field throughput and optional destination-local sampled PSF are bounded approximations.",
210
+ "Ideal focus-aware rotation/projection, explicit evidence-bound field throughput and optional destination-local sampled PSF are bounded approximations.",
211
+ "Optional ideal pupil rays use normalized radiance averaging; source intersections remain provider-owned and convergence is unverified.",
178
212
  "PSF pupil throughput is not applied; child uncertainty, finite-support and quadrature convergence are not combined or established."
179
213
  ]);
180
214
  }
181
215
  /** Generate, evaluate and integrate one site's actual local midpoint environment support. */
182
216
  export function calculateEnvironmentSensorPhotoSignal(input) {
183
- const { evaluateRadiance, ...data } = input;
184
- return executeEnvironmentSensorPhotoSignal(planEnvironmentSensorPhotoSignal(data), evaluateRadiance);
217
+ const { evaluateRadiance, evaluateApertureRadiance, ...data } = input;
218
+ return executeEnvironmentSensorPhotoSignal(planEnvironmentSensorPhotoSignal(data), evaluateRadiance, evaluateApertureRadiance);
185
219
  }
186
220
  //# sourceMappingURL=environment-photo-signal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment-photo-signal.js","sourceRoot":"","sources":["../../src/sensor/environment-photo-signal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-photo-signal.js","sourceRoot":"","sources":["../../src/sensor/environment-photo-signal.ts"],"names":[],"mappings":"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"}
@@ -167,4 +167,9 @@ export declare function createSensorRawCaptureSample(input: CreateSensorRawCaptu
167
167
  * @see docs/API_REFERENCE.md for the root export and exact type graph.
168
168
  */
169
169
  export declare function resolveSensorRawReconstruction(input: ResolveSensorRawReconstructionInput): CalculationResult<SensorRawReconstructedPixel>;
170
+ /** Internal prepared scalar accumulation; reference and packed execution share operation order. */
171
+ export declare function calculateRawReconstructionChannel(kernel: SensorRawReconstructionChannelKernel, center: {
172
+ x: number;
173
+ y: number;
174
+ }, read: (x: number, y: number, channelId: string) => number): SensorRawReconstructedPixel["outputChannels"][number];
170
175
  //# sourceMappingURL=raw-reconstruction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-reconstruction.d.ts","sourceRoot":"","sources":["../../src/sensor/raw-reconstruction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-reconstruction.d.ts","sourceRoot":"","sources":["../../src/sensor/raw-reconstruction.ts"],"names":[],"mappings":"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"}
@@ -346,53 +346,12 @@ export function resolveSensorRawReconstruction(input) {
346
346
  input.samples.length) {
347
347
  throw new InvalidScientificInputError("RAW neighborhood must not contain duplicate site/channel samples.");
348
348
  }
349
- const outputChannels = profile.kernels.map((kernel) => {
350
- let value = 0;
351
- const sourceContributions = kernel.contributions.map((contribution) => {
352
- const x = center.x +
353
- contribution.offsetX;
354
- const y = center.y +
355
- contribution.offsetY;
356
- if (x < 0 ||
357
- y < 0) {
358
- throw new InvalidScientificInputError("RAW reconstruction kernel references a site outside the non-negative native sensor coordinate domain.");
359
- }
360
- const key = x +
361
- ":" +
362
- y +
363
- ":" +
364
- contribution
365
- .sourceChannelId;
366
- const sample = sampleMap.get(key);
367
- if (sample ===
368
- undefined) {
369
- throw new InvalidScientificInputError("RAW reconstruction neighborhood is missing a required site/channel contribution.");
370
- }
371
- value +=
372
- sample
373
- .blackSubtractedNormalizedCode *
374
- contribution.weight;
375
- return {
376
- site: {
377
- x,
378
- y
379
- },
380
- sourceChannelId: contribution
381
- .sourceChannelId,
382
- weight: contribution.weight,
383
- sourceValue: sample
384
- .blackSubtractedNormalizedCode
385
- };
386
- });
387
- if (!Number.isFinite(value)) {
388
- throw new InvalidScientificInputError("Reconstructed linear channel value must remain finite.");
389
- }
390
- return {
391
- channelId: kernel.outputChannelId,
392
- linearBlackSubtractedNormalizedValue: value,
393
- sourceContributions
394
- };
395
- });
349
+ const outputChannels = profile.kernels.map(kernel => calculateRawReconstructionChannel(kernel, center, (x, y, channelId) => {
350
+ const sample = sampleMap.get(x + ":" + y + ":" + channelId);
351
+ if (sample === undefined)
352
+ throw new InvalidScientificInputError("RAW reconstruction neighborhood is missing a required site/channel contribution.");
353
+ return sample.blackSubtractedNormalizedCode;
354
+ }));
396
355
  return approximationResult({
397
356
  reconstructionProfileId: profile.profileId,
398
357
  reconstructionProfileVersion: profile.profileVersion,
@@ -421,4 +380,19 @@ export function resolveSensorRawReconstruction(input) {
421
380
  "Aliasing and moire are explicitly not modeled because this reconstruction contract does not establish an adequate pre-sampling optical transfer/scene-frequency model."
422
381
  ]);
423
382
  }
383
+ /** Internal prepared scalar accumulation; reference and packed execution share operation order. */
384
+ export function calculateRawReconstructionChannel(kernel, center, read) {
385
+ let value = 0;
386
+ const sourceContributions = kernel.contributions.map(contribution => {
387
+ const x = center.x + contribution.offsetX, y = center.y + contribution.offsetY;
388
+ if (x < 0 || y < 0)
389
+ throw new InvalidScientificInputError("RAW reconstruction kernel references a site outside the non-negative native sensor coordinate domain.");
390
+ const sourceValue = read(x, y, contribution.sourceChannelId);
391
+ value += sourceValue * contribution.weight;
392
+ return { site: { x, y }, sourceChannelId: contribution.sourceChannelId, weight: contribution.weight, sourceValue };
393
+ });
394
+ if (!Number.isFinite(value))
395
+ throw new InvalidScientificInputError("Reconstructed linear channel value must remain finite.");
396
+ return { channelId: kernel.outputChannelId, linearBlackSubtractedNormalizedValue: value, sourceContributions };
397
+ }
424
398
  //# sourceMappingURL=raw-reconstruction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-reconstruction.js","sourceRoot":"","sources":["../../src/sensor/raw-reconstruction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-reconstruction.js","sourceRoot":"","sources":["../../src/sensor/raw-reconstruction.ts"],"names":[],"mappings":"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"}