@photivra/engine 1.1.0 → 1.3.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 (244) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/CITATION.cff +1 -1
  3. package/NOTICE +29 -0
  4. package/README.md +6 -6
  5. package/THIRD_PARTY.md +10 -0
  6. package/dist/composition/image-formation-plan.d.ts.map +1 -1
  7. package/dist/composition/image-formation-plan.js +17 -8
  8. package/dist/composition/image-formation-plan.js.map +1 -1
  9. package/dist/core/version.d.ts +1 -1
  10. package/dist/core/version.js +1 -1
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/optics/complex-pupil-psf.d.ts +6 -0
  16. package/dist/optics/complex-pupil-psf.d.ts.map +1 -1
  17. package/dist/optics/complex-pupil-psf.js +10 -7
  18. package/dist/optics/complex-pupil-psf.js.map +1 -1
  19. package/dist/output/native-capture-sdr.d.ts +78 -0
  20. package/dist/output/native-capture-sdr.d.ts.map +1 -0
  21. package/dist/output/native-capture-sdr.js +171 -0
  22. package/dist/output/native-capture-sdr.js.map +1 -0
  23. package/dist/output/print-contrast-reference.d.ts +47 -0
  24. package/dist/output/print-contrast-reference.d.ts.map +1 -0
  25. package/dist/output/print-contrast-reference.js +95 -0
  26. package/dist/output/print-contrast-reference.js.map +1 -0
  27. package/dist/output/print-detail.d.ts +7 -0
  28. package/dist/output/print-detail.d.ts.map +1 -1
  29. package/dist/output/print-detail.js +20 -11
  30. package/dist/output/print-detail.js.map +1 -1
  31. package/dist/output/print-region-statistics.d.ts +92 -0
  32. package/dist/output/print-region-statistics.d.ts.map +1 -0
  33. package/dist/output/print-region-statistics.js +300 -0
  34. package/dist/output/print-region-statistics.js.map +1 -0
  35. package/dist/sensor/environment-photo-signal.d.ts +8 -1
  36. package/dist/sensor/environment-photo-signal.d.ts.map +1 -1
  37. package/dist/sensor/environment-photo-signal.js +16 -6
  38. package/dist/sensor/environment-photo-signal.js.map +1 -1
  39. package/docs/API_REFERENCE.md +52 -1
  40. package/docs/API_STYLE.md +1 -1
  41. package/docs/ARCHITECTURE.md +1 -1
  42. package/docs/AUTOMATION_COORDINATION.md +1 -1
  43. package/docs/CAPTURE_COLOR.md +1 -1
  44. package/docs/CAPTURE_CORRECTED_SDR.md +1 -1
  45. package/docs/CAPTURE_EXPORT_METADATA.md +1 -1
  46. package/docs/CAPTURE_SDR.md +3 -1
  47. package/docs/DEVELOPERS.md +6 -4
  48. package/docs/DIGITAL_OPTICS_FOUNDATION.md +1 -1
  49. package/docs/ENVIRONMENT_RAW_CAPTURE.md +23 -4
  50. package/docs/EXPORT_ACCEPTANCE.md +1 -1
  51. package/docs/GENERIC_TIER_PRESETS.md +1 -1
  52. package/docs/GEOMETRIC_PREPARATION_REUSE.md +1 -1
  53. package/docs/IMAGE_FORMATION.md +1 -1
  54. package/docs/LINEAR_CAPTURE_ENCODING.md +1 -1
  55. package/docs/MOTION_AND_SIGNAL.md +1 -1
  56. package/docs/NATIVE_CAPTURE_SDR.md +70 -0
  57. package/docs/NATIVE_CAPTURE_SDR_REVIEW.md +37 -0
  58. package/docs/NATIVE_CAPTURE_SDR_VALIDATION.md +34 -0
  59. package/docs/NUMERICAL_CORRECTNESS.md +1 -1
  60. package/docs/PERFORMANCE_BASELINE.md +1 -1
  61. package/docs/PHOTOGRAPHIC_EXPORT.md +1 -1
  62. package/docs/PHYSICS_FOUNDATION.md +1 -1
  63. package/docs/POC_API.md +1 -1
  64. package/docs/POC_PROJECTION_REUSE.md +1 -1
  65. package/docs/PRINT_195_196_REVIEW.md +93 -0
  66. package/docs/PRINT_196_ENGINE_ACCEPTANCE.md +45 -0
  67. package/docs/PRINT_CONTRAST_REFERENCE.md +43 -0
  68. package/docs/PRINT_DETAIL_ASSESSMENT.md +1 -1
  69. package/docs/PRINT_DETAIL_JPEG_EVIDENCE.md +36 -0
  70. package/docs/PRINT_DETAIL_VALIDATION.md +1 -1
  71. package/docs/PRINT_PLANNING.md +3 -1
  72. package/docs/PRINT_REGION_STATISTICS.md +38 -0
  73. package/docs/PROCESSED_OUTPUT.md +1 -1
  74. package/docs/PRODUCTION_COMPOSITION.md +1 -1
  75. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +1 -1
  76. package/docs/PROVENANCE.md +1 -1
  77. package/docs/PSF_FOUNDATION.md +11 -1
  78. package/docs/RAW_FRAME_ENVELOPE.md +1 -1
  79. package/docs/RAW_FRAME_RECONSTRUCTION.md +1 -1
  80. package/docs/RELEASE_1_2_0.md +51 -0
  81. package/docs/RELEASE_1_3_0.md +15 -0
  82. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +1 -1
  83. package/docs/SCENE_SENSOR_QUADRATURE.md +1 -1
  84. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +1 -1
  85. package/docs/SCIENTIFIC_ASSURANCE.md +1 -1
  86. package/docs/SCIENTIFIC_CONFORMANCE.md +1 -1
  87. package/docs/SDR_RENDERING.md +1 -1
  88. package/docs/SENSOR_ENVIRONMENT_QUERY.md +1 -1
  89. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +1 -1
  90. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +1 -1
  91. package/docs/SENSOR_PSF_QUADRATURE.md +1 -1
  92. package/docs/SENSOR_RAW_FRAME.md +1 -1
  93. package/docs/SENSOR_RAW_PRODUCER.md +1 -1
  94. package/docs/SIGNAL_CONFORMANCE.md +1 -1
  95. package/docs/SIMULATED_CAPTURE.md +1 -1
  96. package/docs/STABILIZATION.md +1 -1
  97. package/docs/TEMPORAL_PHOTO_RAW.md +1 -1
  98. package/docs/TIER_ACCEPTANCE.md +1 -1
  99. package/docs/TIER_PRESET_ACCEPTANCE.md +1 -1
  100. package/docs/USAGE.md +3 -1
  101. package/docs/V1_COMPOSITION_MAP.md +1 -1
  102. package/docs/V1_HELPER_REUSE_REVIEW.md +1 -1
  103. package/docs/V1_PERFORMANCE_DISPOSITION.md +1 -1
  104. package/docs/api/camera-equivalent-focal-length.md +1 -1
  105. package/docs/api/camera-field-of-view.md +1 -1
  106. package/docs/api/camera-projected-object-size.md +1 -1
  107. package/docs/api/capture-capture-export-metadata.md +1 -1
  108. package/docs/api/capture-environment-raw-producer.md +1 -1
  109. package/docs/api/capture-focus-control.md +1 -1
  110. package/docs/api/capture-linear-encoding.md +1 -1
  111. package/docs/api/capture-photographic-export.md +1 -1
  112. package/docs/api/capture-raw-frame-reconstruction.md +1 -1
  113. package/docs/api/capture-release-sequence.md +1 -1
  114. package/docs/api/capture-sensor-raw-frame.md +1 -1
  115. package/docs/api/capture-sensor-raw-producer.md +1 -1
  116. package/docs/api/capture-simulated-capture.md +1 -1
  117. package/docs/api/color-capture-color.md +1 -1
  118. package/docs/api/color-white-balance.md +1 -1
  119. package/docs/api/composition-image-formation-plan.md +1 -1
  120. package/docs/api/composition-plan-consumer.md +1 -1
  121. package/docs/api/core-calculation-result.md +1 -1
  122. package/docs/api/core-configuration-error.md +1 -1
  123. package/docs/api/core-image-formation.md +1 -1
  124. package/docs/api/core-scientific-assurance.md +1 -1
  125. package/docs/api/core-spectral-composition.md +1 -1
  126. package/docs/api/core-spectral.md +1 -1
  127. package/docs/api/core-validation.md +1 -1
  128. package/docs/api/core-version.md +2 -2
  129. package/docs/api/equipment-exposure-capabilities.md +1 -1
  130. package/docs/api/equipment-generic-tier-assets.md +1 -1
  131. package/docs/api/equipment-generic-tier-presets.md +1 -1
  132. package/docs/api/equipment-iso-capabilities.md +1 -1
  133. package/docs/api/equipment-metering-capabilities.md +1 -1
  134. package/docs/api/equipment-release-capabilities.md +1 -1
  135. package/docs/api/exports.json +152 -2
  136. package/docs/api/exposure-exposure-duration-control.md +1 -1
  137. package/docs/api/exposure-exposure-mode-resolver.md +1 -1
  138. package/docs/api/exposure-exposure.md +1 -1
  139. package/docs/api/exposure-flash.md +1 -1
  140. package/docs/api/exposure-metering-scene-radiance.md +1 -1
  141. package/docs/api/exposure-metering-target.md +1 -1
  142. package/docs/api/exposure-metering-temporal.md +1 -1
  143. package/docs/api/exposure-metering.md +1 -1
  144. package/docs/api/exposure-program-line.md +1 -1
  145. package/docs/api/motion-camera-rotation.md +1 -1
  146. package/docs/api/motion-capture-rotation-inverse-mapping.md +1 -1
  147. package/docs/api/motion-capture-rotation-temporal-quadrature.md +1 -1
  148. package/docs/api/motion-capture-rotation-trajectory.md +1 -1
  149. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +1 -1
  150. package/docs/api/motion-extended-object-projection.md +1 -1
  151. package/docs/api/motion-projected-motion.md +1 -1
  152. package/docs/api/optics-aperture.md +1 -1
  153. package/docs/api/optics-circle-of-confusion.md +1 -1
  154. package/docs/api/optics-complex-pupil-psf.md +7 -1
  155. package/docs/api/optics-depth-of-field.md +1 -1
  156. package/docs/api/optics-diffraction.md +1 -1
  157. package/docs/api/optics-focus-breathing.md +1 -1
  158. package/docs/api/optics-focus-state.md +1 -1
  159. package/docs/api/optics-front-of-lens-filter.md +1 -1
  160. package/docs/api/optics-illumination-vignetting.md +1 -1
  161. package/docs/api/optics-lateral-chromatic-aberration.md +1 -1
  162. package/docs/api/optics-lens-psf-profile.md +1 -1
  163. package/docs/api/optics-polygon-diffraction.md +1 -1
  164. package/docs/api/optics-profile-contract.md +1 -1
  165. package/docs/api/optics-psf-foundation.md +1 -1
  166. package/docs/api/optics-radial-distortion.md +1 -1
  167. package/docs/api/optics-scene-to-sensor-irradiance.md +1 -1
  168. package/docs/api/optics-scene-to-sensor-quadrature.md +1 -1
  169. package/docs/api/optics-sensor-environment-query.md +1 -1
  170. package/docs/api/optics-sensor-psf-quadrature.md +1 -1
  171. package/docs/api/optics-stray-light.md +1 -1
  172. package/docs/api/optics-thin-lens.md +1 -1
  173. package/docs/api/output-capture-corrected-sdr.md +1 -1
  174. package/docs/api/output-capture-geometry.md +1 -1
  175. package/docs/api/output-capture-sdr.md +1 -1
  176. package/docs/api/output-crop.md +1 -1
  177. package/docs/api/output-geometric-transforms.md +1 -1
  178. package/docs/api/output-lens-corrections.md +1 -1
  179. package/docs/api/output-native-capture-sdr.md +150 -0
  180. package/docs/api/output-print-contrast-reference.md +82 -0
  181. package/docs/api/output-print-detail.md +1 -1
  182. package/docs/api/output-print-plan.md +1 -1
  183. package/docs/api/output-print-region-statistics.md +165 -0
  184. package/docs/api/output-sdr-rendering.md +1 -1
  185. package/docs/api/output-subject-framing-crop.md +1 -1
  186. package/docs/api/schema-camera.md +1 -1
  187. package/docs/api/schema-illumination-spectral.md +1 -1
  188. package/docs/api/schema-illumination-temporal.md +1 -1
  189. package/docs/api/schema-illumination.md +1 -1
  190. package/docs/api/schema-scene-radiance-temporal.md +1 -1
  191. package/docs/api/schema-scene-radiance.md +1 -1
  192. package/docs/api/schema-scene.md +1 -1
  193. package/docs/api/schema-validation.md +1 -1
  194. package/docs/api/sensor-accumulated-charge.md +1 -1
  195. package/docs/api/sensor-architecture.md +1 -1
  196. package/docs/api/sensor-camera-saturation-capacity.md +1 -1
  197. package/docs/api/sensor-capture-color-sampling-binding.md +1 -1
  198. package/docs/api/sensor-capture-mode-timing.md +1 -1
  199. package/docs/api/sensor-capture-mode.md +1 -1
  200. package/docs/api/sensor-color-sampling.md +1 -1
  201. package/docs/api/sensor-constant-rate-temporal-integration.md +1 -1
  202. package/docs/api/sensor-dark-current.md +1 -1
  203. package/docs/api/sensor-environment-photo-signal.md +6 -3
  204. package/docs/api/sensor-eqe-electron-rate.md +1 -1
  205. package/docs/api/sensor-eqe-local-exposure.md +1 -1
  206. package/docs/api/sensor-eqe-temporal-exposure.md +1 -1
  207. package/docs/api/sensor-exposure-window.md +1 -1
  208. package/docs/api/sensor-iso-signal-chain.md +1 -1
  209. package/docs/api/sensor-local-exposure-binding.md +1 -1
  210. package/docs/api/sensor-optical-stack.md +1 -1
  211. package/docs/api/sensor-photon-energy.md +1 -1
  212. package/docs/api/sensor-physical-charge-capacity.md +1 -1
  213. package/docs/api/sensor-pixel-pitch.md +1 -1
  214. package/docs/api/sensor-radiometry-readiness.md +1 -1
  215. package/docs/api/sensor-raw-readout.md +1 -1
  216. package/docs/api/sensor-raw-reconstruction.md +1 -1
  217. package/docs/api/sensor-readout-exposure-linkage.md +1 -1
  218. package/docs/api/sensor-readout-timing.md +1 -1
  219. package/docs/api/sensor-response-application-compatibility.md +1 -1
  220. package/docs/api/sensor-response-operating-range.md +1 -1
  221. package/docs/api/sensor-responsivity-photocurrent.md +1 -1
  222. package/docs/api/sensor-sampling-aperture.md +1 -1
  223. package/docs/api/sensor-scene-eqe-temporal-exposure.md +1 -1
  224. package/docs/api/sensor-sensor-geometry.md +1 -1
  225. package/docs/api/sensor-signal-noise.md +1 -1
  226. package/docs/api/sensor-spatial-sample-reduction.md +1 -1
  227. package/docs/api/sensor-spatial-sampling-quadrature.md +1 -1
  228. package/docs/api/sensor-spatio-spectral-reduction.md +1 -1
  229. package/docs/api/sensor-spectral-coverage.md +1 -1
  230. package/docs/api/sensor-spectral-quadrature.md +1 -1
  231. package/docs/api/sensor-spectral-response.md +1 -1
  232. package/docs/api/sensor-temporal-photo-signal.md +1 -1
  233. package/docs/api/simulation-poc-simulation.md +1 -1
  234. package/docs/api/stabilization-camera-shake.md +1 -1
  235. package/docs/api/stabilization-system.md +1 -1
  236. package/docs/licenses/castleCSF-MIT.txt +21 -0
  237. package/docs/validation/native-capture-sdr-darwin-arm64-node26-review.jsonl +4 -0
  238. package/docs/validation/native-capture-sdr-darwin-arm64.jsonl +3 -0
  239. package/docs/validation/print-196-candidate-capabilities.json +28 -0
  240. package/docs/validation/print-196-candidate-evidence.json +356 -0
  241. package/docs/validation/print-196-engine-acceptance.json +81 -0
  242. package/docs/validation/print-detail-capabilities.json +4 -1
  243. package/docs/validation/print-detail-jpeg-evidence.json +116 -0
  244. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  # sensor/spatial-sampling-quadrature.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## calculateSensorSpatialSamplingQuadrature
6
6
 
@@ -1,6 +1,6 @@
1
1
  # sensor/spatio-spectral-reduction.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## reduceSensorSpatioSpectralIrradiance
6
6
 
@@ -1,6 +1,6 @@
1
1
  # sensor/spectral-coverage.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## createSensorSpectralCoverageParticipant
6
6
 
@@ -1,6 +1,6 @@
1
1
  # sensor/spectral-quadrature.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## calculateSensorSpectralQuadrature
6
6
 
@@ -1,6 +1,6 @@
1
1
  # sensor/spectral-response.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## EffectiveSensorResponseScope
6
6
 
@@ -1,6 +1,6 @@
1
1
  # sensor/temporal-photo-signal.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## createSensorEqeTemporalPhotoSignal
6
6
 
@@ -1,6 +1,6 @@
1
1
  # simulation/poc-simulation.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## POC_SIMULATION_API_VERSION
6
6
 
@@ -1,6 +1,6 @@
1
1
  # stabilization/camera-shake.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## CameraShakeBlurSample
6
6
 
@@ -1,6 +1,6 @@
1
1
  # stabilization/system.ts public contracts
2
2
 
3
- Package **1.1.0**, root API **1.1.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
3
+ Package **1.3.0**, root API **1.3.0**. [Navigation](../API_REFERENCE.md) · [Developer guide](../DEVELOPERS.md). Generated signatures retain independent schema/model versions. Only the exports listed here are root-package contracts; module-local helpers are not supported deep imports.
4
4
 
5
5
  ## calculateStabilizedCaptureTemporalSamples
6
6
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Graphics and Displays group - University of Cambridge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,4 @@
1
+ {"engineApiVersion":"1.2.0","width":3000,"height":2000,"bitDepth":8,"milliseconds":2346.3091249999998,"hash":"8681732eb195a17931c2cf1c3decfa06bf4a50d9e13ab086e1789f87c95dfcaf","outputBytes":18000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":65355776,"heapTotal":18759680,"heapUsed":8969400,"external":2453989,"arrayBuffers":143737},"sampledPeak":{"rss":190644224,"heapUsed":90034336,"arrayBuffers":18930169},"runtime":"v26.8.1","platform":"darwin","arch":"arm64"}
2
+ {"engineApiVersion":"1.2.0","width":6000,"height":4000,"bitDepth":8,"milliseconds":9113.850290999999,"hash":"0d3ee7c20d08cebf65a30cb733623c304adc1de2e9f1696a4f01461dbad0180c","outputBytes":72000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":158466048,"heapTotal":80625664,"heapUsed":8122488,"external":20712448,"arrayBuffers":143737},"sampledPeak":{"rss":258818048,"heapUsed":80958472,"arrayBuffers":72819577},"runtime":"v26.8.1","platform":"darwin","arch":"arm64"}
3
+ {"engineApiVersion":"1.2.0","width":3000,"height":2000,"bitDepth":16,"milliseconds":2294.280041,"hash":"93382bcd753d5c1cbfe67a2eaa167afbd5ebb08fb2e1e53644316893f9f5b5dc","outputBytes":36000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":231849984,"heapTotal":79577088,"heapUsed":8099880,"external":74646849,"arrayBuffers":143737},"sampledPeak":{"rss":280150016,"heapUsed":93135936,"arrayBuffers":37126777},"runtime":"v26.8.1","platform":"darwin","arch":"arm64"}
4
+ {"engineApiVersion":"1.2.0","width":6000,"height":4000,"bitDepth":16,"milliseconds":9167.119625000001,"hash":"b4ab10fe9f6b8f083c5637561aa2a61fe447774b86504a8551b8cc784c815626","outputBytes":144000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":231505920,"heapTotal":78790656,"heapUsed":8086048,"external":38858817,"arrayBuffers":143737},"sampledPeak":{"rss":412139520,"heapUsed":80924112,"arrayBuffers":144819577},"runtime":"v26.8.1","platform":"darwin","arch":"arm64"}
@@ -0,0 +1,3 @@
1
+ {"engineApiVersion":"1.2.0","width":3000,"height":2000,"bitDepth":8,"milliseconds":2310.0546670000003,"hash":"8681732eb195a17931c2cf1c3decfa06bf4a50d9e13ab086e1789f87c95dfcaf","outputBytes":18000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":74186752,"heapTotal":19431424,"heapUsed":8879440,"external":2236457,"arrayBuffers":143611},"sampledPeak":{"rss":229490688,"heapUsed":84280960,"arrayBuffers":19323259},"runtime":"v24.19.0","platform":"darwin","arch":"arm64"}
2
+ {"engineApiVersion":"1.2.0","width":6000,"height":4000,"bitDepth":8,"milliseconds":9119.919417,"hash":"0d3ee7c20d08cebf65a30cb733623c304adc1de2e9f1696a4f01461dbad0180c","outputBytes":72000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":223379456,"heapTotal":147881984,"heapUsed":9162464,"external":20667565,"arrayBuffers":143611},"sampledPeak":{"rss":317538304,"heapUsed":93440544,"arrayBuffers":73126651},"runtime":"v24.19.0","platform":"darwin","arch":"arm64"}
3
+ {"engineApiVersion":"1.2.0","width":3000,"height":2000,"bitDepth":16,"milliseconds":2334.7241250000006,"hash":"93382bcd753d5c1cbfe67a2eaa167afbd5ebb08fb2e1e53644316893f9f5b5dc","outputBytes":36000000,"largestTileBytes":196608,"maximumScratchPayloadBytes":1441792,"baseline":{"rss":303038464,"heapTotal":146571264,"heapUsed":8108984,"external":74711941,"arrayBuffers":143611},"sampledPeak":{"rss":312492032,"heapUsed":83214536,"arrayBuffers":37126651},"runtime":"v24.19.0","platform":"darwin","arch":"arm64"}
@@ -0,0 +1,28 @@
1
+ {
2
+ "ledgerVersion": "0.3.0",
3
+ "engineCandidate": "1.2.0",
4
+ "humanReview": "pending",
5
+ "fullAssessmentAcceptance": "blocked",
6
+ "releaseAfterFull196Acceptance": "blocked",
7
+ "integrationOrder": "reviewed engine contract publication precedes app integration; full new-UI acceptance remains required",
8
+ "evidenceDomain": "owned-bounded-public-backend-computational-conformance",
9
+ "capabilities": [
10
+ { "id": "native-print-planning-195", "status": "acceptance-tested", "test": "test/print-plan-acceptance.test.ts", "sourceQualityQualified": false },
11
+ { "id": "linear-paired-differences-and-repeat-statistics", "status": "arithmetic-conformance-tested", "test": "test/print-region-statistics.test.ts", "reference": "statistics-reference.json", "acquisitionQualification": "unassessed" },
12
+ { "id": "local-psf-aperture-detail", "status": "bounded-public-backend-conformance-tested", "test": "test/print-detail-psf-backend.test.ts", "reference": "psf-backend-reference.json", "deviceQualification": "unassessed" },
13
+ { "id": "ideal-photocharge-repeat-noise", "status": "bounded-public-backend-moment-conformance-tested", "test": "test/print-region-noise-backend.test.ts", "physicalNoiseCalibration": "unassessed", "clipping": "unassessed" },
14
+ { "id": "linear-high-bit-electronic-noise-and-clipping-stages", "status": "bounded-native-raw-producer-conformance-tested", "test": "test/print-region-readout-backend.test.ts", "reference": "readout-backend-reference.json", "nativeRaster": { "pixelWidth": 2, "pixelHeight": 2 }, "adcBitDepth": 12, "repeatCounts": [32, 64, 128, 256], "signalDomain": "conditional-neutral-electronic-reference", "sourceRadiometryVerified": false, "physicalNoiseCalibration": "unassessed", "displayRenderClipping": "unassessed" },
15
+ {"id": "owned-uniform-source-to-production-capture", "status": "bounded-public-production-capture-conformance-tested", "test": "test/print-region-capture-backend.test.ts", "reference": "capture-backend-reference.json", "nativeRaster": {"pixelWidth": 2, "pixelHeight": 2}, "sourceRadiometryVerified": false, "physicalCalibration": "unassessed", "visibilityTransport": "unassessed", "megapixelProducer": "unassessed"},
16
+ { "id": "exact-jpeg-decoded-processing-change", "status": "preserved-independent-decoder-conformance-tested", "test": "test/print-detail-jpeg-integration.test.ts", "reference": "processing-reference.json", "compressionArtifactClassification": "unassessed" },
17
+ { "id": "static-visible-depth-and-intentional-defocus", "status": "finite-public-pupil-and-owned-plane-conformance-tested", "test": "test/print-detail-depth-backend.test.ts", "reference": "depth-backend-reference.json", "continuumConvergence": "unassessed", "depthEdgeComposition": "unsupported", "actualCaptureBackendQualification": "unassessed" },
18
+ {"id": "ideal-padded-pupil-single-frequency-pilot", "status": "bounded-continuous-reference-conformance-tested", "test": "test/print-depth-pupil-convergence.test.ts", "reference": "pupil-convergence-reference.json", "frequencyCyclesPerMm": 25, "finalGridSamples": 61, "pupilRadiusSamples": 15, "maximumAbsoluteTransferError": 0.01, "criterion": "candidate-informed-by-pilot-not-physical-calibration", "historical9x9Qualified": false, "allFrequencies": "unassessed", "deviceQualification": "unassessed"},
19
+ { "id": "constant-visible-depth-translation-motion", "status": "bounded-public-backend-and-exposure-convergence-tested", "test": "test/print-detail-motion-backend.test.ts", "reference": "motion-backend-reference.json", "changingVisibility": "unsupported", "actualCaptureBackendQualification": "unassessed" },
20
+ {"id": "owned-moving-two-plane-source-visibility", "status": "bounded-public-production-capture-conformance-tested", "test": "test/print-region-visibility-backend.test.ts", "reference": "visibility-backend-reference.json", "nativeRaster": {"pixelWidth": 2, "pixelHeight": 2}, "temporalSampleCounts": [2, 4, 8, 16, 32, 64, 128], "motionAxes": ["x", "y"], "pointOptics": true, "nearDepthM": 2, "farDepthM": 10, "sceneVisibilityCalculatedByEngine": false, "providerTransportVerified": false, "movingDepthEdgePsf": "unsupported", "deviceQualification": "unassessed"},
21
+ { "id": "static-neutral-d65-gabor-contrast-reference", "status": "numerical-model-conformance-tested", "test": "test/print-contrast-reference.test.ts", "reference": "contrast-reference.json", "upstreamRevision": "f4b0b722af83001d7af979281e06ca642d36e4e8", "naturalImageStimulusMatch": "unassessed", "individualObserver": "unassessed" },
22
+ { "id": "aliasing-halos-color-and-tonal-clipping", "status": "unassessed", "reason": "separate-source-stage-qualified-protocol-and-reference-required" },
23
+ {"id": "owned-pdf-crop-enlargement-and-same-scale-reference", "status": "independently-inspected-public-artifact-and-engine-geometry-tested", "test": "test/print-proof-reference.test.ts", "reference": "proof-inspection-reference.json", "pdf": "output/pdf/print-proof-reference.pdf", "nativeCrop": [16, 8], "exactArchivedJpegStreams": true, "actualPrinterScale": "unassessed", "colorLuminance": "unassessed", "perception": "unassessed", "privateProductIntegration": "unassessed"},
24
+ { "id": "physical-proof-and-private-product-acceptance", "status": "blocked", "reason": "actual-immutable-capture-region-output-and-physical-scale-integration-evidence-required" },
25
+ { "id": "printer-substrate-icc", "status": "out-of-scope" },
26
+ { "id": "overall-print-pass", "status": "not-offered" }
27
+ ]
28
+ }
@@ -0,0 +1,356 @@
1
+ {
2
+ "schemaVersion": "0.1.0",
3
+ "engineCandidate": "1.2.0",
4
+ "humanScientificSourceReview": "pending",
5
+ "upstream": {
6
+ "repository": "https://github.com/gfxdisp/castleCSF",
7
+ "revision": "f4b0b722af83001d7af979281e06ca642d36e4e8",
8
+ "license": "MIT",
9
+ "reviewedFiles": [
10
+ {
11
+ "path": "LICENSE",
12
+ "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
13
+ },
14
+ {
15
+ "path": "matlab/CSF_base.m",
16
+ "sha256": "f5fd8185004c23be16fdd3af46e543cb9ab54b7c40150f247fd940f0703de904"
17
+ },
18
+ {
19
+ "path": "matlab/CSF_castleCSF.m",
20
+ "sha256": "8fb5b55bc1643ace2a92d84613c84b299e9c9252e7c1e04e2eb86844963f4a81"
21
+ },
22
+ {
23
+ "path": "matlab/CSF_stelaCSF_lum_peak.m",
24
+ "sha256": "66a941b5fe938c8eb4aed52a82e29ceb0aacb4fe947b0c91418e1d6308bd5520"
25
+ },
26
+ {
27
+ "path": "matlab/CSF_castleCSF_chrom.m",
28
+ "sha256": "09c49ccb2ccc2430a11c72825ea92d16fc00a6383f62a5017e73e3559d87bf38"
29
+ }
30
+ ]
31
+ },
32
+ "referenceArtifacts": [
33
+ {
34
+ "path": "output/pdf/print-proof-reference.pdf",
35
+ "sha256": "4b1bba8a3e6a44b8b41d9fddcbd0c3e404a4b2d3f455aab1d813d068aa141428"
36
+ },
37
+ {
38
+ "path": "test/fixtures/print-detail/capture-backend-reference.json",
39
+ "sha256": "fd43590d5ca0359da2d6bd575e9fe7d4b695bc57ba1ac02de80fa33ebf252355"
40
+ },
41
+ {
42
+ "path": "test/fixtures/print-detail/contrast-reference.json",
43
+ "sha256": "0fb9cd0f6e3e7f9eaff59fdfe6b570285c566f4da15ed55d19a1de9d0df88a8b"
44
+ },
45
+ {
46
+ "path": "test/fixtures/print-detail/depth-backend-reference.json",
47
+ "sha256": "d1bca3ad17e6730ad3861bd267d60f4601df7c7d50480d31af306e6eea46296f"
48
+ },
49
+ {
50
+ "path": "test/fixtures/print-detail/generate_capture_reference.py",
51
+ "sha256": "88ebc759768120aeca66114baddd0425c806b17a6ae86bc31b5b21c4ad9fadc5"
52
+ },
53
+ {
54
+ "path": "test/fixtures/print-detail/generate_contrast_reference.py",
55
+ "sha256": "29ffed237c8936bad7541eb71b5e3fc579bc59637733a613107462e7492a4563"
56
+ },
57
+ {
58
+ "path": "test/fixtures/print-detail/generate_depth_reference.py",
59
+ "sha256": "155cc00a3875786330177a766de1e2b95e0a323bd465338d107d33c93af574e5"
60
+ },
61
+ {
62
+ "path": "test/fixtures/print-detail/generate_motion_reference.py",
63
+ "sha256": "09233fe0b61ea6cc1e4d1b26cf94d01a2ade71c59ed952936d71cf68b2f35a19"
64
+ },
65
+ {
66
+ "path": "test/fixtures/print-detail/generate_processing_reference.py",
67
+ "sha256": "3fc7af6118f6d9ec454e56167df5bc3ff3a7c6632f44237eb9031d18abeda337"
68
+ },
69
+ {
70
+ "path": "test/fixtures/print-detail/generate_proof_reference.py",
71
+ "sha256": "5bd9c34ac4a625ff1c784e20b085fbb816e6c282869c0ba453f68ba82bd17fd4"
72
+ },
73
+ {
74
+ "path": "test/fixtures/print-detail/generate_psf_reference.py",
75
+ "sha256": "05f1ce4248d48a322d05d12ed7bc494cbb1d8a06eae55d3a84e27932943632a1"
76
+ },
77
+ {
78
+ "path": "test/fixtures/print-detail/generate_pupil_convergence_reference.py",
79
+ "sha256": "0d070a0ff2f7f7aedcc4720f27c0f303f0c693aa6c9e59332a327a9f488566ec"
80
+ },
81
+ {
82
+ "path": "test/fixtures/print-detail/generate_readout_reference.py",
83
+ "sha256": "8bee4c1b779ab0568c54631dca0f5222046f4f5add90c1fb8bcf4f5fbdbaa5d6"
84
+ },
85
+ {
86
+ "path": "test/fixtures/print-detail/generate_reference.py",
87
+ "sha256": "75571a248d1ff091017546547179de4087e49391d8318f290ff301703c2f8e37"
88
+ },
89
+ {
90
+ "path": "test/fixtures/print-detail/generate_statistics_reference.py",
91
+ "sha256": "8d12470787dd45f679cba7236ed76df11340b3dc73e23f24e77bdf4a54ed890b"
92
+ },
93
+ {
94
+ "path": "test/fixtures/print-detail/generate_visibility_reference.py",
95
+ "sha256": "2df5a0fda275c6ad5082324752f1f117ac7c8dcb1bb878ad785ad9a182377beb"
96
+ },
97
+ {
98
+ "path": "test/fixtures/print-detail/motion-backend-reference.json",
99
+ "sha256": "f26ea45676d3123be1bae6a8b288151c25c0db199c453a8f97c9ded9578b3b51"
100
+ },
101
+ {
102
+ "path": "test/fixtures/print-detail/processing-reference.json",
103
+ "sha256": "bf327ca94cb936642a420be401e2f944662d86aa95da04d58f51f83ef0b62c71"
104
+ },
105
+ {
106
+ "path": "test/fixtures/print-detail/proof-inspection-reference.json",
107
+ "sha256": "7595e8ec64145db879b42384c6f440b03b4eb3edde6ba89fb7d40a01fad47b7e"
108
+ },
109
+ {
110
+ "path": "test/fixtures/print-detail/proof-layout-reference.json",
111
+ "sha256": "a226c12708d0bff77023dcb57578492bd018314985ff850ba6086fa29fb2cb3d"
112
+ },
113
+ {
114
+ "path": "test/fixtures/print-detail/psf-backend-reference.json",
115
+ "sha256": "acafebedfed3ce2837cde6db121c80ac652de44a54c3ae2b2516b7369aa921fd"
116
+ },
117
+ {
118
+ "path": "test/fixtures/print-detail/pupil-convergence-reference.json",
119
+ "sha256": "f643078ead1c3375a73306bad033d40465241ed70a7c83e09c50ae5da815014e"
120
+ },
121
+ {
122
+ "path": "test/fixtures/print-detail/readout-backend-reference.json",
123
+ "sha256": "e2ac2a2cc6dbc84307184c54d2dc2f2bf1ba7eb28ac0b097a07e3bf3557c366c"
124
+ },
125
+ {
126
+ "path": "test/fixtures/print-detail/sdr-reference.json",
127
+ "sha256": "b65f1a8c2ce0b8f3b799946a0ec94110fe9623c6348d156e31d6e41729208c30"
128
+ },
129
+ {
130
+ "path": "test/fixtures/print-detail/statistics-reference.json",
131
+ "sha256": "f7599612838f18ccc4eaa6e1876e5ea0fc1c5b2c59651531f10e29fda8df1f5b"
132
+ },
133
+ {
134
+ "path": "test/fixtures/print-detail/verify_proof_reference.py",
135
+ "sha256": "c199a248033d7d7b0003239dba5efc4adfdfbb37ac8198497bf1b4eab4492aa1"
136
+ },
137
+ {
138
+ "path": "test/fixtures/print-detail/visibility-backend-reference.json",
139
+ "sha256": "228c2a50c4661612c93c2c316ebdd26eacd0c3cc8eb234f0dd9110748b753cb8"
140
+ }
141
+ ],
142
+ "validation": {
143
+ "node": "26.8.1",
144
+ "tests": 2065,
145
+ "testFiles": 159,
146
+ "coveragePercent": {
147
+ "statements": 92.04,
148
+ "branches": 88.55,
149
+ "functions": 99.63,
150
+ "lines": 92.04
151
+ },
152
+ "strictPackedDocExamples": 67,
153
+ "packageFileCount": 810,
154
+ "qualified": "bounded numerical and named public backend conformance only",
155
+ "unqualified": "full #196 acceptance, capture/device/backend calibration, actual proof/UI scale, natural-image perception, human source/DCO review",
156
+ "additionalFullCoverageNode": "24.19.0"
157
+ },
158
+ "electronicReadoutProtocol": {
159
+ "version": "0.1.0",
160
+ "backend": "simulateSensorRawFrame",
161
+ "producerSchemaVersion": "0.3.0",
162
+ "captureNoiseModelVersion": "0.2.0",
163
+ "nativeRaster": {
164
+ "pixelWidth": 2,
165
+ "pixelHeight": 2
166
+ },
167
+ "containerBitDepth": 16,
168
+ "adcBitDepth": 12,
169
+ "sourceRadiometryVerified": false,
170
+ "scalarInterpretation": "declared conditional ideal neutral encoding, not photometric calibration",
171
+ "stageIsolation": "deterministic charge injection, zero photo/dark means and zero read noise",
172
+ "repeatCounts": [
173
+ 32,
174
+ 64,
175
+ 128,
176
+ 256
177
+ ],
178
+ "repeatModel": {
179
+ "photoMeanElectrons": 200,
180
+ "darkMeanElectrons": 8,
181
+ "readNoiseRmsElectrons": [
182
+ 0,
183
+ 2
184
+ ],
185
+ "referenceElectronsPerRelativeUnit": 200
186
+ },
187
+ "signedDarkModel": {
188
+ "photoMeanElectrons": 0,
189
+ "darkMeanElectrons": 0,
190
+ "readNoiseRmsElectrons": 8,
191
+ "blackLevelCode": 0,
192
+ "referenceElectronsPerRelativeUnit": 100
193
+ },
194
+ "uncertainty": "not-quantified; broad conformance bands are not confidence for a photograph",
195
+ "humanReview": "pending",
196
+ "implementationFiles": [
197
+ {
198
+ "path": "test/helpers/print-readout-backend-fixture.ts",
199
+ "sha256": "8582e513a6fba97035095a335e110a050d2116b701a504502f5dbf52bbc09c0f"
200
+ },
201
+ {
202
+ "path": "test/print-region-readout-backend.test.ts",
203
+ "sha256": "c9a1b006eeeebf1b1812790f415e31ea91bf550605be4289535ca1caa89b635f"
204
+ }
205
+ ]
206
+ },
207
+ "sourceCaptureProtocol": {
208
+ "version": "0.1.0",
209
+ "backend": "createProductionImageFormationPlan / environment capture / native RAW / processed output",
210
+ "nativeRaster": {
211
+ "pixelWidth": 2,
212
+ "pixelHeight": 2
213
+ },
214
+ "reference": "capture-backend-reference.json",
215
+ "source": "owned uniform flat-band environment",
216
+ "radianceScales": [
217
+ 0.5,
218
+ 1,
219
+ 2,
220
+ 4
221
+ ],
222
+ "wavelengthRangeNanometers": [
223
+ 540,
224
+ 560
225
+ ],
226
+ "exposureSeconds": 0.008,
227
+ "qe": 0.4,
228
+ "opticalTransmission": 0.85,
229
+ "providerQueriesPerCapture": 32,
230
+ "sourceRadiometryVerified": false,
231
+ "providerTransportVerified": false,
232
+ "physicalCalibration": "unassessed",
233
+ "humanReview": "pending",
234
+ "implementationFiles": [
235
+ {
236
+ "path": "test/print-region-capture-backend.test.ts",
237
+ "sha256": "1d4b4121e2b5b0bab82f56171fcf52b71a0eaad16e5a0304df75c5c665c9119d"
238
+ },
239
+ {
240
+ "path": "test/helpers/print-region-statistics-fixture.ts",
241
+ "sha256": "e1937d01204bcbbf7a7af32f0b3be4faa29af34b807ba399e6720a324fd8e117"
242
+ },
243
+ {
244
+ "path": "test/print-detail-depth-backend.test.ts",
245
+ "sha256": "3378d62426b40fda012cdfeb6caa7b02bdf81e7931bc501a3e1a2b90d5ecb6ca"
246
+ },
247
+ {
248
+ "path": "test/print-detail-psf-backend.test.ts",
249
+ "sha256": "9f6e7a1640df34972f66f678423ed75a468a8ad6a2d98966dc15c933c4e7f88e"
250
+ }
251
+ ]
252
+ },
253
+ "pupilSamplingPilot": {
254
+ "version": "0.1.0",
255
+ "reference": "pupil-convergence-reference.json",
256
+ "frequencyCyclesPerMm": 25,
257
+ "subjectDistancesM": [
258
+ 2,
259
+ 5,
260
+ 10
261
+ ],
262
+ "apertureFNumbers": [
263
+ 8,
264
+ 16,
265
+ 32
266
+ ],
267
+ "focusDistanceM": 5,
268
+ "wavelengthNm": 500,
269
+ "finalGridSamples": 61,
270
+ "pupilRadiusSamples": 15,
271
+ "maximumAbsoluteTransferError": 0.01,
272
+ "criterion": "candidate-informed-by-pilot-not-predeclared-physical-calibration",
273
+ "historical9x9Qualified": false,
274
+ "allFrequencies": "unassessed",
275
+ "humanReview": "pending",
276
+ "implementationFiles": [
277
+ {
278
+ "path": "test/helpers/print-depth-pupil-fixture.ts",
279
+ "sha256": "338dc84fdfa24f18bb5ae0c88918a9d5f8b33c66eef629ea01d061a780aaba94"
280
+ },
281
+ {
282
+ "path": "test/print-depth-pupil-convergence.test.ts",
283
+ "sha256": "754192f320688c2f314b682b8dc086556706eb3050fe31972496087cf26e04a3"
284
+ }
285
+ ]
286
+ },
287
+ "movingVisibilityProtocol": {
288
+ "version": "0.1.0",
289
+ "reference": "visibility-backend-reference.json",
290
+ "backend": "actual public production environment capture and native RAW/processed output",
291
+ "nearDepthM": 2,
292
+ "farDepthM": 10,
293
+ "foregroundVelocityMps": 125,
294
+ "motionAxes": [
295
+ "x",
296
+ "y"
297
+ ],
298
+ "exposureSeconds": 0.008,
299
+ "temporalSampleCounts": [
300
+ 2,
301
+ 4,
302
+ 8,
303
+ 16,
304
+ 32,
305
+ 64,
306
+ 128
307
+ ],
308
+ "maximumAbsoluteSourceScaleError": "1 / temporalSampleCount",
309
+ "engineSceneVisibilityCalculated": false,
310
+ "providerTransportVerified": false,
311
+ "sourceRadiometryVerified": false,
312
+ "psf": "explicitly omitted",
313
+ "movingDepthEdgePsf": "unsupported",
314
+ "humanReview": "pending",
315
+ "implementationFiles": [
316
+ {
317
+ "path": "test/helpers/tier-production-fixture.ts",
318
+ "sha256": "b8b0beda3907fe63190cdc1ce1d8bed0197901ba3f76802e3b2dea12f0e4f176"
319
+ },
320
+ {
321
+ "path": "test/print-region-visibility-backend.test.ts",
322
+ "sha256": "67e165dfe9c1d406df9a3559e5ae3299ddfcb0f64c725a26e2a8462a47cb137f"
323
+ }
324
+ ]
325
+ },
326
+ "physicalProofReference": {
327
+ "version": "0.1.0",
328
+ "reference": "proof-layout-reference.json",
329
+ "inspection": "proof-inspection-reference.json",
330
+ "pdf": "output/pdf/print-proof-reference.pdf",
331
+ "reportlabVersion": "4.4.9",
332
+ "pypdfVersion": "6.10.0",
333
+ "pageSizeMm": [
334
+ 210,
335
+ 297
336
+ ],
337
+ "pdfOperatorTolerancePoints": 0.0001,
338
+ "nativeRetainedCrop": [
339
+ 16,
340
+ 8
341
+ ],
342
+ "generatorReproduction": "byte-identical",
343
+ "finalPagesVisuallyInspected": 2,
344
+ "embeddedFontPrograms": false,
345
+ "actualPrinterScale": "unassessed",
346
+ "privateProductIntegration": "unassessed",
347
+ "colorLuminancePerception": "unassessed",
348
+ "humanReview": "pending",
349
+ "implementationFiles": [
350
+ {
351
+ "path": "test/print-proof-reference.test.ts",
352
+ "sha256": "29c6f28141830bfc926257c41558c54f1d73ffc06783360c5900dcfbcbfbd7b1"
353
+ }
354
+ ]
355
+ }
356
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "recordVersion": "0.1.0",
3
+ "engineCandidate": "1.2.0",
4
+ "parentApprovedMerge": "c58d9eb9dcba807f020df45be1ed5ec4f6c081e4",
5
+ "parentReviewedHead": "43e4e9e4baac90f7b16c6e068b7964c0546a8134",
6
+ "parentTree": "0b9013746d1deddc0d3cf31d432f011ac5bf2ee8",
7
+ "newScientificSourceReview": "pending",
8
+ "newDcoCertification": "pending",
9
+ "engineAcceptance": "review-ready-bounded-computational-domain",
10
+ "fullNewUiAcceptance": "outstanding-in-app-owners",
11
+ "taggingAndPublicationApproved": false,
12
+ "backend": "simulateEnvironmentSensorRawFrame",
13
+ "sourceDomain": "owned-angular-neutral-grating-point-optics-540-560-nm",
14
+ "nativeRaster": [
15
+ 4,
16
+ 4
17
+ ],
18
+ "roi": [
19
+ 0,
20
+ 0,
21
+ 4,
22
+ 4
23
+ ],
24
+ "motion": "static",
25
+ "sourceRadiometryVerified": false,
26
+ "providerTransportVerified": false,
27
+ "deviceCalibration": "unassessed",
28
+ "observerAndNaturalImageVisibility": "unassessed",
29
+ "actualPrinterAndProductProofScale": "unassessed",
30
+ "axes": [
31
+ "x",
32
+ "y"
33
+ ],
34
+ "phasesRadians": [
35
+ 0,
36
+ 0.37
37
+ ],
38
+ "spatialMidpointCounts": [
39
+ 1,
40
+ 2,
41
+ 4,
42
+ 8
43
+ ],
44
+ "maximumProviderCallbacksPerCapture": 2048,
45
+ "independentMethod": "80-digit Decimal Taylor cosine, analytic midpoint bound, previously independent SI photoelectron reference",
46
+ "maximumAbsoluteScalarError": 1e-12,
47
+ "adcErrorBound": "half the actual declared conversion gain per source photo reference, with same noise realization and all clipping flags false",
48
+ "qualifiedMeaning": "conditional neutral photo expectation and separately bound noisy/readout scalar diagnostics; no MTF/visibility/overall print verdict",
49
+ "localChecks": {
50
+ "node": "26.8.1",
51
+ "coverageNode": "24.19.0",
52
+ "tests": 2082,
53
+ "testFiles": 160,
54
+ "coveragePercent": {
55
+ "statements": 92.04,
56
+ "branches": 88.55,
57
+ "functions": 99.63,
58
+ "lines": 92.04
59
+ },
60
+ "strictPackedExamples": 67,
61
+ "packageFileCount": 812
62
+ },
63
+ "newArtifacts": [
64
+ {
65
+ "path": "test/fixtures/print-detail/generate_native_detail_reference.py",
66
+ "sha256": "dcf29815bd6736356bd2e487aa56689710c43879f2daa4728084bd4095f5bf11"
67
+ },
68
+ {
69
+ "path": "test/fixtures/print-detail/native-detail-reference.json",
70
+ "sha256": "112d188997ee421b5a3b969522263a07ed427e0f16f75e394feeae4ba20c6117"
71
+ },
72
+ {
73
+ "path": "test/print-detail-native-capture.test.ts",
74
+ "sha256": "31b28c10ff49abdba33353b84da4360f03b4f3100732dbcd657c4b6f1766c961"
75
+ },
76
+ {
77
+ "path": "docs/PRINT_196_ENGINE_ACCEPTANCE.md",
78
+ "sha256": "a3f6a9a48db3f0a8b89c63f14f3681c06a3f4aca7c9074a53c0d46ef8807362c"
79
+ }
80
+ ]
81
+ }
@@ -96,5 +96,8 @@
96
96
  "post-resampling-linear",
97
97
  "post-encoding-decoded-linear"
98
98
  ]
99
- }
99
+ },
100
+ "recordScope": "historical mathematical-only qualification snapshot; retained values and source hashes describe that snapshot, not current candidate",
101
+ "supersededBy": "print-196-candidate-capabilities.json",
102
+ "currentEvidenceInventory": "print-196-candidate-evidence.json"
100
103
  }