@photivra/engine 1.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/CHANGELOG.md +393 -6
  2. package/CITATION.cff +1 -1
  3. package/NODE_SUPPORT.md +64 -12
  4. package/README.md +301 -182
  5. package/SECURITY.md +37 -28
  6. package/THIRD_PARTY.md +148 -4
  7. package/dist/camera/equivalent-focal-length.d.ts +13 -14
  8. package/dist/camera/equivalent-focal-length.js +15 -13
  9. package/dist/camera/equivalent-focal-length.js.map +1 -1
  10. package/dist/camera/field-of-view.d.ts +30 -19
  11. package/dist/camera/field-of-view.js +67 -18
  12. package/dist/camera/field-of-view.js.map +1 -1
  13. package/dist/camera/lens-projection.d.ts +170 -0
  14. package/dist/camera/lens-projection.js +444 -0
  15. package/dist/camera/lens-projection.js.map +1 -0
  16. package/dist/camera/projected-object-size.d.ts +10 -11
  17. package/dist/camera/projected-object-size.js +12 -10
  18. package/dist/camera/projected-object-size.js.map +1 -1
  19. package/dist/capture/capture-export-metadata.d.ts +9 -10
  20. package/dist/capture/capture-export-metadata.js +8 -5
  21. package/dist/capture/capture-export-metadata.js.map +1 -1
  22. package/dist/capture/dng-import.d.ts +91 -0
  23. package/dist/capture/dng-import.js +343 -0
  24. package/dist/capture/dng-import.js.map +1 -0
  25. package/dist/capture/environment-raw-producer.d.ts +37 -17
  26. package/dist/capture/environment-raw-producer.js +43 -19
  27. package/dist/capture/environment-raw-producer.js.map +1 -1
  28. package/dist/capture/export-jpeg.d.ts +35 -4
  29. package/dist/capture/export-jpeg.js +133 -47
  30. package/dist/capture/export-jpeg.js.map +1 -1
  31. package/dist/capture/export-tiff.d.ts +48 -24
  32. package/dist/capture/export-tiff.js +91 -31
  33. package/dist/capture/export-tiff.js.map +1 -1
  34. package/dist/capture/focus-control.d.ts +42 -65
  35. package/dist/capture/focus-control.js +56 -75
  36. package/dist/capture/focus-control.js.map +1 -1
  37. package/dist/capture/host-yield-cadence.d.ts +25 -0
  38. package/dist/capture/host-yield-cadence.js +25 -0
  39. package/dist/capture/host-yield-cadence.js.map +1 -0
  40. package/dist/capture/linear-encoding.d.ts +14 -12
  41. package/dist/capture/linear-encoding.js +14 -13
  42. package/dist/capture/linear-encoding.js.map +1 -1
  43. package/dist/capture/lossless-jpeg.d.ts +27 -0
  44. package/dist/capture/lossless-jpeg.js +237 -0
  45. package/dist/capture/lossless-jpeg.js.map +1 -0
  46. package/dist/capture/native-environment-lean.d.ts +227 -0
  47. package/dist/capture/native-environment-lean.js +974 -0
  48. package/dist/capture/native-environment-lean.js.map +1 -0
  49. package/dist/capture/native-environment-optical-stage.d.ts +97 -0
  50. package/dist/capture/native-environment-optical-stage.js +340 -0
  51. package/dist/capture/native-environment-optical-stage.js.map +1 -0
  52. package/dist/capture/native-environment-raw.d.ts +140 -6
  53. package/dist/capture/native-environment-raw.js +435 -34
  54. package/dist/capture/native-environment-raw.js.map +1 -1
  55. package/dist/capture/native-raw-development.d.ts +116 -9
  56. package/dist/capture/native-raw-development.js +221 -62
  57. package/dist/capture/native-raw-development.js.map +1 -1
  58. package/dist/capture/native-raw-dng.d.ts +60 -0
  59. package/dist/capture/native-raw-dng.js +167 -0
  60. package/dist/capture/native-raw-dng.js.map +1 -0
  61. package/dist/capture/native-raw.d.ts +65 -12
  62. package/dist/capture/native-raw.js +81 -19
  63. package/dist/capture/native-raw.js.map +1 -1
  64. package/dist/capture/packed-sensor-raw.d.ts +160 -0
  65. package/dist/capture/packed-sensor-raw.js +221 -0
  66. package/dist/capture/packed-sensor-raw.js.map +1 -0
  67. package/dist/capture/photographic-export.d.ts +58 -35
  68. package/dist/capture/photographic-export.js +177 -70
  69. package/dist/capture/photographic-export.js.map +1 -1
  70. package/dist/capture/raw-development-kernel.d.ts +52 -0
  71. package/dist/capture/raw-development-kernel.js +88 -0
  72. package/dist/capture/raw-development-kernel.js.map +1 -0
  73. package/dist/capture/raw-frame-limits.d.ts +7 -7
  74. package/dist/capture/raw-frame-limits.js +7 -6
  75. package/dist/capture/raw-frame-limits.js.map +1 -1
  76. package/dist/capture/raw-frame-reconstruction.d.ts +8 -9
  77. package/dist/capture/raw-frame-reconstruction.js +9 -8
  78. package/dist/capture/raw-frame-reconstruction.js.map +1 -1
  79. package/dist/capture/raw-white-level.d.ts +55 -0
  80. package/dist/capture/raw-white-level.js +165 -0
  81. package/dist/capture/raw-white-level.js.map +1 -0
  82. package/dist/capture/release-sequence.d.ts +5 -7
  83. package/dist/capture/release-sequence.js +15 -13
  84. package/dist/capture/release-sequence.js.map +1 -1
  85. package/dist/capture/sensor-raw-frame.d.ts +5 -6
  86. package/dist/capture/sensor-raw-frame.js +26 -9
  87. package/dist/capture/sensor-raw-frame.js.map +1 -1
  88. package/dist/capture/sensor-raw-producer.d.ts +21 -13
  89. package/dist/capture/sensor-raw-producer.js +86 -25
  90. package/dist/capture/sensor-raw-producer.js.map +1 -1
  91. package/dist/capture/simulated-capture.d.ts +15 -16
  92. package/dist/capture/simulated-capture.js +22 -12
  93. package/dist/capture/simulated-capture.js.map +1 -1
  94. package/dist/color/camera-color-matrix.d.ts +69 -0
  95. package/dist/color/camera-color-matrix.js +132 -0
  96. package/dist/color/camera-color-matrix.js.map +1 -0
  97. package/dist/color/capture-color.d.ts +17 -10
  98. package/dist/color/capture-color.js +50 -17
  99. package/dist/color/capture-color.js.map +1 -1
  100. package/dist/color/chromatic-adaptation.d.ts +63 -0
  101. package/dist/color/chromatic-adaptation.js +91 -0
  102. package/dist/color/chromatic-adaptation.js.map +1 -0
  103. package/dist/color/color-difference.d.ts +104 -0
  104. package/dist/color/color-difference.js +205 -0
  105. package/dist/color/color-difference.js.map +1 -0
  106. package/dist/color/color-matching-functions.d.ts +168 -0
  107. package/dist/color/color-matching-functions.js +309 -0
  108. package/dist/color/color-matching-functions.js.map +1 -0
  109. package/dist/color/colorimetry-math.d.ts +52 -0
  110. package/dist/color/colorimetry-math.js +144 -0
  111. package/dist/color/colorimetry-math.js.map +1 -0
  112. package/dist/color/gamut-mapping.d.ts +54 -0
  113. package/dist/color/gamut-mapping.js +107 -0
  114. package/dist/color/gamut-mapping.js.map +1 -0
  115. package/dist/color/illuminants.d.ts +182 -0
  116. package/dist/color/illuminants.js +434 -0
  117. package/dist/color/illuminants.js.map +1 -0
  118. package/dist/color/rgb-color-spaces.d.ts +79 -0
  119. package/dist/color/rgb-color-spaces.js +115 -0
  120. package/dist/color/rgb-color-spaces.js.map +1 -0
  121. package/dist/color/sensor-color-development.d.ts +33 -11
  122. package/dist/color/sensor-color-development.js +104 -30
  123. package/dist/color/sensor-color-development.js.map +1 -1
  124. package/dist/color/srgb-icc.d.ts +9 -2
  125. package/dist/color/srgb-icc.js +16 -5
  126. package/dist/color/srgb-icc.js.map +1 -1
  127. package/dist/color/srgb-transfer.d.ts +1 -2
  128. package/dist/color/srgb-transfer.js +1 -1
  129. package/dist/color/srgb-transfer.js.map +1 -1
  130. package/dist/color/white-balance.d.ts +68 -19
  131. package/dist/color/white-balance.js +168 -35
  132. package/dist/color/white-balance.js.map +1 -1
  133. package/dist/composition/image-formation-plan.d.ts +152 -128
  134. package/dist/composition/image-formation-plan.js +292 -138
  135. package/dist/composition/image-formation-plan.js.map +1 -1
  136. package/dist/composition/plan-consumer.d.ts +6 -7
  137. package/dist/composition/plan-consumer.js +14 -11
  138. package/dist/composition/plan-consumer.js.map +1 -1
  139. package/dist/core/calculation-result.d.ts +21 -14
  140. package/dist/core/calculation-result.js +209 -11
  141. package/dist/core/calculation-result.js.map +1 -1
  142. package/dist/core/canonical-json.d.ts +13 -8
  143. package/dist/core/canonical-json.js +34 -15
  144. package/dist/core/canonical-json.js.map +1 -1
  145. package/dist/core/configuration-error.d.ts +5 -4
  146. package/dist/core/configuration-error.js +5 -3
  147. package/dist/core/configuration-error.js.map +1 -1
  148. package/dist/core/evidence-provenance.d.ts +12 -12
  149. package/dist/core/evidence-provenance.js +10 -9
  150. package/dist/core/evidence-provenance.js.map +1 -1
  151. package/dist/core/image-formation.d.ts +11 -10
  152. package/dist/core/image-formation.js +11 -9
  153. package/dist/core/image-formation.js.map +1 -1
  154. package/dist/core/owned-data.d.ts +9 -17
  155. package/dist/core/owned-data.js +9 -16
  156. package/dist/core/owned-data.js.map +1 -1
  157. package/dist/core/portable-math.d.ts +15 -0
  158. package/dist/core/portable-math.js +56 -0
  159. package/dist/core/portable-math.js.map +1 -0
  160. package/dist/core/record-validation.d.ts +48 -9
  161. package/dist/core/record-validation.js +93 -19
  162. package/dist/core/record-validation.js.map +1 -1
  163. package/dist/core/scientific-assurance.d.ts +16 -14
  164. package/dist/core/scientific-assurance.js +22 -18
  165. package/dist/core/scientific-assurance.js.map +1 -1
  166. package/dist/core/spectral-composition.d.ts +13 -14
  167. package/dist/core/spectral-composition.js +30 -27
  168. package/dist/core/spectral-composition.js.map +1 -1
  169. package/dist/core/spectral.d.ts +5 -6
  170. package/dist/core/spectral.js +9 -7
  171. package/dist/core/spectral.js.map +1 -1
  172. package/dist/core/validation.d.ts +3 -6
  173. package/dist/core/validation.js +3 -5
  174. package/dist/core/validation.js.map +1 -1
  175. package/dist/core/version.d.ts +6 -6
  176. package/dist/core/version.js +6 -5
  177. package/dist/core/version.js.map +1 -1
  178. package/dist/equipment/exposure-capabilities.d.ts +10 -10
  179. package/dist/equipment/exposure-capabilities.js +40 -30
  180. package/dist/equipment/exposure-capabilities.js.map +1 -1
  181. package/dist/equipment/generic-tier-assets.d.ts +13 -6
  182. package/dist/equipment/generic-tier-assets.js +34 -15
  183. package/dist/equipment/generic-tier-assets.js.map +1 -1
  184. package/dist/equipment/generic-tier-presets.d.ts +5 -6
  185. package/dist/equipment/generic-tier-presets.js +15 -13
  186. package/dist/equipment/generic-tier-presets.js.map +1 -1
  187. package/dist/equipment/iso-capabilities.d.ts +21 -22
  188. package/dist/equipment/iso-capabilities.js +49 -44
  189. package/dist/equipment/iso-capabilities.js.map +1 -1
  190. package/dist/equipment/metering-capabilities.d.ts +5 -6
  191. package/dist/equipment/metering-capabilities.js +22 -19
  192. package/dist/equipment/metering-capabilities.js.map +1 -1
  193. package/dist/equipment/release-capabilities.d.ts +3 -4
  194. package/dist/equipment/release-capabilities.js +18 -14
  195. package/dist/equipment/release-capabilities.js.map +1 -1
  196. package/dist/exposure/exposure-duration-control.d.ts +19 -17
  197. package/dist/exposure/exposure-duration-control.js +27 -23
  198. package/dist/exposure/exposure-duration-control.js.map +1 -1
  199. package/dist/exposure/exposure-mode-resolver.d.ts +42 -39
  200. package/dist/exposure/exposure-mode-resolver.js +127 -82
  201. package/dist/exposure/exposure-mode-resolver.js.map +1 -1
  202. package/dist/exposure/exposure.d.ts +17 -16
  203. package/dist/exposure/exposure.js +22 -15
  204. package/dist/exposure/exposure.js.map +1 -1
  205. package/dist/exposure/flash-ttl.d.ts +135 -0
  206. package/dist/exposure/flash-ttl.js +193 -0
  207. package/dist/exposure/flash-ttl.js.map +1 -0
  208. package/dist/exposure/flash.d.ts +144 -36
  209. package/dist/exposure/flash.js +259 -59
  210. package/dist/exposure/flash.js.map +1 -1
  211. package/dist/exposure/metering-scene-radiance.d.ts +10 -10
  212. package/dist/exposure/metering-scene-radiance.js +42 -23
  213. package/dist/exposure/metering-scene-radiance.js.map +1 -1
  214. package/dist/exposure/metering-target.d.ts +8 -8
  215. package/dist/exposure/metering-target.js +30 -20
  216. package/dist/exposure/metering-target.js.map +1 -1
  217. package/dist/exposure/metering-temporal.d.ts +16 -15
  218. package/dist/exposure/metering-temporal.js +41 -19
  219. package/dist/exposure/metering-temporal.js.map +1 -1
  220. package/dist/exposure/metering.d.ts +64 -17
  221. package/dist/exposure/metering.js +159 -30
  222. package/dist/exposure/metering.js.map +1 -1
  223. package/dist/exposure/program-line.d.ts +5 -5
  224. package/dist/exposure/program-line.js +20 -13
  225. package/dist/exposure/program-line.js.map +1 -1
  226. package/dist/facade/camera-preset.d.ts +8 -0
  227. package/dist/facade/camera-preset.js +102 -0
  228. package/dist/facade/camera-preset.js.map +1 -0
  229. package/dist/facade/chart-radiance-batch.d.ts +57 -0
  230. package/dist/facade/chart-radiance-batch.js +121 -0
  231. package/dist/facade/chart-radiance-batch.js.map +1 -0
  232. package/dist/facade/chart-scenes.d.ts +177 -0
  233. package/dist/facade/chart-scenes.js +232 -0
  234. package/dist/facade/chart-scenes.js.map +1 -0
  235. package/dist/facade/host-yield.d.ts +7 -0
  236. package/dist/facade/host-yield.js +23 -0
  237. package/dist/facade/host-yield.js.map +1 -0
  238. package/dist/facade/scene-radiance.d.ts +117 -0
  239. package/dist/facade/scene-radiance.js +205 -0
  240. package/dist/facade/scene-radiance.js.map +1 -0
  241. package/dist/facade/simulate-capture.d.ts +284 -0
  242. package/dist/facade/simulate-capture.js +1026 -0
  243. package/dist/facade/simulate-capture.js.map +1 -0
  244. package/dist/gpu/chart-radiance-gpu.d.ts +17 -0
  245. package/dist/gpu/chart-radiance-gpu.js +176 -0
  246. package/dist/gpu/chart-radiance-gpu.js.map +1 -0
  247. package/dist/gpu/image-kernel-accelerator.d.ts +132 -0
  248. package/dist/gpu/image-kernel-accelerator.js +720 -0
  249. package/dist/gpu/image-kernel-accelerator.js.map +1 -0
  250. package/dist/gpu/image-kernel-execution.d.ts +92 -0
  251. package/dist/gpu/image-kernel-execution.js +84 -0
  252. package/dist/gpu/image-kernel-execution.js.map +1 -0
  253. package/dist/gpu/sensor-stage-gpu.d.ts +44 -0
  254. package/dist/gpu/sensor-stage-gpu.js +317 -0
  255. package/dist/gpu/sensor-stage-gpu.js.map +1 -0
  256. package/dist/gpu/temporal-sum-gpu.d.ts +23 -0
  257. package/dist/gpu/temporal-sum-gpu.js +150 -0
  258. package/dist/gpu/temporal-sum-gpu.js.map +1 -0
  259. package/dist/gpu/webgpu-runtime.d.ts +63 -0
  260. package/dist/gpu/webgpu-runtime.js +215 -0
  261. package/dist/gpu/webgpu-runtime.js.map +1 -0
  262. package/dist/gpu/wgsl-chart-kernel.d.ts +30 -0
  263. package/dist/gpu/wgsl-chart-kernel.js +165 -0
  264. package/dist/gpu/wgsl-chart-kernel.js.map +1 -0
  265. package/dist/gpu/wgsl-kernels.d.ts +53 -0
  266. package/dist/gpu/wgsl-kernels.js +365 -0
  267. package/dist/gpu/wgsl-kernels.js.map +1 -0
  268. package/dist/gpu/wgsl-sensor-kernel.d.ts +64 -0
  269. package/dist/gpu/wgsl-sensor-kernel.js +409 -0
  270. package/dist/gpu/wgsl-sensor-kernel.js.map +1 -0
  271. package/dist/index.d.ts +89 -25
  272. package/dist/index.js +59 -15
  273. package/dist/index.js.map +1 -1
  274. package/dist/motion/camera-rotation.d.ts +92 -40
  275. package/dist/motion/camera-rotation.js +84 -47
  276. package/dist/motion/camera-rotation.js.map +1 -1
  277. package/dist/motion/capture-rotation-inverse-mapping.d.ts +37 -34
  278. package/dist/motion/capture-rotation-inverse-mapping.js +32 -24
  279. package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
  280. package/dist/motion/capture-rotation-temporal-quadrature.d.ts +39 -35
  281. package/dist/motion/capture-rotation-temporal-quadrature.js +37 -28
  282. package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
  283. package/dist/motion/capture-rotation-trajectory.d.ts +32 -28
  284. package/dist/motion/capture-rotation-trajectory.js +36 -26
  285. package/dist/motion/capture-rotation-trajectory.js.map +1 -1
  286. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +23 -21
  287. package/dist/motion/capture-translation-parallax-temporal-quadrature.js +33 -14
  288. package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -1
  289. package/dist/motion/extended-object-projection.d.ts +19 -16
  290. package/dist/motion/extended-object-projection.js +38 -18
  291. package/dist/motion/extended-object-projection.js.map +1 -1
  292. package/dist/motion/projected-motion.d.ts +18 -17
  293. package/dist/motion/projected-motion.js +25 -17
  294. package/dist/motion/projected-motion.js.map +1 -1
  295. package/dist/motion/temporal-exposure-sum.d.ts +55 -0
  296. package/dist/motion/temporal-exposure-sum.js +141 -0
  297. package/dist/motion/temporal-exposure-sum.js.map +1 -0
  298. package/dist/motion/video-sequence.d.ts +111 -0
  299. package/dist/motion/video-sequence.js +179 -0
  300. package/dist/motion/video-sequence.js.map +1 -0
  301. package/dist/optics/aperture.d.ts +14 -15
  302. package/dist/optics/aperture.js +13 -11
  303. package/dist/optics/aperture.js.map +1 -1
  304. package/dist/optics/atmospheric-haze.d.ts +83 -0
  305. package/dist/optics/atmospheric-haze.js +113 -0
  306. package/dist/optics/atmospheric-haze.js.map +1 -0
  307. package/dist/optics/brown-conrady-distortion.d.ts +116 -0
  308. package/dist/optics/brown-conrady-distortion.js +291 -0
  309. package/dist/optics/brown-conrady-distortion.js.map +1 -0
  310. package/dist/optics/circle-of-confusion.d.ts +10 -10
  311. package/dist/optics/circle-of-confusion.js +15 -11
  312. package/dist/optics/circle-of-confusion.js.map +1 -1
  313. package/dist/optics/complex-pupil-psf.d.ts +64 -33
  314. package/dist/optics/complex-pupil-psf.js +190 -98
  315. package/dist/optics/complex-pupil-psf.js.map +1 -1
  316. package/dist/optics/depth-of-field.d.ts +25 -15
  317. package/dist/optics/depth-of-field.js +67 -27
  318. package/dist/optics/depth-of-field.js.map +1 -1
  319. package/dist/optics/diffraction.d.ts +14 -13
  320. package/dist/optics/diffraction.js +14 -10
  321. package/dist/optics/diffraction.js.map +1 -1
  322. package/dist/optics/focus-breathing.d.ts +88 -27
  323. package/dist/optics/focus-breathing.js +114 -23
  324. package/dist/optics/focus-breathing.js.map +1 -1
  325. package/dist/optics/focus-state.d.ts +18 -18
  326. package/dist/optics/focus-state.js +21 -15
  327. package/dist/optics/focus-state.js.map +1 -1
  328. package/dist/optics/front-of-lens-filter.d.ts +45 -14
  329. package/dist/optics/front-of-lens-filter.js +259 -88
  330. package/dist/optics/front-of-lens-filter.js.map +1 -1
  331. package/dist/optics/illumination-vignetting.d.ts +16 -17
  332. package/dist/optics/illumination-vignetting.js +40 -17
  333. package/dist/optics/illumination-vignetting.js.map +1 -1
  334. package/dist/optics/irradiance-convolution.d.ts +59 -0
  335. package/dist/optics/irradiance-convolution.js +138 -0
  336. package/dist/optics/irradiance-convolution.js.map +1 -0
  337. package/dist/optics/lateral-chromatic-aberration.d.ts +33 -30
  338. package/dist/optics/lateral-chromatic-aberration.js +33 -23
  339. package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
  340. package/dist/optics/lens-psf-kernels.d.ts +89 -0
  341. package/dist/optics/lens-psf-kernels.js +175 -0
  342. package/dist/optics/lens-psf-kernels.js.map +1 -0
  343. package/dist/optics/lens-psf-profile.d.ts +78 -46
  344. package/dist/optics/lens-psf-profile.js +335 -124
  345. package/dist/optics/lens-psf-profile.js.map +1 -1
  346. package/dist/optics/longitudinal-chromatic-aberration.d.ts +102 -0
  347. package/dist/optics/longitudinal-chromatic-aberration.js +210 -0
  348. package/dist/optics/longitudinal-chromatic-aberration.js.map +1 -0
  349. package/dist/optics/polygon-diffraction.d.ts +80 -23
  350. package/dist/optics/polygon-diffraction.js +130 -25
  351. package/dist/optics/polygon-diffraction.js.map +1 -1
  352. package/dist/optics/profile-contract.d.ts +5 -6
  353. package/dist/optics/profile-contract.js +14 -11
  354. package/dist/optics/profile-contract.js.map +1 -1
  355. package/dist/optics/psf-foundation.d.ts +23 -23
  356. package/dist/optics/psf-foundation.js +24 -21
  357. package/dist/optics/psf-foundation.js.map +1 -1
  358. package/dist/optics/pupil-vignetting.d.ts +118 -0
  359. package/dist/optics/pupil-vignetting.js +264 -0
  360. package/dist/optics/pupil-vignetting.js.map +1 -0
  361. package/dist/optics/radial-distortion.d.ts +34 -33
  362. package/dist/optics/radial-distortion.js +37 -30
  363. package/dist/optics/radial-distortion.js.map +1 -1
  364. package/dist/optics/scene-to-sensor-irradiance.d.ts +47 -33
  365. package/dist/optics/scene-to-sensor-irradiance.js +73 -45
  366. package/dist/optics/scene-to-sensor-irradiance.js.map +1 -1
  367. package/dist/optics/scene-to-sensor-quadrature.d.ts +23 -18
  368. package/dist/optics/scene-to-sensor-quadrature.js +16 -11
  369. package/dist/optics/scene-to-sensor-quadrature.js.map +1 -1
  370. package/dist/optics/sensor-aperture-rays.d.ts +20 -4
  371. package/dist/optics/sensor-aperture-rays.js +32 -14
  372. package/dist/optics/sensor-aperture-rays.js.map +1 -1
  373. package/dist/optics/sensor-environment-query.d.ts +81 -16
  374. package/dist/optics/sensor-environment-query.js +145 -12
  375. package/dist/optics/sensor-environment-query.js.map +1 -1
  376. package/dist/optics/sensor-psf-quadrature.d.ts +12 -10
  377. package/dist/optics/sensor-psf-quadrature.js +18 -11
  378. package/dist/optics/sensor-psf-quadrature.js.map +1 -1
  379. package/dist/optics/sensor-psf-support.d.ts +8 -6
  380. package/dist/optics/sensor-psf-support.js +8 -5
  381. package/dist/optics/sensor-psf-support.js.map +1 -1
  382. package/dist/optics/stray-light.d.ts +22 -19
  383. package/dist/optics/stray-light.js +18 -12
  384. package/dist/optics/stray-light.js.map +1 -1
  385. package/dist/optics/thin-lens.d.ts +10 -9
  386. package/dist/optics/thin-lens.js +12 -8
  387. package/dist/optics/thin-lens.js.map +1 -1
  388. package/dist/optics/zernike-wavefront.d.ts +154 -0
  389. package/dist/optics/zernike-wavefront.js +352 -0
  390. package/dist/optics/zernike-wavefront.js.map +1 -0
  391. package/dist/output/capture-corrected-sdr.d.ts +16 -8
  392. package/dist/output/capture-corrected-sdr.js +16 -8
  393. package/dist/output/capture-corrected-sdr.js.map +1 -1
  394. package/dist/output/capture-geometry.d.ts +34 -36
  395. package/dist/output/capture-geometry.js +52 -32
  396. package/dist/output/capture-geometry.js.map +1 -1
  397. package/dist/output/capture-sdr.d.ts +7 -6
  398. package/dist/output/capture-sdr.js +11 -8
  399. package/dist/output/capture-sdr.js.map +1 -1
  400. package/dist/output/crop.d.ts +22 -6
  401. package/dist/output/crop.js +40 -6
  402. package/dist/output/crop.js.map +1 -1
  403. package/dist/output/geometric-transforms.d.ts +60 -23
  404. package/dist/output/geometric-transforms.js +111 -24
  405. package/dist/output/geometric-transforms.js.map +1 -1
  406. package/dist/output/lens-corrections.d.ts +27 -19
  407. package/dist/output/lens-corrections.js +29 -13
  408. package/dist/output/lens-corrections.js.map +1 -1
  409. package/dist/output/native-capture-sdr.d.ts +71 -16
  410. package/dist/output/native-capture-sdr.js +190 -33
  411. package/dist/output/native-capture-sdr.js.map +1 -1
  412. package/dist/output/png-encoder.d.ts +65 -0
  413. package/dist/output/png-encoder.js +461 -0
  414. package/dist/output/png-encoder.js.map +1 -0
  415. package/dist/output/print-contrast-reference.d.ts +10 -9
  416. package/dist/output/print-contrast-reference.js +10 -8
  417. package/dist/output/print-contrast-reference.js.map +1 -1
  418. package/dist/output/print-detail.d.ts +18 -17
  419. package/dist/output/print-detail.js +12 -10
  420. package/dist/output/print-detail.js.map +1 -1
  421. package/dist/output/print-jpeg.d.ts +26 -5
  422. package/dist/output/print-jpeg.js +117 -50
  423. package/dist/output/print-jpeg.js.map +1 -1
  424. package/dist/output/print-plan.d.ts +19 -19
  425. package/dist/output/print-plan.js +11 -10
  426. package/dist/output/print-plan.js.map +1 -1
  427. package/dist/output/print-region-statistics.d.ts +14 -15
  428. package/dist/output/print-region-statistics.js +11 -11
  429. package/dist/output/print-region-statistics.js.map +1 -1
  430. package/dist/output/sdr-rendering.d.ts +48 -10
  431. package/dist/output/sdr-rendering.js +114 -25
  432. package/dist/output/sdr-rendering.js.map +1 -1
  433. package/dist/output/subject-framing-crop.d.ts +6 -10
  434. package/dist/output/subject-framing-crop.js +23 -13
  435. package/dist/output/subject-framing-crop.js.map +1 -1
  436. package/dist/processing/demosaic.d.ts +90 -0
  437. package/dist/processing/demosaic.js +275 -0
  438. package/dist/processing/demosaic.js.map +1 -0
  439. package/dist/processing/denoise.d.ts +68 -0
  440. package/dist/processing/denoise.js +214 -0
  441. package/dist/processing/denoise.js.map +1 -0
  442. package/dist/processing/focus-stacking.d.ts +17 -0
  443. package/dist/processing/focus-stacking.js +80 -0
  444. package/dist/processing/focus-stacking.js.map +1 -0
  445. package/dist/processing/hdr.d.ts +54 -0
  446. package/dist/processing/hdr.js +172 -0
  447. package/dist/processing/hdr.js.map +1 -0
  448. package/dist/processing/image-ops.d.ts +66 -0
  449. package/dist/processing/image-ops.js +192 -0
  450. package/dist/processing/image-ops.js.map +1 -0
  451. package/dist/processing/panorama.d.ts +51 -0
  452. package/dist/processing/panorama.js +305 -0
  453. package/dist/processing/panorama.js.map +1 -0
  454. package/dist/processing/processing-task.d.ts +85 -0
  455. package/dist/processing/processing-task.js +164 -0
  456. package/dist/processing/processing-task.js.map +1 -0
  457. package/dist/processing/tone-mapping.d.ts +69 -0
  458. package/dist/processing/tone-mapping.js +310 -0
  459. package/dist/processing/tone-mapping.js.map +1 -0
  460. package/dist/schema/camera.d.ts +5 -4
  461. package/dist/schema/illumination-spectral.d.ts +13 -19
  462. package/dist/schema/illumination-spectral.js +23 -19
  463. package/dist/schema/illumination-spectral.js.map +1 -1
  464. package/dist/schema/illumination-temporal.d.ts +12 -15
  465. package/dist/schema/illumination-temporal.js +43 -28
  466. package/dist/schema/illumination-temporal.js.map +1 -1
  467. package/dist/schema/illumination.d.ts +5 -4
  468. package/dist/schema/illumination.js +55 -20
  469. package/dist/schema/illumination.js.map +1 -1
  470. package/dist/schema/scene-radiance-temporal.d.ts +9 -11
  471. package/dist/schema/scene-radiance-temporal.js +26 -23
  472. package/dist/schema/scene-radiance-temporal.js.map +1 -1
  473. package/dist/schema/scene-radiance.d.ts +17 -17
  474. package/dist/schema/scene-radiance.js +56 -34
  475. package/dist/schema/scene-radiance.js.map +1 -1
  476. package/dist/schema/scene.d.ts +14 -13
  477. package/dist/schema/validation.d.ts +0 -1
  478. package/dist/schema/validation.js +17 -15
  479. package/dist/schema/validation.js.map +1 -1
  480. package/dist/sensor/accumulated-charge.d.ts +45 -64
  481. package/dist/sensor/accumulated-charge.js +41 -47
  482. package/dist/sensor/accumulated-charge.js.map +1 -1
  483. package/dist/sensor/architecture.d.ts +22 -25
  484. package/dist/sensor/architecture.js +17 -16
  485. package/dist/sensor/architecture.js.map +1 -1
  486. package/dist/sensor/camera-saturation-capacity.d.ts +21 -28
  487. package/dist/sensor/camera-saturation-capacity.js +36 -34
  488. package/dist/sensor/camera-saturation-capacity.js.map +1 -1
  489. package/dist/sensor/capture-color-sampling-binding.d.ts +46 -51
  490. package/dist/sensor/capture-color-sampling-binding.js +39 -41
  491. package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
  492. package/dist/sensor/capture-mode-timing.d.ts +8 -9
  493. package/dist/sensor/capture-mode-timing.js +24 -21
  494. package/dist/sensor/capture-mode-timing.js.map +1 -1
  495. package/dist/sensor/capture-mode.d.ts +28 -30
  496. package/dist/sensor/capture-mode.js +33 -31
  497. package/dist/sensor/capture-mode.js.map +1 -1
  498. package/dist/sensor/color-sampling.d.ts +30 -33
  499. package/dist/sensor/color-sampling.js +32 -37
  500. package/dist/sensor/color-sampling.js.map +1 -1
  501. package/dist/sensor/constant-rate-temporal-integration.d.ts +19 -23
  502. package/dist/sensor/constant-rate-temporal-integration.js +28 -26
  503. package/dist/sensor/constant-rate-temporal-integration.js.map +1 -1
  504. package/dist/sensor/dark-current.d.ts +53 -49
  505. package/dist/sensor/dark-current.js +87 -46
  506. package/dist/sensor/dark-current.js.map +1 -1
  507. package/dist/sensor/environment-photo-signal.d.ts +71 -30
  508. package/dist/sensor/environment-photo-signal.js +127 -46
  509. package/dist/sensor/environment-photo-signal.js.map +1 -1
  510. package/dist/sensor/eqe-electron-rate.d.ts +14 -13
  511. package/dist/sensor/eqe-electron-rate.js +34 -14
  512. package/dist/sensor/eqe-electron-rate.js.map +1 -1
  513. package/dist/sensor/eqe-local-exposure.d.ts +24 -24
  514. package/dist/sensor/eqe-local-exposure.js +15 -11
  515. package/dist/sensor/eqe-local-exposure.js.map +1 -1
  516. package/dist/sensor/eqe-temporal-exposure.d.ts +11 -11
  517. package/dist/sensor/eqe-temporal-exposure.js +15 -10
  518. package/dist/sensor/eqe-temporal-exposure.js.map +1 -1
  519. package/dist/sensor/exposure-window.d.ts +48 -34
  520. package/dist/sensor/exposure-window.js +77 -36
  521. package/dist/sensor/exposure-window.js.map +1 -1
  522. package/dist/sensor/fixed-pattern-noise.d.ts +108 -0
  523. package/dist/sensor/fixed-pattern-noise.js +166 -0
  524. package/dist/sensor/fixed-pattern-noise.js.map +1 -0
  525. package/dist/sensor/iso-gain.d.ts +44 -0
  526. package/dist/sensor/iso-gain.js +119 -0
  527. package/dist/sensor/iso-gain.js.map +1 -0
  528. package/dist/sensor/iso-signal-chain.d.ts +25 -48
  529. package/dist/sensor/iso-signal-chain.js +52 -66
  530. package/dist/sensor/iso-signal-chain.js.map +1 -1
  531. package/dist/sensor/local-exposure-binding.d.ts +21 -21
  532. package/dist/sensor/local-exposure-binding.js +22 -18
  533. package/dist/sensor/local-exposure-binding.js.map +1 -1
  534. package/dist/sensor/optical-stack.d.ts +36 -40
  535. package/dist/sensor/optical-stack.js +34 -37
  536. package/dist/sensor/optical-stack.js.map +1 -1
  537. package/dist/sensor/photon-energy.d.ts +22 -28
  538. package/dist/sensor/photon-energy.js +42 -34
  539. package/dist/sensor/photon-energy.js.map +1 -1
  540. package/dist/sensor/physical-charge-capacity.d.ts +20 -30
  541. package/dist/sensor/physical-charge-capacity.js +35 -36
  542. package/dist/sensor/physical-charge-capacity.js.map +1 -1
  543. package/dist/sensor/pixel-pitch.d.ts +2 -3
  544. package/dist/sensor/pixel-pitch.js +4 -2
  545. package/dist/sensor/pixel-pitch.js.map +1 -1
  546. package/dist/sensor/radiometry-readiness.d.ts +13 -15
  547. package/dist/sensor/radiometry-readiness.js +20 -17
  548. package/dist/sensor/radiometry-readiness.js.map +1 -1
  549. package/dist/sensor/raw-readout.d.ts +173 -83
  550. package/dist/sensor/raw-readout.js +425 -160
  551. package/dist/sensor/raw-readout.js.map +1 -1
  552. package/dist/sensor/raw-reconstruction.d.ts +112 -44
  553. package/dist/sensor/raw-reconstruction.js +200 -47
  554. package/dist/sensor/raw-reconstruction.js.map +1 -1
  555. package/dist/sensor/readout-exposure-linkage.d.ts +103 -34
  556. package/dist/sensor/readout-exposure-linkage.js +125 -27
  557. package/dist/sensor/readout-exposure-linkage.js.map +1 -1
  558. package/dist/sensor/readout-timing.d.ts +43 -44
  559. package/dist/sensor/readout-timing.js +38 -30
  560. package/dist/sensor/readout-timing.js.map +1 -1
  561. package/dist/sensor/response-application-compatibility.d.ts +21 -28
  562. package/dist/sensor/response-application-compatibility.js +35 -34
  563. package/dist/sensor/response-application-compatibility.js.map +1 -1
  564. package/dist/sensor/response-operating-range.d.ts +26 -35
  565. package/dist/sensor/response-operating-range.js +40 -39
  566. package/dist/sensor/response-operating-range.js.map +1 -1
  567. package/dist/sensor/responsivity-photocurrent.d.ts +21 -29
  568. package/dist/sensor/responsivity-photocurrent.js +57 -40
  569. package/dist/sensor/responsivity-photocurrent.js.map +1 -1
  570. package/dist/sensor/sampling-aperture.d.ts +21 -25
  571. package/dist/sensor/sampling-aperture.js +29 -28
  572. package/dist/sensor/sampling-aperture.js.map +1 -1
  573. package/dist/sensor/scene-eqe-temporal-exposure.d.ts +14 -12
  574. package/dist/sensor/scene-eqe-temporal-exposure.js +13 -8
  575. package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -1
  576. package/dist/sensor/sensor-geometry.d.ts +28 -32
  577. package/dist/sensor/sensor-geometry.js +35 -20
  578. package/dist/sensor/sensor-geometry.js.map +1 -1
  579. package/dist/sensor/signal-noise.d.ts +14 -16
  580. package/dist/sensor/signal-noise.js +15 -13
  581. package/dist/sensor/signal-noise.js.map +1 -1
  582. package/dist/sensor/spatial-sample-reduction.d.ts +45 -60
  583. package/dist/sensor/spatial-sample-reduction.js +39 -48
  584. package/dist/sensor/spatial-sample-reduction.js.map +1 -1
  585. package/dist/sensor/spatial-sampling-quadrature.d.ts +46 -54
  586. package/dist/sensor/spatial-sampling-quadrature.js +31 -36
  587. package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
  588. package/dist/sensor/spatio-spectral-reduction.d.ts +32 -42
  589. package/dist/sensor/spatio-spectral-reduction.js +24 -29
  590. package/dist/sensor/spatio-spectral-reduction.js.map +1 -1
  591. package/dist/sensor/spectral-coverage.d.ts +6 -9
  592. package/dist/sensor/spectral-coverage.js +9 -6
  593. package/dist/sensor/spectral-coverage.js.map +1 -1
  594. package/dist/sensor/spectral-quadrature.d.ts +46 -60
  595. package/dist/sensor/spectral-quadrature.js +38 -48
  596. package/dist/sensor/spectral-quadrature.js.map +1 -1
  597. package/dist/sensor/spectral-response.d.ts +53 -41
  598. package/dist/sensor/spectral-response.js +80 -47
  599. package/dist/sensor/spectral-response.js.map +1 -1
  600. package/dist/sensor/stochastic-seed.d.ts +50 -0
  601. package/dist/sensor/stochastic-seed.js +123 -0
  602. package/dist/sensor/stochastic-seed.js.map +1 -0
  603. package/dist/sensor/temporal-eqe-sum.d.ts +2 -4
  604. package/dist/sensor/temporal-eqe-sum.js +5 -6
  605. package/dist/sensor/temporal-eqe-sum.js.map +1 -1
  606. package/dist/sensor/temporal-photo-signal.d.ts +5 -6
  607. package/dist/sensor/temporal-photo-signal.js +11 -10
  608. package/dist/sensor/temporal-photo-signal.js.map +1 -1
  609. package/dist/sensor/temporal-sample-binding.d.ts +1 -2
  610. package/dist/sensor/temporal-sample-binding.js +3 -3
  611. package/dist/sensor/temporal-sample-binding.js.map +1 -1
  612. package/dist/simulation/poc-simulation.d.ts +16 -16
  613. package/dist/simulation/poc-simulation.js +20 -15
  614. package/dist/simulation/poc-simulation.js.map +1 -1
  615. package/dist/stabilization/camera-shake.d.ts +42 -18
  616. package/dist/stabilization/camera-shake.js +43 -20
  617. package/dist/stabilization/camera-shake.js.map +1 -1
  618. package/dist/stabilization/system.d.ts +44 -41
  619. package/dist/stabilization/system.js +196 -108
  620. package/dist/stabilization/system.js.map +1 -1
  621. package/docs/AGENT_GUIDE.md +183 -0
  622. package/docs/API_REFERENCE.md +761 -2
  623. package/docs/QUICK_START.md +495 -0
  624. package/docs/USAGE.md +1719 -714
  625. package/docs/api/camera-equivalent-focal-length.md +6 -7
  626. package/docs/api/camera-field-of-view.md +16 -8
  627. package/docs/api/camera-lens-projection.md +246 -0
  628. package/docs/api/camera-projected-object-size.md +6 -5
  629. package/docs/api/capture-capture-export-metadata.md +10 -10
  630. package/docs/api/capture-dng-import.md +134 -0
  631. package/docs/api/capture-environment-raw-producer.md +17 -11
  632. package/docs/api/capture-export-jpeg.md +16 -0
  633. package/docs/api/capture-focus-control.md +25 -47
  634. package/docs/api/capture-linear-encoding.md +21 -12
  635. package/docs/api/capture-lossless-jpeg.md +49 -0
  636. package/docs/api/capture-native-environment-optical-stage.md +75 -0
  637. package/docs/api/capture-native-environment-raw.md +161 -4
  638. package/docs/api/capture-native-raw-development.md +69 -8
  639. package/docs/api/capture-native-raw-dng.md +84 -0
  640. package/docs/api/capture-native-raw.md +21 -10
  641. package/docs/api/capture-packed-sensor-raw.md +156 -0
  642. package/docs/api/capture-photographic-export.md +69 -31
  643. package/docs/api/capture-raw-frame-reconstruction.md +8 -8
  644. package/docs/api/capture-raw-white-level.md +37 -0
  645. package/docs/api/capture-release-sequence.md +6 -7
  646. package/docs/api/capture-sensor-raw-frame.md +6 -6
  647. package/docs/api/capture-sensor-raw-producer.md +17 -11
  648. package/docs/api/capture-simulated-capture.md +15 -15
  649. package/docs/api/color-camera-color-matrix.md +103 -0
  650. package/docs/api/color-capture-color.md +22 -11
  651. package/docs/api/color-chromatic-adaptation.md +82 -0
  652. package/docs/api/color-color-difference.md +134 -0
  653. package/docs/api/color-color-matching-functions.md +259 -0
  654. package/docs/api/color-colorimetry-math.md +54 -0
  655. package/docs/api/color-gamut-mapping.md +72 -0
  656. package/docs/api/color-illuminants.md +280 -0
  657. package/docs/api/color-rgb-color-spaces.md +151 -0
  658. package/docs/api/color-sensor-color-development.md +27 -0
  659. package/docs/api/color-srgb-icc.md +2 -4
  660. package/docs/api/color-white-balance.md +95 -19
  661. package/docs/api/composition-image-formation-plan.md +124 -95
  662. package/docs/api/composition-plan-consumer.md +7 -7
  663. package/docs/api/core-calculation-result.md +18 -14
  664. package/docs/api/core-configuration-error.md +1 -1
  665. package/docs/api/core-image-formation.md +7 -7
  666. package/docs/api/core-scientific-assurance.md +12 -10
  667. package/docs/api/core-spectral-composition.md +14 -14
  668. package/docs/api/core-spectral.md +6 -6
  669. package/docs/api/core-validation.md +3 -3
  670. package/docs/api/core-version.md +7 -6
  671. package/docs/api/equipment-exposure-capabilities.md +11 -10
  672. package/docs/api/equipment-generic-tier-assets.md +7 -2
  673. package/docs/api/equipment-generic-tier-presets.md +6 -6
  674. package/docs/api/equipment-iso-capabilities.md +18 -18
  675. package/docs/api/equipment-metering-capabilities.md +6 -6
  676. package/docs/api/equipment-release-capabilities.md +4 -4
  677. package/docs/api/exports.json +2213 -8
  678. package/docs/api/exposure-exposure-duration-control.md +9 -9
  679. package/docs/api/exposure-exposure-mode-resolver.md +35 -31
  680. package/docs/api/exposure-exposure.md +10 -10
  681. package/docs/api/exposure-flash-ttl.md +182 -0
  682. package/docs/api/exposure-flash.md +183 -28
  683. package/docs/api/exposure-metering-scene-radiance.md +11 -10
  684. package/docs/api/exposure-metering-target.md +9 -8
  685. package/docs/api/exposure-metering-temporal.md +8 -8
  686. package/docs/api/exposure-metering.md +69 -9
  687. package/docs/api/exposure-program-line.md +6 -5
  688. package/docs/api/facade-chart-radiance-batch.md +96 -0
  689. package/docs/api/facade-chart-scenes.md +240 -0
  690. package/docs/api/facade-scene-radiance.md +122 -0
  691. package/docs/api/facade-simulate-capture.md +324 -0
  692. package/docs/api/gpu-image-kernel-accelerator.md +157 -0
  693. package/docs/api/gpu-image-kernel-execution.md +152 -0
  694. package/docs/api/motion-camera-rotation.md +43 -26
  695. package/docs/api/motion-capture-rotation-inverse-mapping.md +24 -23
  696. package/docs/api/motion-capture-rotation-temporal-quadrature.md +22 -22
  697. package/docs/api/motion-capture-rotation-trajectory.md +15 -15
  698. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +15 -14
  699. package/docs/api/motion-extended-object-projection.md +10 -8
  700. package/docs/api/motion-projected-motion.md +8 -8
  701. package/docs/api/motion-temporal-exposure-sum.md +98 -0
  702. package/docs/api/motion-video-sequence.md +159 -0
  703. package/docs/api/optics-aperture.md +8 -8
  704. package/docs/api/optics-atmospheric-haze.md +104 -0
  705. package/docs/api/optics-brown-conrady-distortion.md +123 -0
  706. package/docs/api/optics-circle-of-confusion.md +5 -4
  707. package/docs/api/optics-complex-pupil-psf.md +57 -16
  708. package/docs/api/optics-depth-of-field.md +12 -6
  709. package/docs/api/optics-diffraction.md +8 -7
  710. package/docs/api/optics-focus-breathing.md +104 -16
  711. package/docs/api/optics-focus-state.md +9 -10
  712. package/docs/api/optics-front-of-lens-filter.md +72 -14
  713. package/docs/api/optics-illumination-vignetting.md +10 -10
  714. package/docs/api/optics-irradiance-convolution.md +95 -0
  715. package/docs/api/optics-lateral-chromatic-aberration.md +22 -21
  716. package/docs/api/optics-lens-psf-kernels.md +72 -0
  717. package/docs/api/optics-lens-psf-profile.md +48 -26
  718. package/docs/api/optics-longitudinal-chromatic-aberration.md +128 -0
  719. package/docs/api/optics-polygon-diffraction.md +78 -13
  720. package/docs/api/optics-profile-contract.md +4 -4
  721. package/docs/api/optics-psf-foundation.md +12 -12
  722. package/docs/api/optics-pupil-vignetting.md +132 -0
  723. package/docs/api/optics-radial-distortion.md +12 -12
  724. package/docs/api/optics-scene-to-sensor-irradiance.md +25 -14
  725. package/docs/api/optics-scene-to-sensor-quadrature.md +15 -12
  726. package/docs/api/optics-sensor-aperture-rays.md +3 -2
  727. package/docs/api/optics-sensor-environment-query.md +52 -9
  728. package/docs/api/optics-sensor-psf-quadrature.md +13 -10
  729. package/docs/api/optics-stray-light.md +12 -11
  730. package/docs/api/optics-thin-lens.md +4 -3
  731. package/docs/api/optics-zernike-wavefront.md +229 -0
  732. package/docs/api/output-capture-corrected-sdr.md +10 -7
  733. package/docs/api/output-capture-geometry.md +35 -36
  734. package/docs/api/output-capture-sdr.md +4 -4
  735. package/docs/api/output-crop.md +7 -4
  736. package/docs/api/output-geometric-transforms.md +65 -19
  737. package/docs/api/output-lens-corrections.md +17 -15
  738. package/docs/api/output-native-capture-sdr.md +26 -13
  739. package/docs/api/output-png-encoder.md +105 -0
  740. package/docs/api/output-print-contrast-reference.md +8 -8
  741. package/docs/api/output-print-detail.md +14 -14
  742. package/docs/api/output-print-jpeg.md +22 -5
  743. package/docs/api/output-print-plan.md +18 -18
  744. package/docs/api/output-print-region-statistics.md +14 -14
  745. package/docs/api/output-sdr-rendering.md +52 -10
  746. package/docs/api/output-subject-framing-crop.md +5 -6
  747. package/docs/api/processing-demosaic.md +120 -0
  748. package/docs/api/processing-denoise.md +148 -0
  749. package/docs/api/processing-focus-stacking.md +41 -0
  750. package/docs/api/processing-hdr.md +113 -0
  751. package/docs/api/processing-panorama.md +82 -0
  752. package/docs/api/processing-processing-task.md +107 -0
  753. package/docs/api/processing-tone-mapping.md +142 -0
  754. package/docs/api/schema-camera.md +6 -4
  755. package/docs/api/schema-illumination-spectral.md +10 -11
  756. package/docs/api/schema-illumination-temporal.md +13 -15
  757. package/docs/api/schema-illumination.md +4 -4
  758. package/docs/api/schema-scene-radiance-temporal.md +10 -11
  759. package/docs/api/schema-scene-radiance.md +18 -17
  760. package/docs/api/schema-scene.md +9 -9
  761. package/docs/api/schema-validation.md +1 -1
  762. package/docs/api/sensor-accumulated-charge.md +12 -20
  763. package/docs/api/sensor-architecture.md +15 -16
  764. package/docs/api/sensor-camera-saturation-capacity.md +9 -11
  765. package/docs/api/sensor-capture-color-sampling-binding.md +47 -51
  766. package/docs/api/sensor-capture-mode-timing.md +9 -9
  767. package/docs/api/sensor-capture-mode.md +29 -30
  768. package/docs/api/sensor-color-sampling.md +31 -33
  769. package/docs/api/sensor-constant-rate-temporal-integration.md +10 -11
  770. package/docs/api/sensor-dark-current.md +30 -14
  771. package/docs/api/sensor-environment-photo-signal.md +13 -6
  772. package/docs/api/sensor-eqe-electron-rate.md +9 -8
  773. package/docs/api/sensor-eqe-local-exposure.md +18 -17
  774. package/docs/api/sensor-eqe-temporal-exposure.md +12 -11
  775. package/docs/api/sensor-exposure-window.md +24 -24
  776. package/docs/api/sensor-fixed-pattern-noise.md +104 -0
  777. package/docs/api/sensor-iso-gain.md +63 -0
  778. package/docs/api/sensor-iso-signal-chain.md +13 -22
  779. package/docs/api/sensor-local-exposure-binding.md +12 -13
  780. package/docs/api/sensor-optical-stack.md +37 -40
  781. package/docs/api/sensor-photon-energy.md +10 -11
  782. package/docs/api/sensor-physical-charge-capacity.md +8 -13
  783. package/docs/api/sensor-pixel-pitch.md +1 -1
  784. package/docs/api/sensor-radiometry-readiness.md +9 -9
  785. package/docs/api/sensor-raw-readout.md +118 -52
  786. package/docs/api/sensor-raw-reconstruction.md +97 -20
  787. package/docs/api/sensor-readout-exposure-linkage.md +120 -24
  788. package/docs/api/sensor-readout-timing.md +33 -35
  789. package/docs/api/sensor-response-application-compatibility.md +9 -11
  790. package/docs/api/sensor-response-operating-range.md +14 -18
  791. package/docs/api/sensor-responsivity-photocurrent.md +9 -12
  792. package/docs/api/sensor-sampling-aperture.md +22 -25
  793. package/docs/api/sensor-scene-eqe-temporal-exposure.md +9 -8
  794. package/docs/api/sensor-sensor-geometry.md +23 -24
  795. package/docs/api/sensor-signal-noise.md +10 -10
  796. package/docs/api/sensor-spatial-sample-reduction.md +27 -30
  797. package/docs/api/sensor-spatial-sampling-quadrature.md +37 -39
  798. package/docs/api/sensor-spatio-spectral-reduction.md +27 -29
  799. package/docs/api/sensor-spectral-coverage.md +5 -5
  800. package/docs/api/sensor-spectral-quadrature.md +33 -35
  801. package/docs/api/sensor-spectral-response.md +28 -16
  802. package/docs/api/sensor-temporal-photo-signal.md +6 -6
  803. package/docs/api/simulation-poc-simulation.md +17 -16
  804. package/docs/api/stabilization-camera-shake.md +29 -10
  805. package/docs/api/stabilization-system.md +25 -21
  806. package/docs/examples/production-request.json +3821 -2157
  807. package/docs/examples/simulate-capture.mjs +14 -0
  808. package/llms.txt +35 -0
  809. package/package.json +32 -12
  810. package/AGENTS.md +0 -674
  811. package/CONTRIBUTING.md +0 -76
  812. package/DCO +0 -33
  813. package/dist/camera/equivalent-focal-length.d.ts.map +0 -1
  814. package/dist/camera/field-of-view.d.ts.map +0 -1
  815. package/dist/camera/projected-object-size.d.ts.map +0 -1
  816. package/dist/capture/capture-export-metadata.d.ts.map +0 -1
  817. package/dist/capture/environment-raw-producer.d.ts.map +0 -1
  818. package/dist/capture/export-jpeg.d.ts.map +0 -1
  819. package/dist/capture/export-tiff.d.ts.map +0 -1
  820. package/dist/capture/focus-control.d.ts.map +0 -1
  821. package/dist/capture/linear-encoding.d.ts.map +0 -1
  822. package/dist/capture/native-environment-raw.d.ts.map +0 -1
  823. package/dist/capture/native-raw-development.d.ts.map +0 -1
  824. package/dist/capture/native-raw.d.ts.map +0 -1
  825. package/dist/capture/photographic-export.d.ts.map +0 -1
  826. package/dist/capture/raw-frame-limits.d.ts.map +0 -1
  827. package/dist/capture/raw-frame-reconstruction.d.ts.map +0 -1
  828. package/dist/capture/release-sequence.d.ts.map +0 -1
  829. package/dist/capture/sensor-raw-frame.d.ts.map +0 -1
  830. package/dist/capture/sensor-raw-producer.d.ts.map +0 -1
  831. package/dist/capture/simulated-capture.d.ts.map +0 -1
  832. package/dist/color/capture-color.d.ts.map +0 -1
  833. package/dist/color/sensor-color-development.d.ts.map +0 -1
  834. package/dist/color/srgb-icc.d.ts.map +0 -1
  835. package/dist/color/srgb-transfer.d.ts.map +0 -1
  836. package/dist/color/white-balance.d.ts.map +0 -1
  837. package/dist/composition/image-formation-plan.d.ts.map +0 -1
  838. package/dist/composition/plan-consumer.d.ts.map +0 -1
  839. package/dist/core/calculation-result.d.ts.map +0 -1
  840. package/dist/core/canonical-json.d.ts.map +0 -1
  841. package/dist/core/configuration-error.d.ts.map +0 -1
  842. package/dist/core/evidence-provenance.d.ts.map +0 -1
  843. package/dist/core/image-formation.d.ts.map +0 -1
  844. package/dist/core/owned-data.d.ts.map +0 -1
  845. package/dist/core/record-validation.d.ts.map +0 -1
  846. package/dist/core/scientific-assurance.d.ts.map +0 -1
  847. package/dist/core/spectral-composition.d.ts.map +0 -1
  848. package/dist/core/spectral.d.ts.map +0 -1
  849. package/dist/core/validation.d.ts.map +0 -1
  850. package/dist/core/version.d.ts.map +0 -1
  851. package/dist/equipment/exposure-capabilities.d.ts.map +0 -1
  852. package/dist/equipment/generic-tier-assets.d.ts.map +0 -1
  853. package/dist/equipment/generic-tier-presets.d.ts.map +0 -1
  854. package/dist/equipment/iso-capabilities.d.ts.map +0 -1
  855. package/dist/equipment/metering-capabilities.d.ts.map +0 -1
  856. package/dist/equipment/release-capabilities.d.ts.map +0 -1
  857. package/dist/exposure/exposure-duration-control.d.ts.map +0 -1
  858. package/dist/exposure/exposure-mode-resolver.d.ts.map +0 -1
  859. package/dist/exposure/exposure.d.ts.map +0 -1
  860. package/dist/exposure/flash.d.ts.map +0 -1
  861. package/dist/exposure/metering-scene-radiance.d.ts.map +0 -1
  862. package/dist/exposure/metering-target.d.ts.map +0 -1
  863. package/dist/exposure/metering-temporal.d.ts.map +0 -1
  864. package/dist/exposure/metering.d.ts.map +0 -1
  865. package/dist/exposure/program-line.d.ts.map +0 -1
  866. package/dist/index.d.ts.map +0 -1
  867. package/dist/motion/camera-rotation.d.ts.map +0 -1
  868. package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +0 -1
  869. package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +0 -1
  870. package/dist/motion/capture-rotation-trajectory.d.ts.map +0 -1
  871. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +0 -1
  872. package/dist/motion/extended-object-projection.d.ts.map +0 -1
  873. package/dist/motion/projected-motion.d.ts.map +0 -1
  874. package/dist/optics/aperture.d.ts.map +0 -1
  875. package/dist/optics/circle-of-confusion.d.ts.map +0 -1
  876. package/dist/optics/complex-pupil-psf.d.ts.map +0 -1
  877. package/dist/optics/depth-of-field.d.ts.map +0 -1
  878. package/dist/optics/diffraction.d.ts.map +0 -1
  879. package/dist/optics/focus-breathing.d.ts.map +0 -1
  880. package/dist/optics/focus-state.d.ts.map +0 -1
  881. package/dist/optics/front-of-lens-filter.d.ts.map +0 -1
  882. package/dist/optics/illumination-vignetting.d.ts.map +0 -1
  883. package/dist/optics/lateral-chromatic-aberration.d.ts.map +0 -1
  884. package/dist/optics/lens-psf-profile.d.ts.map +0 -1
  885. package/dist/optics/polygon-diffraction.d.ts.map +0 -1
  886. package/dist/optics/profile-contract.d.ts.map +0 -1
  887. package/dist/optics/psf-foundation.d.ts.map +0 -1
  888. package/dist/optics/radial-distortion.d.ts.map +0 -1
  889. package/dist/optics/scene-to-sensor-irradiance.d.ts.map +0 -1
  890. package/dist/optics/scene-to-sensor-quadrature.d.ts.map +0 -1
  891. package/dist/optics/sensor-aperture-rays.d.ts.map +0 -1
  892. package/dist/optics/sensor-environment-query.d.ts.map +0 -1
  893. package/dist/optics/sensor-psf-quadrature.d.ts.map +0 -1
  894. package/dist/optics/sensor-psf-support.d.ts.map +0 -1
  895. package/dist/optics/stray-light.d.ts.map +0 -1
  896. package/dist/optics/thin-lens.d.ts.map +0 -1
  897. package/dist/output/capture-corrected-sdr.d.ts.map +0 -1
  898. package/dist/output/capture-geometry.d.ts.map +0 -1
  899. package/dist/output/capture-sdr.d.ts.map +0 -1
  900. package/dist/output/crop.d.ts.map +0 -1
  901. package/dist/output/geometric-transforms.d.ts.map +0 -1
  902. package/dist/output/lens-corrections.d.ts.map +0 -1
  903. package/dist/output/native-capture-sdr.d.ts.map +0 -1
  904. package/dist/output/print-contrast-reference.d.ts.map +0 -1
  905. package/dist/output/print-detail.d.ts.map +0 -1
  906. package/dist/output/print-jpeg.d.ts.map +0 -1
  907. package/dist/output/print-plan.d.ts.map +0 -1
  908. package/dist/output/print-region-statistics.d.ts.map +0 -1
  909. package/dist/output/sdr-rendering.d.ts.map +0 -1
  910. package/dist/output/subject-framing-crop.d.ts.map +0 -1
  911. package/dist/schema/camera.d.ts.map +0 -1
  912. package/dist/schema/camera.js +0 -3
  913. package/dist/schema/camera.js.map +0 -1
  914. package/dist/schema/illumination-spectral.d.ts.map +0 -1
  915. package/dist/schema/illumination-temporal.d.ts.map +0 -1
  916. package/dist/schema/illumination.d.ts.map +0 -1
  917. package/dist/schema/scene-radiance-temporal.d.ts.map +0 -1
  918. package/dist/schema/scene-radiance.d.ts.map +0 -1
  919. package/dist/schema/scene.d.ts.map +0 -1
  920. package/dist/schema/scene.js +0 -3
  921. package/dist/schema/scene.js.map +0 -1
  922. package/dist/schema/validation.d.ts.map +0 -1
  923. package/dist/sensor/accumulated-charge.d.ts.map +0 -1
  924. package/dist/sensor/architecture.d.ts.map +0 -1
  925. package/dist/sensor/camera-saturation-capacity.d.ts.map +0 -1
  926. package/dist/sensor/capture-color-sampling-binding.d.ts.map +0 -1
  927. package/dist/sensor/capture-mode-timing.d.ts.map +0 -1
  928. package/dist/sensor/capture-mode.d.ts.map +0 -1
  929. package/dist/sensor/color-sampling.d.ts.map +0 -1
  930. package/dist/sensor/constant-rate-temporal-integration.d.ts.map +0 -1
  931. package/dist/sensor/dark-current.d.ts.map +0 -1
  932. package/dist/sensor/environment-photo-signal.d.ts.map +0 -1
  933. package/dist/sensor/eqe-electron-rate.d.ts.map +0 -1
  934. package/dist/sensor/eqe-local-exposure.d.ts.map +0 -1
  935. package/dist/sensor/eqe-temporal-exposure.d.ts.map +0 -1
  936. package/dist/sensor/exposure-window.d.ts.map +0 -1
  937. package/dist/sensor/iso-signal-chain.d.ts.map +0 -1
  938. package/dist/sensor/local-exposure-binding.d.ts.map +0 -1
  939. package/dist/sensor/optical-stack.d.ts.map +0 -1
  940. package/dist/sensor/photon-energy.d.ts.map +0 -1
  941. package/dist/sensor/physical-charge-capacity.d.ts.map +0 -1
  942. package/dist/sensor/pixel-pitch.d.ts.map +0 -1
  943. package/dist/sensor/radiometry-readiness.d.ts.map +0 -1
  944. package/dist/sensor/raw-readout.d.ts.map +0 -1
  945. package/dist/sensor/raw-reconstruction.d.ts.map +0 -1
  946. package/dist/sensor/readout-exposure-linkage.d.ts.map +0 -1
  947. package/dist/sensor/readout-timing.d.ts.map +0 -1
  948. package/dist/sensor/response-application-compatibility.d.ts.map +0 -1
  949. package/dist/sensor/response-operating-range.d.ts.map +0 -1
  950. package/dist/sensor/responsivity-photocurrent.d.ts.map +0 -1
  951. package/dist/sensor/sampling-aperture.d.ts.map +0 -1
  952. package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +0 -1
  953. package/dist/sensor/sensor-geometry.d.ts.map +0 -1
  954. package/dist/sensor/signal-noise.d.ts.map +0 -1
  955. package/dist/sensor/spatial-sample-reduction.d.ts.map +0 -1
  956. package/dist/sensor/spatial-sampling-quadrature.d.ts.map +0 -1
  957. package/dist/sensor/spatio-spectral-reduction.d.ts.map +0 -1
  958. package/dist/sensor/spectral-coverage.d.ts.map +0 -1
  959. package/dist/sensor/spectral-quadrature.d.ts.map +0 -1
  960. package/dist/sensor/spectral-response.d.ts.map +0 -1
  961. package/dist/sensor/temporal-eqe-sum.d.ts.map +0 -1
  962. package/dist/sensor/temporal-photo-signal.d.ts.map +0 -1
  963. package/dist/sensor/temporal-sample-binding.d.ts.map +0 -1
  964. package/dist/simulation/poc-simulation.d.ts.map +0 -1
  965. package/dist/stabilization/camera-shake.d.ts.map +0 -1
  966. package/dist/stabilization/system.d.ts.map +0 -1
  967. package/docs/API_STYLE.md +0 -235
  968. package/docs/ARCHITECTURE.md +0 -356
  969. package/docs/AUTOMATION_COORDINATION.md +0 -190
  970. package/docs/CAPTURE_COLOR.md +0 -25
  971. package/docs/CAPTURE_CORRECTED_SDR.md +0 -25
  972. package/docs/CAPTURE_EXPORT_METADATA.md +0 -27
  973. package/docs/CAPTURE_SDR.md +0 -22
  974. package/docs/DENSE_PUPIL_QUALIFICATION.md +0 -121
  975. package/docs/DEVELOPERS.md +0 -68
  976. package/docs/DIGITAL_OPTICS_FOUNDATION.md +0 -69
  977. package/docs/ENVIRONMENT_RAW_CAPTURE.md +0 -208
  978. package/docs/EXPORT_ACCEPTANCE.md +0 -133
  979. package/docs/GENERIC_TIER_PRESETS.md +0 -269
  980. package/docs/GEOMETRIC_PREPARATION_REUSE.md +0 -141
  981. package/docs/IMAGE_FORMATION.md +0 -247
  982. package/docs/LINEAR_CAPTURE_ENCODING.md +0 -25
  983. package/docs/MOTION_AND_SIGNAL.md +0 -250
  984. package/docs/NATIVE_CAPTURE_SDR.md +0 -70
  985. package/docs/NATIVE_CAPTURE_SDR_REVIEW.md +0 -37
  986. package/docs/NATIVE_CAPTURE_SDR_VALIDATION.md +0 -34
  987. package/docs/NATIVE_RAW_AND_PRINT.md +0 -54
  988. package/docs/NUMERICAL_CORRECTNESS.md +0 -191
  989. package/docs/PERFORMANCE_BASELINE.md +0 -56
  990. package/docs/PHOTOGRAPHIC_EXPORT.md +0 -206
  991. package/docs/PHYSICS_FOUNDATION.md +0 -426
  992. package/docs/POC_API.md +0 -278
  993. package/docs/POC_PROJECTION_PLATFORM_REFERENCE.md +0 -12
  994. package/docs/POC_PROJECTION_REUSE.md +0 -124
  995. package/docs/PRINT_195_196_REVIEW.md +0 -93
  996. package/docs/PRINT_196_ENGINE_ACCEPTANCE.md +0 -45
  997. package/docs/PRINT_CONTRAST_REFERENCE.md +0 -43
  998. package/docs/PRINT_DETAIL_ASSESSMENT.md +0 -81
  999. package/docs/PRINT_DETAIL_JPEG_EVIDENCE.md +0 -36
  1000. package/docs/PRINT_DETAIL_SDR_EVIDENCE.md +0 -29
  1001. package/docs/PRINT_DETAIL_VALIDATION.md +0 -36
  1002. package/docs/PRINT_PLANNING.md +0 -75
  1003. package/docs/PRINT_REGION_STATISTICS.md +0 -38
  1004. package/docs/PROCESSED_OUTPUT.md +0 -157
  1005. package/docs/PRODUCTION_COMPOSITION.md +0 -373
  1006. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +0 -131
  1007. package/docs/PROVENANCE.md +0 -115
  1008. package/docs/PSF_FOUNDATION.md +0 -165
  1009. package/docs/RAW_FRAME_ENVELOPE.md +0 -56
  1010. package/docs/RAW_FRAME_RECONSTRUCTION.md +0 -30
  1011. package/docs/RELEASE_1_0.md +0 -66
  1012. package/docs/RELEASE_1_0_1.md +0 -61
  1013. package/docs/RELEASE_1_1_0.md +0 -25
  1014. package/docs/RELEASE_1_2_0.md +0 -51
  1015. package/docs/RELEASE_1_3_0.md +0 -15
  1016. package/docs/RELEASE_1_4_0.md +0 -23
  1017. package/docs/RELEASE_1_5_0.md +0 -105
  1018. package/docs/RELEASE_AUDIT.md +0 -39
  1019. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +0 -298
  1020. package/docs/SCENE_SENSOR_QUADRATURE.md +0 -98
  1021. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +0 -86
  1022. package/docs/SCIENTIFIC_ASSURANCE.md +0 -280
  1023. package/docs/SCIENTIFIC_CONFORMANCE.md +0 -83
  1024. package/docs/SDR_RENDERING.md +0 -33
  1025. package/docs/SENSOR_APERTURE_RAYS.md +0 -23
  1026. package/docs/SENSOR_ENVIRONMENT_QUERY.md +0 -86
  1027. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +0 -104
  1028. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +0 -74
  1029. package/docs/SENSOR_PSF_QUADRATURE.md +0 -90
  1030. package/docs/SENSOR_RAW_FRAME.md +0 -20
  1031. package/docs/SENSOR_RAW_PRODUCER.md +0 -77
  1032. package/docs/SEPARABLE_EMISSION_DRAFT.md +0 -103
  1033. package/docs/SIGNAL_CONFORMANCE.md +0 -23
  1034. package/docs/SIMULATED_CAPTURE.md +0 -65
  1035. package/docs/STABILIZATION.md +0 -234
  1036. package/docs/TEMPORAL_PHOTO_RAW.md +0 -83
  1037. package/docs/TIER_ACCEPTANCE.md +0 -129
  1038. package/docs/TIER_PRESET_ACCEPTANCE.md +0 -59
  1039. package/docs/V1_COMPOSITION_MAP.md +0 -123
  1040. package/docs/V1_HELPER_REUSE_REVIEW.md +0 -60
  1041. package/docs/V1_PERFORMANCE_DISPOSITION.md +0 -88
  1042. package/docs/benchmarks/2026-10-01-main-baseline.json +0 -694
  1043. package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +0 -2190
  1044. package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +0 -2423
  1045. package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +0 -210
  1046. package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +0 -187
  1047. package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +0 -756
  1048. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +0 -711
  1049. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +0 -711
  1050. package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +0 -885
  1051. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +0 -868
  1052. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +0 -868
  1053. package/docs/licenses/castleCSF-MIT.txt +0 -21
  1054. package/docs/validation/dense-pupil-2026-10-06/pilot.jsonl +0 -6
  1055. package/docs/validation/documentation-fragments.json +0 -212
  1056. package/docs/validation/native-capture-sdr-darwin-arm64-node26-review.jsonl +0 -4
  1057. package/docs/validation/native-capture-sdr-darwin-arm64.jsonl +0 -3
  1058. package/docs/validation/native-raw-print-2026-10-04/fractional-asymmetric-crop.jpg +0 -0
  1059. package/docs/validation/native-raw-print-2026-10-04/gray-ramp.jpg +0 -0
  1060. package/docs/validation/native-raw-print-2026-10-04/linear-area-checker.jpg +0 -0
  1061. package/docs/validation/native-raw-print-2026-10-04/manifest.json +0 -218
  1062. package/docs/validation/native-raw-print-2026-10-04/megapixel-native.jpg +0 -0
  1063. package/docs/validation/native-raw-print-2026-10-04/native-color.jpg +0 -0
  1064. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel-validation.json +0 -9
  1065. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json +0 -29
  1066. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.codes.u16le.gz +0 -0
  1067. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.jpg +0 -0
  1068. package/docs/validation/native-raw-print-2026-10-04/photivra-native-full-megapixel.json.rgb.gz +0 -0
  1069. package/docs/validation/native-raw-print-2026-10-04/srgb.icc +0 -0
  1070. package/docs/validation/native-raw-print-2026-10-04/validation.json +0 -41
  1071. package/docs/validation/print-196-candidate-capabilities.json +0 -28
  1072. package/docs/validation/print-196-candidate-evidence.json +0 -356
  1073. package/docs/validation/print-196-engine-acceptance.json +0 -81
  1074. package/docs/validation/print-detail-capabilities.json +0 -103
  1075. package/docs/validation/print-detail-jpeg-evidence.json +0 -116
  1076. package/docs/validation/print-detail-sdr-evidence.json +0 -81
  1077. package/docs/validation/release-audit-inventory.json +0 -1306
  1078. package/docs/validation/tier-acceptance-report-v1.json +0 -2538
@@ -1,2190 +0,0 @@
1
- {
2
- "schemaVersion": "0.1.0",
3
- "evidenceId": "geometric-preparation-reuse-2026-10-02",
4
- "provenance": {
5
- "sourceOrigin": "photivra",
6
- "sourceReference": "photivra:geometric-consumer-performance",
7
- "reuseStatus": "photivra-owned"
8
- },
9
- "measurementIsolation": "Final timing runs executed sequentially after release checks completed, with no concurrent task benchmarks/tests. Shared host activity is uncontrolled.",
10
- "ordinaryRuns": [
11
- {
12
- "benchmark": "merged-geometric-consumers",
13
- "benchmarkVersion": 1,
14
- "referenceCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
15
- "candidateBaseCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
16
- "candidateSource": {
17
- "path": "src/output/geometric-transforms.ts",
18
- "sha256": "5d96773ccce87ac1eac7eda286f12b6aac48f1f91dc1aad6b6c2c6a7a022be46"
19
- },
20
- "engineApiVersion": "0.103.0",
21
- "buildMethod": "tsc",
22
- "nodeVersion": "v24.19.0",
23
- "v8Version": "13.6.233.17-node.51",
24
- "platform": "linux",
25
- "arch": "x64",
26
- "cpuModel": "AMD EPYC 9V74 80-Core Processor",
27
- "logicalCpuCount": 9,
28
- "forcedGc": false,
29
- "results": [
30
- {
31
- "scenario": "sampling-plan-1x1",
32
- "dimensions": {
33
- "width": 1,
34
- "height": 1
35
- },
36
- "callsPerRepeat": 100,
37
- "repeats": 5,
38
- "warmupCallsPerPath": 100,
39
- "paths": [
40
- {
41
- "name": "reference",
42
- "medianMillisecondsPerCall": 0.03522078,
43
- "measurements": [
44
- {
45
- "durationMs": 4.229461,
46
- "retainedHeapDeltaBytes": 8596064
47
- },
48
- {
49
- "durationMs": 4.015586,
50
- "retainedHeapDeltaBytes": 8505416
51
- },
52
- {
53
- "durationMs": 3.522078,
54
- "retainedHeapDeltaBytes": 8497744
55
- },
56
- {
57
- "durationMs": 3.36049,
58
- "retainedHeapDeltaBytes": 8497568
59
- },
60
- {
61
- "durationMs": 3.148479,
62
- "retainedHeapDeltaBytes": 8492272
63
- }
64
- ]
65
- },
66
- {
67
- "name": "candidate",
68
- "medianMillisecondsPerCall": 0.02521064,
69
- "measurements": [
70
- {
71
- "durationMs": 2.521064,
72
- "retainedHeapDeltaBytes": 6961624
73
- },
74
- {
75
- "durationMs": 2.83671,
76
- "retainedHeapDeltaBytes": 6908648
77
- },
78
- {
79
- "durationMs": 2.602044,
80
- "retainedHeapDeltaBytes": 6985936
81
- },
82
- {
83
- "durationMs": 2.488847,
84
- "retainedHeapDeltaBytes": 6918904
85
- },
86
- {
87
- "durationMs": 2.402289,
88
- "retainedHeapDeltaBytes": 6912904
89
- }
90
- ]
91
- }
92
- ],
93
- "candidateToReferenceMedianRatio": 0.7157888042229615
94
- },
95
- {
96
- "scenario": "corrected-capture-1x1",
97
- "dimensions": {
98
- "width": 1,
99
- "height": 1
100
- },
101
- "callsPerRepeat": 100,
102
- "repeats": 5,
103
- "warmupCallsPerPath": 100,
104
- "paths": [
105
- {
106
- "name": "reference",
107
- "medianMillisecondsPerCall": 0.30255401,
108
- "measurements": [
109
- {
110
- "durationMs": 32.995097,
111
- "retainedHeapDeltaBytes": 7755024
112
- },
113
- {
114
- "durationMs": 30.255401,
115
- "retainedHeapDeltaBytes": 6670592
116
- },
117
- {
118
- "durationMs": 30.353748,
119
- "retainedHeapDeltaBytes": 6707824
120
- },
121
- {
122
- "durationMs": 29.978505,
123
- "retainedHeapDeltaBytes": 6472656
124
- },
125
- {
126
- "durationMs": 28.656367,
127
- "retainedHeapDeltaBytes": 6478624
128
- }
129
- ]
130
- },
131
- {
132
- "name": "candidate",
133
- "medianMillisecondsPerCall": 0.26131678,
134
- "measurements": [
135
- {
136
- "durationMs": 27.946089,
137
- "retainedHeapDeltaBytes": -2514960
138
- },
139
- {
140
- "durationMs": 25.783793,
141
- "retainedHeapDeltaBytes": -2639400
142
- },
143
- {
144
- "durationMs": 25.786819,
145
- "retainedHeapDeltaBytes": -2433952
146
- },
147
- {
148
- "durationMs": 26.131678,
149
- "retainedHeapDeltaBytes": -2702344
150
- },
151
- {
152
- "durationMs": 28.348563,
153
- "retainedHeapDeltaBytes": -2776272
154
- }
155
- ]
156
- }
157
- ],
158
- "candidateToReferenceMedianRatio": 0.8637029137376167
159
- },
160
- {
161
- "scenario": "sampling-plan-5x5",
162
- "dimensions": {
163
- "width": 5,
164
- "height": 5
165
- },
166
- "callsPerRepeat": 100,
167
- "repeats": 5,
168
- "warmupCallsPerPath": 100,
169
- "paths": [
170
- {
171
- "name": "reference",
172
- "medianMillisecondsPerCall": 0.47622936000000005,
173
- "measurements": [
174
- {
175
- "durationMs": 47.622936,
176
- "retainedHeapDeltaBytes": -10350672
177
- },
178
- {
179
- "durationMs": 45.457356,
180
- "retainedHeapDeltaBytes": -11514544
181
- },
182
- {
183
- "durationMs": 49.707426,
184
- "retainedHeapDeltaBytes": -11677568
185
- },
186
- {
187
- "durationMs": 49.493834,
188
- "retainedHeapDeltaBytes": -11715592
189
- },
190
- {
191
- "durationMs": 47.065046,
192
- "retainedHeapDeltaBytes": -11656360
193
- }
194
- ]
195
- },
196
- {
197
- "name": "candidate",
198
- "medianMillisecondsPerCall": 0.2665677,
199
- "measurements": [
200
- {
201
- "durationMs": 26.474831,
202
- "retainedHeapDeltaBytes": 14699232
203
- },
204
- {
205
- "durationMs": 26.65677,
206
- "retainedHeapDeltaBytes": 14729152
207
- },
208
- {
209
- "durationMs": 28.574435,
210
- "retainedHeapDeltaBytes": 14504336
211
- },
212
- {
213
- "durationMs": 27.69507,
214
- "retainedHeapDeltaBytes": 14498960
215
- },
216
- {
217
- "durationMs": 25.072887,
218
- "retainedHeapDeltaBytes": 14488816
219
- }
220
- ]
221
- }
222
- ],
223
- "candidateToReferenceMedianRatio": 0.5597464633427893
224
- },
225
- {
226
- "scenario": "corrected-capture-5x5",
227
- "dimensions": {
228
- "width": 5,
229
- "height": 5
230
- },
231
- "callsPerRepeat": 100,
232
- "repeats": 5,
233
- "warmupCallsPerPath": 100,
234
- "paths": [
235
- {
236
- "name": "reference",
237
- "medianMillisecondsPerCall": 3.36421072,
238
- "measurements": [
239
- {
240
- "durationMs": 344.853193,
241
- "retainedHeapDeltaBytes": -5167632
242
- },
243
- {
244
- "durationMs": 355.44062,
245
- "retainedHeapDeltaBytes": -7586104
246
- },
247
- {
248
- "durationMs": 336.421072,
249
- "retainedHeapDeltaBytes": -8408432
250
- },
251
- {
252
- "durationMs": 336.037761,
253
- "retainedHeapDeltaBytes": -6451528
254
- },
255
- {
256
- "durationMs": 334.849631,
257
- "retainedHeapDeltaBytes": -8485392
258
- }
259
- ]
260
- },
261
- {
262
- "name": "candidate",
263
- "medianMillisecondsPerCall": 2.12435742,
264
- "measurements": [
265
- {
266
- "durationMs": 210.716989,
267
- "retainedHeapDeltaBytes": -51830440
268
- },
269
- {
270
- "durationMs": 212.538994,
271
- "retainedHeapDeltaBytes": 15089656
272
- },
273
- {
274
- "durationMs": 220.201611,
275
- "retainedHeapDeltaBytes": 23011328
276
- },
277
- {
278
- "durationMs": 208.990135,
279
- "retainedHeapDeltaBytes": 14488672
280
- },
281
- {
282
- "durationMs": 212.435742,
283
- "retainedHeapDeltaBytes": 15033008
284
- }
285
- ]
286
- }
287
- ],
288
- "candidateToReferenceMedianRatio": 0.6314578951225743
289
- },
290
- {
291
- "scenario": "sampling-plan-17x17",
292
- "dimensions": {
293
- "width": 17,
294
- "height": 17
295
- },
296
- "callsPerRepeat": 1,
297
- "repeats": 5,
298
- "warmupCallsPerPath": 2,
299
- "paths": [
300
- {
301
- "name": "reference",
302
- "medianMillisecondsPerCall": 5.565799,
303
- "measurements": [
304
- {
305
- "durationMs": 5.565799,
306
- "retainedHeapDeltaBytes": 13652832
307
- },
308
- {
309
- "durationMs": 5.149225,
310
- "retainedHeapDeltaBytes": 13687216
311
- },
312
- {
313
- "durationMs": 5.079563,
314
- "retainedHeapDeltaBytes": 13663664
315
- },
316
- {
317
- "durationMs": 6.302776,
318
- "retainedHeapDeltaBytes": 13651272
319
- },
320
- {
321
- "durationMs": 5.89213,
322
- "retainedHeapDeltaBytes": 13645648
323
- }
324
- ]
325
- },
326
- {
327
- "name": "candidate",
328
- "medianMillisecondsPerCall": 2.9866,
329
- "measurements": [
330
- {
331
- "durationMs": 2.791532,
332
- "retainedHeapDeltaBytes": 8921976
333
- },
334
- {
335
- "durationMs": 2.9866,
336
- "retainedHeapDeltaBytes": 8912600
337
- },
338
- {
339
- "durationMs": 2.892131,
340
- "retainedHeapDeltaBytes": 8903808
341
- },
342
- {
343
- "durationMs": 3.482851,
344
- "retainedHeapDeltaBytes": 8912600
345
- },
346
- {
347
- "durationMs": 3.080498,
348
- "retainedHeapDeltaBytes": 8903152
349
- }
350
- ]
351
- }
352
- ],
353
- "candidateToReferenceMedianRatio": 0.5365986087532086
354
- },
355
- {
356
- "scenario": "corrected-capture-17x17",
357
- "dimensions": {
358
- "width": 17,
359
- "height": 17
360
- },
361
- "callsPerRepeat": 1,
362
- "repeats": 5,
363
- "warmupCallsPerPath": 2,
364
- "paths": [
365
- {
366
- "name": "reference",
367
- "medianMillisecondsPerCall": 39.25468,
368
- "measurements": [
369
- {
370
- "durationMs": 38.944912,
371
- "retainedHeapDeltaBytes": 28427416
372
- },
373
- {
374
- "durationMs": 41.812636,
375
- "retainedHeapDeltaBytes": -39796800
376
- },
377
- {
378
- "durationMs": 38.110624,
379
- "retainedHeapDeltaBytes": -38809920
380
- },
381
- {
382
- "durationMs": 39.25468,
383
- "retainedHeapDeltaBytes": -39421056
384
- },
385
- {
386
- "durationMs": 40.094308,
387
- "retainedHeapDeltaBytes": -38346064
388
- }
389
- ]
390
- },
391
- {
392
- "name": "candidate",
393
- "medianMillisecondsPerCall": 24.332966,
394
- "measurements": [
395
- {
396
- "durationMs": 23.866569,
397
- "retainedHeapDeltaBytes": -1716920
398
- },
399
- {
400
- "durationMs": 24.02333,
401
- "retainedHeapDeltaBytes": -780280
402
- },
403
- {
404
- "durationMs": 24.332966,
405
- "retainedHeapDeltaBytes": -220656
406
- },
407
- {
408
- "durationMs": 25.804725,
409
- "retainedHeapDeltaBytes": -499384
410
- },
411
- {
412
- "durationMs": 29.654531,
413
- "retainedHeapDeltaBytes": -270040
414
- }
415
- ]
416
- }
417
- ],
418
- "candidateToReferenceMedianRatio": 0.6198742672211313
419
- },
420
- {
421
- "scenario": "sampling-plan-33x33",
422
- "dimensions": {
423
- "width": 33,
424
- "height": 33
425
- },
426
- "callsPerRepeat": 1,
427
- "repeats": 5,
428
- "warmupCallsPerPath": 2,
429
- "paths": [
430
- {
431
- "name": "reference",
432
- "medianMillisecondsPerCall": 22.460849,
433
- "measurements": [
434
- {
435
- "durationMs": 21.405604,
436
- "retainedHeapDeltaBytes": -16841096
437
- },
438
- {
439
- "durationMs": 22.460849,
440
- "retainedHeapDeltaBytes": -15977328
441
- },
442
- {
443
- "durationMs": 25.297106,
444
- "retainedHeapDeltaBytes": -15947256
445
- },
446
- {
447
- "durationMs": 21.383232,
448
- "retainedHeapDeltaBytes": -16445944
449
- },
450
- {
451
- "durationMs": 23.322799,
452
- "retainedHeapDeltaBytes": 51373880
453
- }
454
- ]
455
- },
456
- {
457
- "name": "candidate",
458
- "medianMillisecondsPerCall": 11.941512,
459
- "measurements": [
460
- {
461
- "durationMs": 15.2666,
462
- "retainedHeapDeltaBytes": -33281144
463
- },
464
- {
465
- "durationMs": 11.712604,
466
- "retainedHeapDeltaBytes": 33535336
467
- },
468
- {
469
- "durationMs": 11.941512,
470
- "retainedHeapDeltaBytes": 33522600
471
- },
472
- {
473
- "durationMs": 11.641761,
474
- "retainedHeapDeltaBytes": 33513696
475
- },
476
- {
477
- "durationMs": 12.672714,
478
- "retainedHeapDeltaBytes": -35095072
479
- }
480
- ]
481
- }
482
- ],
483
- "candidateToReferenceMedianRatio": 0.531658976915788
484
- },
485
- {
486
- "scenario": "corrected-capture-33x33",
487
- "dimensions": {
488
- "width": 33,
489
- "height": 33
490
- },
491
- "callsPerRepeat": 1,
492
- "repeats": 5,
493
- "warmupCallsPerPath": 2,
494
- "paths": [
495
- {
496
- "name": "reference",
497
- "medianMillisecondsPerCall": 155.050791,
498
- "measurements": [
499
- {
500
- "durationMs": 157.411372,
501
- "retainedHeapDeltaBytes": 26838232
502
- },
503
- {
504
- "durationMs": 156.825844,
505
- "retainedHeapDeltaBytes": 25360632
506
- },
507
- {
508
- "durationMs": 152.221866,
509
- "retainedHeapDeltaBytes": 26351152
510
- },
511
- {
512
- "durationMs": 155.050791,
513
- "retainedHeapDeltaBytes": 26553032
514
- },
515
- {
516
- "durationMs": 153.139175,
517
- "retainedHeapDeltaBytes": 25079848
518
- }
519
- ]
520
- },
521
- {
522
- "name": "candidate",
523
- "medianMillisecondsPerCall": 100.623755,
524
- "measurements": [
525
- {
526
- "durationMs": 101.349949,
527
- "retainedHeapDeltaBytes": -16772760
528
- },
529
- {
530
- "durationMs": 100.623755,
531
- "retainedHeapDeltaBytes": -18192896
532
- },
533
- {
534
- "durationMs": 95.150942,
535
- "retainedHeapDeltaBytes": -20707264
536
- },
537
- {
538
- "durationMs": 111.040245,
539
- "retainedHeapDeltaBytes": -16179344
540
- },
541
- {
542
- "durationMs": 100.141569,
543
- "retainedHeapDeltaBytes": -21370760
544
- }
545
- ]
546
- }
547
- ],
548
- "candidateToReferenceMedianRatio": 0.6489728581907074
549
- },
550
- {
551
- "scenario": "sampling-plan-65x65",
552
- "dimensions": {
553
- "width": 65,
554
- "height": 65
555
- },
556
- "callsPerRepeat": 1,
557
- "repeats": 5,
558
- "warmupCallsPerPath": 2,
559
- "paths": [
560
- {
561
- "name": "reference",
562
- "medianMillisecondsPerCall": 90.566272,
563
- "measurements": [
564
- {
565
- "durationMs": 83.357859,
566
- "retainedHeapDeltaBytes": 71403848
567
- },
568
- {
569
- "durationMs": 93.465649,
570
- "retainedHeapDeltaBytes": 7679896
571
- },
572
- {
573
- "durationMs": 85.17091,
574
- "retainedHeapDeltaBytes": 2563792
575
- },
576
- {
577
- "durationMs": 90.566272,
578
- "retainedHeapDeltaBytes": 7847376
579
- },
580
- {
581
- "durationMs": 110.316168,
582
- "retainedHeapDeltaBytes": -187256376
583
- }
584
- ]
585
- },
586
- {
587
- "name": "candidate",
588
- "medianMillisecondsPerCall": 59.639051,
589
- "measurements": [
590
- {
591
- "durationMs": 55.277543,
592
- "retainedHeapDeltaBytes": -597160
593
- },
594
- {
595
- "durationMs": 60.059177,
596
- "retainedHeapDeltaBytes": 2401616
597
- },
598
- {
599
- "durationMs": 70.481655,
600
- "retainedHeapDeltaBytes": 4066328
601
- },
602
- {
603
- "durationMs": 56.871573,
604
- "retainedHeapDeltaBytes": 2096120
605
- },
606
- {
607
- "durationMs": 59.639051,
608
- "retainedHeapDeltaBytes": 2930752
609
- }
610
- ]
611
- }
612
- ],
613
- "candidateToReferenceMedianRatio": 0.6585128181051773
614
- },
615
- {
616
- "scenario": "corrected-capture-65x65",
617
- "dimensions": {
618
- "width": 65,
619
- "height": 65
620
- },
621
- "callsPerRepeat": 1,
622
- "repeats": 5,
623
- "warmupCallsPerPath": 2,
624
- "paths": [
625
- {
626
- "name": "reference",
627
- "medianMillisecondsPerCall": 640.164772,
628
- "measurements": [
629
- {
630
- "durationMs": 648.338374,
631
- "retainedHeapDeltaBytes": -123078096
632
- },
633
- {
634
- "durationMs": 641.541802,
635
- "retainedHeapDeltaBytes": 22676904
636
- },
637
- {
638
- "durationMs": 640.109483,
639
- "retainedHeapDeltaBytes": 85844232
640
- },
641
- {
642
- "durationMs": 640.164772,
643
- "retainedHeapDeltaBytes": 14005272
644
- },
645
- {
646
- "durationMs": 630.563769,
647
- "retainedHeapDeltaBytes": 90160272
648
- }
649
- ]
650
- },
651
- {
652
- "name": "candidate",
653
- "medianMillisecondsPerCall": 468.194422,
654
- "measurements": [
655
- {
656
- "durationMs": 446.118434,
657
- "retainedHeapDeltaBytes": 1170800
658
- },
659
- {
660
- "durationMs": 480.583837,
661
- "retainedHeapDeltaBytes": -61443448
662
- },
663
- {
664
- "durationMs": 468.194422,
665
- "retainedHeapDeltaBytes": -177396512
666
- },
667
- {
668
- "durationMs": 477.344175,
669
- "retainedHeapDeltaBytes": 80604040
670
- },
671
- {
672
- "durationMs": 424.118062,
673
- "retainedHeapDeltaBytes": 4030472
674
- }
675
- ]
676
- }
677
- ],
678
- "candidateToReferenceMedianRatio": 0.7313654897586274
679
- }
680
- ],
681
- "preparation": [
682
- {
683
- "path": "reference",
684
- "preparationsPerRepeat": 1000,
685
- "nanosecondsPerPreparation": [
686
- 7530.304,
687
- 7205.456,
688
- 8059.704,
689
- 7812.119,
690
- 7547.95,
691
- 7509.743,
692
- 8095.807
693
- ],
694
- "medianNanosecondsPerPreparation": 7547.95
695
- },
696
- {
697
- "path": "candidate",
698
- "preparationsPerRepeat": 1000,
699
- "nanosecondsPerPreparation": [
700
- 7285.554,
701
- 7671.352,
702
- 7411.789,
703
- 8110.478,
704
- 7553.808,
705
- 7164.175,
706
- 7275.639
707
- ],
708
- "medianNanosecondsPerPreparation": 7411.789
709
- }
710
- ],
711
- "profiles": [],
712
- "sink": 261284,
713
- "limitations": [
714
- "Bounded real merged plan/correction consumers on owned synthetic sampled data; no full-production/browser frame-time claim",
715
- "Alternating paired calls on shared host; workload shapes are not observed product traffic",
716
- "Net retained heap is not allocation count; separate inspector sampling estimates are statistical",
717
- "CPU inclusive categories overlap, and inlining/sampling limit attribution; do not sum them",
718
- "No optical calibration, radiometry, actual prefilter or generic prepared API is introduced",
719
- "Commit/build identity is operator-attested; candidate source fingerprint is recorded"
720
- ]
721
- },
722
- {
723
- "benchmark": "merged-geometric-consumers",
724
- "benchmarkVersion": 1,
725
- "referenceCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
726
- "candidateBaseCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
727
- "candidateSource": {
728
- "path": "src/output/geometric-transforms.ts",
729
- "sha256": "5d96773ccce87ac1eac7eda286f12b6aac48f1f91dc1aad6b6c2c6a7a022be46"
730
- },
731
- "engineApiVersion": "0.103.0",
732
- "buildMethod": "tsc",
733
- "nodeVersion": "v24.19.0",
734
- "v8Version": "13.6.233.17-node.51",
735
- "platform": "linux",
736
- "arch": "x64",
737
- "cpuModel": "AMD EPYC 9V74 80-Core Processor",
738
- "logicalCpuCount": 9,
739
- "forcedGc": false,
740
- "results": [
741
- {
742
- "scenario": "sampling-plan-1x1",
743
- "dimensions": {
744
- "width": 1,
745
- "height": 1
746
- },
747
- "callsPerRepeat": 100,
748
- "repeats": 5,
749
- "warmupCallsPerPath": 100,
750
- "paths": [
751
- {
752
- "name": "reference",
753
- "medianMillisecondsPerCall": 0.03561277,
754
- "measurements": [
755
- {
756
- "durationMs": 3.735503,
757
- "retainedHeapDeltaBytes": 8598768
758
- },
759
- {
760
- "durationMs": 3.211651,
761
- "retainedHeapDeltaBytes": 8504688
762
- },
763
- {
764
- "durationMs": 3.407821,
765
- "retainedHeapDeltaBytes": 8492256
766
- },
767
- {
768
- "durationMs": 11.695712,
769
- "retainedHeapDeltaBytes": -144434896
770
- },
771
- {
772
- "durationMs": 3.561277,
773
- "retainedHeapDeltaBytes": 8496768
774
- }
775
- ]
776
- },
777
- {
778
- "name": "candidate",
779
- "medianMillisecondsPerCall": 0.025014349999999998,
780
- "measurements": [
781
- {
782
- "durationMs": 2.553391,
783
- "retainedHeapDeltaBytes": 6960552
784
- },
785
- {
786
- "durationMs": 2.501435,
787
- "retainedHeapDeltaBytes": 6908768
788
- },
789
- {
790
- "durationMs": 2.430482,
791
- "retainedHeapDeltaBytes": 6985152
792
- },
793
- {
794
- "durationMs": 2.695601,
795
- "retainedHeapDeltaBytes": 6918224
796
- },
797
- {
798
- "durationMs": 2.4911,
799
- "retainedHeapDeltaBytes": 6914808
800
- }
801
- ]
802
- }
803
- ],
804
- "candidateToReferenceMedianRatio": 0.7023983250951835
805
- },
806
- {
807
- "scenario": "corrected-capture-1x1",
808
- "dimensions": {
809
- "width": 1,
810
- "height": 1
811
- },
812
- "callsPerRepeat": 100,
813
- "repeats": 5,
814
- "warmupCallsPerPath": 100,
815
- "paths": [
816
- {
817
- "name": "reference",
818
- "medianMillisecondsPerCall": 0.30812306,
819
- "measurements": [
820
- {
821
- "durationMs": 30.468735,
822
- "retainedHeapDeltaBytes": 7743232
823
- },
824
- {
825
- "durationMs": 30.96063,
826
- "retainedHeapDeltaBytes": 6646504
827
- },
828
- {
829
- "durationMs": 33.576749,
830
- "retainedHeapDeltaBytes": 6558928
831
- },
832
- {
833
- "durationMs": 30.812306,
834
- "retainedHeapDeltaBytes": -60394176
835
- },
836
- {
837
- "durationMs": 30.627435,
838
- "retainedHeapDeltaBytes": -60279016
839
- }
840
- ]
841
- },
842
- {
843
- "name": "candidate",
844
- "medianMillisecondsPerCall": 0.25652194,
845
- "measurements": [
846
- {
847
- "durationMs": 24.826153,
848
- "retainedHeapDeltaBytes": -2523552
849
- },
850
- {
851
- "durationMs": 25.443312,
852
- "retainedHeapDeltaBytes": -2617016
853
- },
854
- {
855
- "durationMs": 27.256397,
856
- "retainedHeapDeltaBytes": -2560736
857
- },
858
- {
859
- "durationMs": 26.3012,
860
- "retainedHeapDeltaBytes": 64464328
861
- },
862
- {
863
- "durationMs": 25.652194,
864
- "retainedHeapDeltaBytes": -2649968
865
- }
866
- ]
867
- }
868
- ],
869
- "candidateToReferenceMedianRatio": 0.8325308076584726
870
- },
871
- {
872
- "scenario": "sampling-plan-5x5",
873
- "dimensions": {
874
- "width": 5,
875
- "height": 5
876
- },
877
- "callsPerRepeat": 100,
878
- "repeats": 5,
879
- "warmupCallsPerPath": 100,
880
- "paths": [
881
- {
882
- "name": "reference",
883
- "medianMillisecondsPerCall": 0.45833838,
884
- "measurements": [
885
- {
886
- "durationMs": 46.425984,
887
- "retainedHeapDeltaBytes": -10398928
888
- },
889
- {
890
- "durationMs": 45.082645,
891
- "retainedHeapDeltaBytes": -11510720
892
- },
893
- {
894
- "durationMs": 47.373188,
895
- "retainedHeapDeltaBytes": -11657584
896
- },
897
- {
898
- "durationMs": 45.436833,
899
- "retainedHeapDeltaBytes": -11602232
900
- },
901
- {
902
- "durationMs": 45.833838,
903
- "retainedHeapDeltaBytes": 55330776
904
- }
905
- ]
906
- },
907
- {
908
- "name": "candidate",
909
- "medianMillisecondsPerCall": 0.27196195,
910
- "measurements": [
911
- {
912
- "durationMs": 26.721985,
913
- "retainedHeapDeltaBytes": 14697336
914
- },
915
- {
916
- "durationMs": 27.196195,
917
- "retainedHeapDeltaBytes": 14740400
918
- },
919
- {
920
- "durationMs": 28.279601,
921
- "retainedHeapDeltaBytes": 14492120
922
- },
923
- {
924
- "durationMs": 27.27881,
925
- "retainedHeapDeltaBytes": 14545600
926
- },
927
- {
928
- "durationMs": 26.57273,
929
- "retainedHeapDeltaBytes": -52572568
930
- }
931
- ]
932
- }
933
- ],
934
- "candidateToReferenceMedianRatio": 0.593364993784723
935
- },
936
- {
937
- "scenario": "corrected-capture-5x5",
938
- "dimensions": {
939
- "width": 5,
940
- "height": 5
941
- },
942
- "callsPerRepeat": 100,
943
- "repeats": 5,
944
- "warmupCallsPerPath": 100,
945
- "paths": [
946
- {
947
- "name": "reference",
948
- "medianMillisecondsPerCall": 3.35279533,
949
- "measurements": [
950
- {
951
- "durationMs": 355.443816,
952
- "retainedHeapDeltaBytes": -5127232
953
- },
954
- {
955
- "durationMs": 335.279533,
956
- "retainedHeapDeltaBytes": -7619296
957
- },
958
- {
959
- "durationMs": 327.947862,
960
- "retainedHeapDeltaBytes": -8300264
961
- },
962
- {
963
- "durationMs": 349.0934,
964
- "retainedHeapDeltaBytes": -8548472
965
- },
966
- {
967
- "durationMs": 324.875806,
968
- "retainedHeapDeltaBytes": 59210104
969
- }
970
- ]
971
- },
972
- {
973
- "name": "candidate",
974
- "medianMillisecondsPerCall": 2.12940496,
975
- "measurements": [
976
- {
977
- "durationMs": 224.151622,
978
- "retainedHeapDeltaBytes": 15505040
979
- },
980
- {
981
- "durationMs": 212.940496,
982
- "retainedHeapDeltaBytes": 14718952
983
- },
984
- {
985
- "durationMs": 206.643231,
986
- "retainedHeapDeltaBytes": 21508808
987
- },
988
- {
989
- "durationMs": 220.375923,
990
- "retainedHeapDeltaBytes": 14125224
991
- },
992
- {
993
- "durationMs": 209.890897,
994
- "retainedHeapDeltaBytes": -51057912
995
- }
996
- ]
997
- }
998
- ],
999
- "candidateToReferenceMedianRatio": 0.6351133160281514
1000
- },
1001
- {
1002
- "scenario": "sampling-plan-17x17",
1003
- "dimensions": {
1004
- "width": 17,
1005
- "height": 17
1006
- },
1007
- "callsPerRepeat": 1,
1008
- "repeats": 5,
1009
- "warmupCallsPerPath": 2,
1010
- "paths": [
1011
- {
1012
- "name": "reference",
1013
- "medianMillisecondsPerCall": 5.154233,
1014
- "measurements": [
1015
- {
1016
- "durationMs": 5.833574,
1017
- "retainedHeapDeltaBytes": 13652760
1018
- },
1019
- {
1020
- "durationMs": 5.071511,
1021
- "retainedHeapDeltaBytes": 13687216
1022
- },
1023
- {
1024
- "durationMs": 5.152251,
1025
- "retainedHeapDeltaBytes": 13636864
1026
- },
1027
- {
1028
- "durationMs": 5.154233,
1029
- "retainedHeapDeltaBytes": 13651272
1030
- },
1031
- {
1032
- "durationMs": 5.318997,
1033
- "retainedHeapDeltaBytes": 13649888
1034
- }
1035
- ]
1036
- },
1037
- {
1038
- "name": "candidate",
1039
- "medianMillisecondsPerCall": 2.930076,
1040
- "measurements": [
1041
- {
1042
- "durationMs": 2.930076,
1043
- "retainedHeapDeltaBytes": 8946752
1044
- },
1045
- {
1046
- "durationMs": 2.930067,
1047
- "retainedHeapDeltaBytes": 8912600
1048
- },
1049
- {
1050
- "durationMs": 2.922125,
1051
- "retainedHeapDeltaBytes": 8903712
1052
- },
1053
- {
1054
- "durationMs": 3.185864,
1055
- "retainedHeapDeltaBytes": 8912600
1056
- },
1057
- {
1058
- "durationMs": 3.361022,
1059
- "retainedHeapDeltaBytes": 8940200
1060
- }
1061
- ]
1062
- }
1063
- ],
1064
- "candidateToReferenceMedianRatio": 0.5684795390507181
1065
- },
1066
- {
1067
- "scenario": "corrected-capture-17x17",
1068
- "dimensions": {
1069
- "width": 17,
1070
- "height": 17
1071
- },
1072
- "callsPerRepeat": 1,
1073
- "repeats": 5,
1074
- "warmupCallsPerPath": 2,
1075
- "paths": [
1076
- {
1077
- "name": "reference",
1078
- "medianMillisecondsPerCall": 38.539991,
1079
- "measurements": [
1080
- {
1081
- "durationMs": 40.65489,
1082
- "retainedHeapDeltaBytes": -38783600
1083
- },
1084
- {
1085
- "durationMs": 38.334002,
1086
- "retainedHeapDeltaBytes": -39826488
1087
- },
1088
- {
1089
- "durationMs": 36.999182,
1090
- "retainedHeapDeltaBytes": -39029032
1091
- },
1092
- {
1093
- "durationMs": 38.539991,
1094
- "retainedHeapDeltaBytes": -40426352
1095
- },
1096
- {
1097
- "durationMs": 41.461596,
1098
- "retainedHeapDeltaBytes": 28246728
1099
- }
1100
- ]
1101
- },
1102
- {
1103
- "name": "candidate",
1104
- "medianMillisecondsPerCall": 23.577383,
1105
- "measurements": [
1106
- {
1107
- "durationMs": 22.93072,
1108
- "retainedHeapDeltaBytes": -153488
1109
- },
1110
- {
1111
- "durationMs": 23.577383,
1112
- "retainedHeapDeltaBytes": -685432
1113
- },
1114
- {
1115
- "durationMs": 23.354419,
1116
- "retainedHeapDeltaBytes": -170552
1117
- },
1118
- {
1119
- "durationMs": 25.285845,
1120
- "retainedHeapDeltaBytes": -641832
1121
- },
1122
- {
1123
- "durationMs": 25.865759,
1124
- "retainedHeapDeltaBytes": -1359528
1125
- }
1126
- ]
1127
- }
1128
- ],
1129
- "candidateToReferenceMedianRatio": 0.6117641023839367
1130
- },
1131
- {
1132
- "scenario": "sampling-plan-33x33",
1133
- "dimensions": {
1134
- "width": 33,
1135
- "height": 33
1136
- },
1137
- "callsPerRepeat": 1,
1138
- "repeats": 5,
1139
- "warmupCallsPerPath": 2,
1140
- "paths": [
1141
- {
1142
- "name": "reference",
1143
- "medianMillisecondsPerCall": 22.529874,
1144
- "measurements": [
1145
- {
1146
- "durationMs": 24.902075,
1147
- "retainedHeapDeltaBytes": -15732576
1148
- },
1149
- {
1150
- "durationMs": 21.973251,
1151
- "retainedHeapDeltaBytes": -16309336
1152
- },
1153
- {
1154
- "durationMs": 23.8444,
1155
- "retainedHeapDeltaBytes": -15852816
1156
- },
1157
- {
1158
- "durationMs": 20.553692,
1159
- "retainedHeapDeltaBytes": -16470480
1160
- },
1161
- {
1162
- "durationMs": 22.529874,
1163
- "retainedHeapDeltaBytes": -16951112
1164
- }
1165
- ]
1166
- },
1167
- {
1168
- "name": "candidate",
1169
- "medianMillisecondsPerCall": 13.151234,
1170
- "measurements": [
1171
- {
1172
- "durationMs": 12.373769,
1173
- "retainedHeapDeltaBytes": 33584056
1174
- },
1175
- {
1176
- "durationMs": 13.151234,
1177
- "retainedHeapDeltaBytes": 33527176
1178
- },
1179
- {
1180
- "durationMs": 12.414541,
1181
- "retainedHeapDeltaBytes": 33518304
1182
- },
1183
- {
1184
- "durationMs": 15.973314,
1185
- "retainedHeapDeltaBytes": 33515136
1186
- },
1187
- {
1188
- "durationMs": 14.991377,
1189
- "retainedHeapDeltaBytes": -33301216
1190
- }
1191
- ]
1192
- }
1193
- ],
1194
- "candidateToReferenceMedianRatio": 0.5837242587330937
1195
- },
1196
- {
1197
- "scenario": "corrected-capture-33x33",
1198
- "dimensions": {
1199
- "width": 33,
1200
- "height": 33
1201
- },
1202
- "callsPerRepeat": 1,
1203
- "repeats": 5,
1204
- "warmupCallsPerPath": 2,
1205
- "paths": [
1206
- {
1207
- "name": "reference",
1208
- "medianMillisecondsPerCall": 163.852477,
1209
- "measurements": [
1210
- {
1211
- "durationMs": 166.181223,
1212
- "retainedHeapDeltaBytes": 27007496
1213
- },
1214
- {
1215
- "durationMs": 156.373104,
1216
- "retainedHeapDeltaBytes": 26199440
1217
- },
1218
- {
1219
- "durationMs": 155.213009,
1220
- "retainedHeapDeltaBytes": 26120312
1221
- },
1222
- {
1223
- "durationMs": 165.59888,
1224
- "retainedHeapDeltaBytes": -96415856
1225
- },
1226
- {
1227
- "durationMs": 163.852477,
1228
- "retainedHeapDeltaBytes": 27056184
1229
- }
1230
- ]
1231
- },
1232
- {
1233
- "name": "candidate",
1234
- "medianMillisecondsPerCall": 101.209524,
1235
- "measurements": [
1236
- {
1237
- "durationMs": 107.534436,
1238
- "retainedHeapDeltaBytes": -20884640
1239
- },
1240
- {
1241
- "durationMs": 104.227374,
1242
- "retainedHeapDeltaBytes": -16658168
1243
- },
1244
- {
1245
- "durationMs": 94.899637,
1246
- "retainedHeapDeltaBytes": -21245112
1247
- },
1248
- {
1249
- "durationMs": 96.307612,
1250
- "retainedHeapDeltaBytes": -17179560
1251
- },
1252
- {
1253
- "durationMs": 101.209524,
1254
- "retainedHeapDeltaBytes": -14614272
1255
- }
1256
- ]
1257
- }
1258
- ],
1259
- "candidateToReferenceMedianRatio": 0.6176868720757881
1260
- },
1261
- {
1262
- "scenario": "sampling-plan-65x65",
1263
- "dimensions": {
1264
- "width": 65,
1265
- "height": 65
1266
- },
1267
- "callsPerRepeat": 1,
1268
- "repeats": 5,
1269
- "warmupCallsPerPath": 2,
1270
- "paths": [
1271
- {
1272
- "name": "reference",
1273
- "medianMillisecondsPerCall": 89.066704,
1274
- "measurements": [
1275
- {
1276
- "durationMs": 88.9849,
1277
- "retainedHeapDeltaBytes": 3171344
1278
- },
1279
- {
1280
- "durationMs": 107.186173,
1281
- "retainedHeapDeltaBytes": -246616088
1282
- },
1283
- {
1284
- "durationMs": 86.897327,
1285
- "retainedHeapDeltaBytes": 2922872
1286
- },
1287
- {
1288
- "durationMs": 92.720136,
1289
- "retainedHeapDeltaBytes": 8080704
1290
- },
1291
- {
1292
- "durationMs": 89.066704,
1293
- "retainedHeapDeltaBytes": 4966512
1294
- }
1295
- ]
1296
- },
1297
- {
1298
- "name": "candidate",
1299
- "medianMillisecondsPerCall": 61.514732,
1300
- "measurements": [
1301
- {
1302
- "durationMs": 61.514732,
1303
- "retainedHeapDeltaBytes": 4166536
1304
- },
1305
- {
1306
- "durationMs": 58.238035,
1307
- "retainedHeapDeltaBytes": 2086024
1308
- },
1309
- {
1310
- "durationMs": 69.003293,
1311
- "retainedHeapDeltaBytes": -131018016
1312
- },
1313
- {
1314
- "durationMs": 75.86322,
1315
- "retainedHeapDeltaBytes": 2227560
1316
- },
1317
- {
1318
- "durationMs": 48.519795,
1319
- "retainedHeapDeltaBytes": 67477112
1320
- }
1321
- ]
1322
- }
1323
- ],
1324
- "candidateToReferenceMedianRatio": 0.6906591266698272
1325
- },
1326
- {
1327
- "scenario": "corrected-capture-65x65",
1328
- "dimensions": {
1329
- "width": 65,
1330
- "height": 65
1331
- },
1332
- "callsPerRepeat": 1,
1333
- "repeats": 5,
1334
- "warmupCallsPerPath": 2,
1335
- "paths": [
1336
- {
1337
- "name": "reference",
1338
- "medianMillisecondsPerCall": 606.994678,
1339
- "measurements": [
1340
- {
1341
- "durationMs": 620.212413,
1342
- "retainedHeapDeltaBytes": 88882616
1343
- },
1344
- {
1345
- "durationMs": 596.99175,
1346
- "retainedHeapDeltaBytes": 14083544
1347
- },
1348
- {
1349
- "durationMs": 606.286734,
1350
- "retainedHeapDeltaBytes": 89074856
1351
- },
1352
- {
1353
- "durationMs": 606.994678,
1354
- "retainedHeapDeltaBytes": 14346216
1355
- },
1356
- {
1357
- "durationMs": 656.129059,
1358
- "retainedHeapDeltaBytes": 22649080
1359
- }
1360
- ]
1361
- },
1362
- {
1363
- "name": "candidate",
1364
- "medianMillisecondsPerCall": 449.007942,
1365
- "measurements": [
1366
- {
1367
- "durationMs": 449.007942,
1368
- "retainedHeapDeltaBytes": 9873576
1369
- },
1370
- {
1371
- "durationMs": 464.157255,
1372
- "retainedHeapDeltaBytes": 82016160
1373
- },
1374
- {
1375
- "durationMs": 420.073153,
1376
- "retainedHeapDeltaBytes": 8246752
1377
- },
1378
- {
1379
- "durationMs": 451.564459,
1380
- "retainedHeapDeltaBytes": 77575168
1381
- },
1382
- {
1383
- "durationMs": 431.663849,
1384
- "retainedHeapDeltaBytes": -33272696
1385
- }
1386
- ]
1387
- }
1388
- ],
1389
- "candidateToReferenceMedianRatio": 0.7397230293343692
1390
- }
1391
- ],
1392
- "preparation": [
1393
- {
1394
- "path": "reference",
1395
- "preparationsPerRepeat": 1000,
1396
- "nanosecondsPerPreparation": [
1397
- 7716.409,
1398
- 7451.268,
1399
- 8351.805,
1400
- 7999.835,
1401
- 7891.717,
1402
- 7514.091,
1403
- 7534.922
1404
- ],
1405
- "medianNanosecondsPerPreparation": 7716.409
1406
- },
1407
- {
1408
- "path": "candidate",
1409
- "preparationsPerRepeat": 1000,
1410
- "nanosecondsPerPreparation": [
1411
- 8462.018,
1412
- 7283.581,
1413
- 7652.324,
1414
- 7370.96,
1415
- 8389.43,
1416
- 8227.221,
1417
- 7605.846
1418
- ],
1419
- "medianNanosecondsPerPreparation": 7652.324
1420
- }
1421
- ],
1422
- "profiles": [],
1423
- "sink": 261284,
1424
- "limitations": [
1425
- "Bounded real merged plan/correction consumers on owned synthetic sampled data; no full-production/browser frame-time claim",
1426
- "Alternating paired calls on shared host; workload shapes are not observed product traffic",
1427
- "Net retained heap is not allocation count; separate inspector sampling estimates are statistical",
1428
- "CPU inclusive categories overlap, and inlining/sampling limit attribution; do not sum them",
1429
- "No optical calibration, radiometry, actual prefilter or generic prepared API is introduced",
1430
- "Commit/build identity is operator-attested; candidate source fingerprint is recorded"
1431
- ]
1432
- }
1433
- ],
1434
- "gcAssistedRun": {
1435
- "benchmark": "merged-geometric-consumers",
1436
- "benchmarkVersion": 1,
1437
- "referenceCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
1438
- "candidateBaseCommit": "c1374c31473f893310d1ce4f0d5a737aaba43ab5",
1439
- "candidateSource": {
1440
- "path": "src/output/geometric-transforms.ts",
1441
- "sha256": "5d96773ccce87ac1eac7eda286f12b6aac48f1f91dc1aad6b6c2c6a7a022be46"
1442
- },
1443
- "engineApiVersion": "0.103.0",
1444
- "buildMethod": "tsc",
1445
- "nodeVersion": "v24.19.0",
1446
- "v8Version": "13.6.233.17-node.51",
1447
- "platform": "linux",
1448
- "arch": "x64",
1449
- "cpuModel": "AMD EPYC 9V74 80-Core Processor",
1450
- "logicalCpuCount": 9,
1451
- "forcedGc": true,
1452
- "results": [
1453
- {
1454
- "scenario": "sampling-plan-1x1",
1455
- "dimensions": {
1456
- "width": 1,
1457
- "height": 1
1458
- },
1459
- "callsPerRepeat": 100,
1460
- "repeats": 5,
1461
- "warmupCallsPerPath": 100,
1462
- "paths": [
1463
- {
1464
- "name": "reference",
1465
- "medianMillisecondsPerCall": 0.038481299999999996,
1466
- "measurements": [
1467
- {
1468
- "durationMs": 4.554701,
1469
- "retainedHeapDeltaBytes": 2312
1470
- },
1471
- {
1472
- "durationMs": 3.840869,
1473
- "retainedHeapDeltaBytes": 2016
1474
- },
1475
- {
1476
- "durationMs": 3.819938,
1477
- "retainedHeapDeltaBytes": 40
1478
- },
1479
- {
1480
- "durationMs": 3.84813,
1481
- "retainedHeapDeltaBytes": 736
1482
- },
1483
- {
1484
- "durationMs": 4.346623,
1485
- "retainedHeapDeltaBytes": 88
1486
- }
1487
- ]
1488
- },
1489
- {
1490
- "name": "candidate",
1491
- "medianMillisecondsPerCall": 0.03729004,
1492
- "measurements": [
1493
- {
1494
- "durationMs": 3.77429,
1495
- "retainedHeapDeltaBytes": -11296
1496
- },
1497
- {
1498
- "durationMs": 3.729004,
1499
- "retainedHeapDeltaBytes": 72
1500
- },
1501
- {
1502
- "durationMs": 3.756685,
1503
- "retainedHeapDeltaBytes": 27496
1504
- },
1505
- {
1506
- "durationMs": 3.049574,
1507
- "retainedHeapDeltaBytes": 88
1508
- },
1509
- {
1510
- "durationMs": 3.505604,
1511
- "retainedHeapDeltaBytes": 88
1512
- }
1513
- ]
1514
- }
1515
- ],
1516
- "candidateToReferenceMedianRatio": 0.9690431456317745
1517
- },
1518
- {
1519
- "scenario": "corrected-capture-1x1",
1520
- "dimensions": {
1521
- "width": 1,
1522
- "height": 1
1523
- },
1524
- "callsPerRepeat": 100,
1525
- "repeats": 5,
1526
- "warmupCallsPerPath": 100,
1527
- "paths": [
1528
- {
1529
- "name": "reference",
1530
- "medianMillisecondsPerCall": 0.32888126,
1531
- "measurements": [
1532
- {
1533
- "durationMs": 32.324031,
1534
- "retainedHeapDeltaBytes": -224
1535
- },
1536
- {
1537
- "durationMs": 34.071857,
1538
- "retainedHeapDeltaBytes": 42840
1539
- },
1540
- {
1541
- "durationMs": 32.888126,
1542
- "retainedHeapDeltaBytes": 568
1543
- },
1544
- {
1545
- "durationMs": 30.510292,
1546
- "retainedHeapDeltaBytes": 88
1547
- },
1548
- {
1549
- "durationMs": 32.906325,
1550
- "retainedHeapDeltaBytes": 88
1551
- }
1552
- ]
1553
- },
1554
- {
1555
- "name": "candidate",
1556
- "medianMillisecondsPerCall": 0.28586648,
1557
- "measurements": [
1558
- {
1559
- "durationMs": 28.959645,
1560
- "retainedHeapDeltaBytes": 53200
1561
- },
1562
- {
1563
- "durationMs": 29.672104,
1564
- "retainedHeapDeltaBytes": 72728
1565
- },
1566
- {
1567
- "durationMs": 27.310968,
1568
- "retainedHeapDeltaBytes": 18376
1569
- },
1570
- {
1571
- "durationMs": 28.586648,
1572
- "retainedHeapDeltaBytes": -872
1573
- },
1574
- {
1575
- "durationMs": 25.93822,
1576
- "retainedHeapDeltaBytes": 2976
1577
- }
1578
- ]
1579
- }
1580
- ],
1581
- "candidateToReferenceMedianRatio": 0.8692087837415851
1582
- },
1583
- {
1584
- "scenario": "sampling-plan-5x5",
1585
- "dimensions": {
1586
- "width": 5,
1587
- "height": 5
1588
- },
1589
- "callsPerRepeat": 100,
1590
- "repeats": 5,
1591
- "warmupCallsPerPath": 100,
1592
- "paths": [
1593
- {
1594
- "name": "reference",
1595
- "medianMillisecondsPerCall": 0.47284857,
1596
- "measurements": [
1597
- {
1598
- "durationMs": 47.097487,
1599
- "retainedHeapDeltaBytes": 30968
1600
- },
1601
- {
1602
- "durationMs": 45.915034,
1603
- "retainedHeapDeltaBytes": 72
1604
- },
1605
- {
1606
- "durationMs": 52.012293,
1607
- "retainedHeapDeltaBytes": 72
1608
- },
1609
- {
1610
- "durationMs": 47.284857,
1611
- "retainedHeapDeltaBytes": 88
1612
- },
1613
- {
1614
- "durationMs": 48.432838,
1615
- "retainedHeapDeltaBytes": 88
1616
- }
1617
- ]
1618
- },
1619
- {
1620
- "name": "candidate",
1621
- "medianMillisecondsPerCall": 0.28516973,
1622
- "measurements": [
1623
- {
1624
- "durationMs": 28.516973,
1625
- "retainedHeapDeltaBytes": 3648
1626
- },
1627
- {
1628
- "durationMs": 28.432919,
1629
- "retainedHeapDeltaBytes": 72
1630
- },
1631
- {
1632
- "durationMs": 29.339036,
1633
- "retainedHeapDeltaBytes": 72
1634
- },
1635
- {
1636
- "durationMs": 28.562462,
1637
- "retainedHeapDeltaBytes": 88
1638
- },
1639
- {
1640
- "durationMs": 28.128526,
1641
- "retainedHeapDeltaBytes": 88
1642
- }
1643
- ]
1644
- }
1645
- ],
1646
- "candidateToReferenceMedianRatio": 0.6030889127992921
1647
- },
1648
- {
1649
- "scenario": "corrected-capture-5x5",
1650
- "dimensions": {
1651
- "width": 5,
1652
- "height": 5
1653
- },
1654
- "callsPerRepeat": 100,
1655
- "repeats": 5,
1656
- "warmupCallsPerPath": 100,
1657
- "paths": [
1658
- {
1659
- "name": "reference",
1660
- "medianMillisecondsPerCall": 3.29697238,
1661
- "measurements": [
1662
- {
1663
- "durationMs": 329.697238,
1664
- "retainedHeapDeltaBytes": 52320
1665
- },
1666
- {
1667
- "durationMs": 344.826408,
1668
- "retainedHeapDeltaBytes": 30656
1669
- },
1670
- {
1671
- "durationMs": 342.221641,
1672
- "retainedHeapDeltaBytes": 688
1673
- },
1674
- {
1675
- "durationMs": 328.434487,
1676
- "retainedHeapDeltaBytes": 30656
1677
- },
1678
- {
1679
- "durationMs": 327.289627,
1680
- "retainedHeapDeltaBytes": 136
1681
- }
1682
- ]
1683
- },
1684
- {
1685
- "name": "candidate",
1686
- "medianMillisecondsPerCall": 2.14630064,
1687
- "measurements": [
1688
- {
1689
- "durationMs": 211.47741,
1690
- "retainedHeapDeltaBytes": 56
1691
- },
1692
- {
1693
- "durationMs": 215.145154,
1694
- "retainedHeapDeltaBytes": 33544
1695
- },
1696
- {
1697
- "durationMs": 214.630064,
1698
- "retainedHeapDeltaBytes": -67456
1699
- },
1700
- {
1701
- "durationMs": 214.598879,
1702
- "retainedHeapDeltaBytes": 66664
1703
- },
1704
- {
1705
- "durationMs": 216.151308,
1706
- "retainedHeapDeltaBytes": 3824
1707
- }
1708
- ]
1709
- }
1710
- ],
1711
- "candidateToReferenceMedianRatio": 0.6509913922906445
1712
- },
1713
- {
1714
- "scenario": "sampling-plan-17x17",
1715
- "dimensions": {
1716
- "width": 17,
1717
- "height": 17
1718
- },
1719
- "callsPerRepeat": 1,
1720
- "repeats": 5,
1721
- "warmupCallsPerPath": 2,
1722
- "paths": [
1723
- {
1724
- "name": "reference",
1725
- "medianMillisecondsPerCall": 6.500017,
1726
- "measurements": [
1727
- {
1728
- "durationMs": 6.264159,
1729
- "retainedHeapDeltaBytes": 72
1730
- },
1731
- {
1732
- "durationMs": 5.835306,
1733
- "retainedHeapDeltaBytes": 72
1734
- },
1735
- {
1736
- "durationMs": 6.500017,
1737
- "retainedHeapDeltaBytes": 72
1738
- },
1739
- {
1740
- "durationMs": 6.750616,
1741
- "retainedHeapDeltaBytes": 88
1742
- },
1743
- {
1744
- "durationMs": 7.014425,
1745
- "retainedHeapDeltaBytes": 88
1746
- }
1747
- ]
1748
- },
1749
- {
1750
- "name": "candidate",
1751
- "medianMillisecondsPerCall": 4.196382,
1752
- "measurements": [
1753
- {
1754
- "durationMs": 3.370716,
1755
- "retainedHeapDeltaBytes": 936
1756
- },
1757
- {
1758
- "durationMs": 4.504887,
1759
- "retainedHeapDeltaBytes": 72
1760
- },
1761
- {
1762
- "durationMs": 4.196382,
1763
- "retainedHeapDeltaBytes": 72
1764
- },
1765
- {
1766
- "durationMs": 4.08594,
1767
- "retainedHeapDeltaBytes": -72
1768
- },
1769
- {
1770
- "durationMs": 4.702127,
1771
- "retainedHeapDeltaBytes": 88
1772
- }
1773
- ]
1774
- }
1775
- ],
1776
- "candidateToReferenceMedianRatio": 0.6455955422885817
1777
- },
1778
- {
1779
- "scenario": "corrected-capture-17x17",
1780
- "dimensions": {
1781
- "width": 17,
1782
- "height": 17
1783
- },
1784
- "callsPerRepeat": 1,
1785
- "repeats": 5,
1786
- "warmupCallsPerPath": 2,
1787
- "paths": [
1788
- {
1789
- "name": "reference",
1790
- "medianMillisecondsPerCall": 41.111721,
1791
- "measurements": [
1792
- {
1793
- "durationMs": 38.447493,
1794
- "retainedHeapDeltaBytes": 72
1795
- },
1796
- {
1797
- "durationMs": 44.530544,
1798
- "retainedHeapDeltaBytes": 2664
1799
- },
1800
- {
1801
- "durationMs": 42.114759,
1802
- "retainedHeapDeltaBytes": 72
1803
- },
1804
- {
1805
- "durationMs": 38.308431,
1806
- "retainedHeapDeltaBytes": 88
1807
- },
1808
- {
1809
- "durationMs": 41.111721,
1810
- "retainedHeapDeltaBytes": 88
1811
- }
1812
- ]
1813
- },
1814
- {
1815
- "name": "candidate",
1816
- "medianMillisecondsPerCall": 24.895329,
1817
- "measurements": [
1818
- {
1819
- "durationMs": 24.758936,
1820
- "retainedHeapDeltaBytes": 72
1821
- },
1822
- {
1823
- "durationMs": 26.250564,
1824
- "retainedHeapDeltaBytes": 72
1825
- },
1826
- {
1827
- "durationMs": 25.908943,
1828
- "retainedHeapDeltaBytes": 328
1829
- },
1830
- {
1831
- "durationMs": 24.828521,
1832
- "retainedHeapDeltaBytes": 88
1833
- },
1834
- {
1835
- "durationMs": 24.895329,
1836
- "retainedHeapDeltaBytes": 88
1837
- }
1838
- ]
1839
- }
1840
- ],
1841
- "candidateToReferenceMedianRatio": 0.6055530732950829
1842
- },
1843
- {
1844
- "scenario": "sampling-plan-33x33",
1845
- "dimensions": {
1846
- "width": 33,
1847
- "height": 33
1848
- },
1849
- "callsPerRepeat": 1,
1850
- "repeats": 5,
1851
- "warmupCallsPerPath": 2,
1852
- "paths": [
1853
- {
1854
- "name": "reference",
1855
- "medianMillisecondsPerCall": 23.426526,
1856
- "measurements": [
1857
- {
1858
- "durationMs": 21.871202,
1859
- "retainedHeapDeltaBytes": 72
1860
- },
1861
- {
1862
- "durationMs": 24.443213,
1863
- "retainedHeapDeltaBytes": 72
1864
- },
1865
- {
1866
- "durationMs": 22.395637,
1867
- "retainedHeapDeltaBytes": 72
1868
- },
1869
- {
1870
- "durationMs": 23.779796,
1871
- "retainedHeapDeltaBytes": 88
1872
- },
1873
- {
1874
- "durationMs": 23.426526,
1875
- "retainedHeapDeltaBytes": 88
1876
- }
1877
- ]
1878
- },
1879
- {
1880
- "name": "candidate",
1881
- "medianMillisecondsPerCall": 14.645938,
1882
- "measurements": [
1883
- {
1884
- "durationMs": 16.627661,
1885
- "retainedHeapDeltaBytes": 72
1886
- },
1887
- {
1888
- "durationMs": 14.645938,
1889
- "retainedHeapDeltaBytes": 1272
1890
- },
1891
- {
1892
- "durationMs": 15.713111,
1893
- "retainedHeapDeltaBytes": 72
1894
- },
1895
- {
1896
- "durationMs": 13.945376,
1897
- "retainedHeapDeltaBytes": 88
1898
- },
1899
- {
1900
- "durationMs": 13.01818,
1901
- "retainedHeapDeltaBytes": 88
1902
- }
1903
- ]
1904
- }
1905
- ],
1906
- "candidateToReferenceMedianRatio": 0.6251860817946289
1907
- },
1908
- {
1909
- "scenario": "corrected-capture-33x33",
1910
- "dimensions": {
1911
- "width": 33,
1912
- "height": 33
1913
- },
1914
- "callsPerRepeat": 1,
1915
- "repeats": 5,
1916
- "warmupCallsPerPath": 2,
1917
- "paths": [
1918
- {
1919
- "name": "reference",
1920
- "medianMillisecondsPerCall": 163.507182,
1921
- "measurements": [
1922
- {
1923
- "durationMs": 171.971087,
1924
- "retainedHeapDeltaBytes": 584
1925
- },
1926
- {
1927
- "durationMs": 154.502025,
1928
- "retainedHeapDeltaBytes": 584
1929
- },
1930
- {
1931
- "durationMs": 163.507182,
1932
- "retainedHeapDeltaBytes": 2528
1933
- },
1934
- {
1935
- "durationMs": 172.549916,
1936
- "retainedHeapDeltaBytes": 600
1937
- },
1938
- {
1939
- "durationMs": 151.443509,
1940
- "retainedHeapDeltaBytes": 4488
1941
- }
1942
- ]
1943
- },
1944
- {
1945
- "name": "candidate",
1946
- "medianMillisecondsPerCall": 104.99223,
1947
- "measurements": [
1948
- {
1949
- "durationMs": 112.751171,
1950
- "retainedHeapDeltaBytes": 584
1951
- },
1952
- {
1953
- "durationMs": 104.99223,
1954
- "retainedHeapDeltaBytes": 560
1955
- },
1956
- {
1957
- "durationMs": 104.675112,
1958
- "retainedHeapDeltaBytes": 584
1959
- },
1960
- {
1961
- "durationMs": 103.453462,
1962
- "retainedHeapDeltaBytes": 600
1963
- },
1964
- {
1965
- "durationMs": 105.897254,
1966
- "retainedHeapDeltaBytes": 600
1967
- }
1968
- ]
1969
- }
1970
- ],
1971
- "candidateToReferenceMedianRatio": 0.6421261055064847
1972
- },
1973
- {
1974
- "scenario": "sampling-plan-65x65",
1975
- "dimensions": {
1976
- "width": 65,
1977
- "height": 65
1978
- },
1979
- "callsPerRepeat": 1,
1980
- "repeats": 5,
1981
- "warmupCallsPerPath": 2,
1982
- "paths": [
1983
- {
1984
- "name": "reference",
1985
- "medianMillisecondsPerCall": 84.847851,
1986
- "measurements": [
1987
- {
1988
- "durationMs": 86.171953,
1989
- "retainedHeapDeltaBytes": 1464
1990
- },
1991
- {
1992
- "durationMs": 84.847851,
1993
- "retainedHeapDeltaBytes": 168
1994
- },
1995
- {
1996
- "durationMs": 84.465958,
1997
- "retainedHeapDeltaBytes": 528
1998
- },
1999
- {
2000
- "durationMs": 84.893067,
2001
- "retainedHeapDeltaBytes": 184
2002
- },
2003
- {
2004
- "durationMs": 83.474016,
2005
- "retainedHeapDeltaBytes": 184
2006
- }
2007
- ]
2008
- },
2009
- {
2010
- "name": "candidate",
2011
- "medianMillisecondsPerCall": 50.807798,
2012
- "measurements": [
2013
- {
2014
- "durationMs": 50.233777,
2015
- "retainedHeapDeltaBytes": 72
2016
- },
2017
- {
2018
- "durationMs": 51.234385,
2019
- "retainedHeapDeltaBytes": 72
2020
- },
2021
- {
2022
- "durationMs": 50.807798,
2023
- "retainedHeapDeltaBytes": 360
2024
- },
2025
- {
2026
- "durationMs": 53.922616,
2027
- "retainedHeapDeltaBytes": 88
2028
- },
2029
- {
2030
- "durationMs": 48.707152,
2031
- "retainedHeapDeltaBytes": 29608
2032
- }
2033
- ]
2034
- }
2035
- ],
2036
- "candidateToReferenceMedianRatio": 0.598810664043807
2037
- },
2038
- {
2039
- "scenario": "corrected-capture-65x65",
2040
- "dimensions": {
2041
- "width": 65,
2042
- "height": 65
2043
- },
2044
- "callsPerRepeat": 1,
2045
- "repeats": 5,
2046
- "warmupCallsPerPath": 2,
2047
- "paths": [
2048
- {
2049
- "name": "reference",
2050
- "medianMillisecondsPerCall": 617.036458,
2051
- "measurements": [
2052
- {
2053
- "durationMs": 612.610911,
2054
- "retainedHeapDeltaBytes": 584
2055
- },
2056
- {
2057
- "durationMs": 655.102682,
2058
- "retainedHeapDeltaBytes": 584
2059
- },
2060
- {
2061
- "durationMs": 617.036458,
2062
- "retainedHeapDeltaBytes": 1160
2063
- },
2064
- {
2065
- "durationMs": 623.833352,
2066
- "retainedHeapDeltaBytes": 600
2067
- },
2068
- {
2069
- "durationMs": 616.135516,
2070
- "retainedHeapDeltaBytes": 31088
2071
- }
2072
- ]
2073
- },
2074
- {
2075
- "name": "candidate",
2076
- "medianMillisecondsPerCall": 462.066573,
2077
- "measurements": [
2078
- {
2079
- "durationMs": 450.636993,
2080
- "retainedHeapDeltaBytes": 4472
2081
- },
2082
- {
2083
- "durationMs": 453.833263,
2084
- "retainedHeapDeltaBytes": -15944
2085
- },
2086
- {
2087
- "durationMs": 470.131056,
2088
- "retainedHeapDeltaBytes": 30368
2089
- },
2090
- {
2091
- "durationMs": 462.066573,
2092
- "retainedHeapDeltaBytes": 600
2093
- },
2094
- {
2095
- "durationMs": 469.099489,
2096
- "retainedHeapDeltaBytes": 480
2097
- }
2098
- ]
2099
- }
2100
- ],
2101
- "candidateToReferenceMedianRatio": 0.7488480899454404
2102
- }
2103
- ],
2104
- "preparation": [
2105
- {
2106
- "path": "reference",
2107
- "preparationsPerRepeat": 1000,
2108
- "nanosecondsPerPreparation": [
2109
- 8395.218,
2110
- 7395.594,
2111
- 7233.276,
2112
- 7435.252,
2113
- 7746.932,
2114
- 7153.227,
2115
- 7213.897
2116
- ],
2117
- "medianNanosecondsPerPreparation": 7395.594
2118
- },
2119
- {
2120
- "path": "candidate",
2121
- "preparationsPerRepeat": 1000,
2122
- "nanosecondsPerPreparation": [
2123
- 7588.789,
2124
- 7875.412,
2125
- 7908.139,
2126
- 8117.077,
2127
- 9335.743,
2128
- 7892.577,
2129
- 7639.033
2130
- ],
2131
- "medianNanosecondsPerPreparation": 7892.577
2132
- }
2133
- ],
2134
- "profiles": [
2135
- {
2136
- "path": "reference",
2137
- "scenario": "corrected-capture-65x65",
2138
- "cpu": {
2139
- "calls": 5,
2140
- "totalSamples": 2951,
2141
- "wholeConsumerSamples": 2657,
2142
- "inclusiveSampleCounts": {
2143
- "prepareGeometricMapping": 882,
2144
- "validateRadialDistortionProfile": 63,
2145
- "calculateRadialDistortionMapping": 361,
2146
- "calculateIlluminationVignetting": 46,
2147
- "assertFiniteNumbers": 1936
2148
- }
2149
- },
2150
- "allocation": {
2151
- "calls": 5,
2152
- "samplingIntervalBytes": 32768,
2153
- "sampledBytes": 6946184128,
2154
- "preparationInclusiveSampledBytes": 2075859720
2155
- }
2156
- },
2157
- {
2158
- "path": "candidate",
2159
- "scenario": "corrected-capture-65x65",
2160
- "cpu": {
2161
- "calls": 5,
2162
- "totalSamples": 2095,
2163
- "wholeConsumerSamples": 1779,
2164
- "inclusiveSampleCounts": {
2165
- "prepareGeometricMapping": 1,
2166
- "validateRadialDistortionProfile": 24,
2167
- "calculateRadialDistortionMapping": 344,
2168
- "calculateIlluminationVignetting": 48,
2169
- "assertFiniteNumbers": 1532
2170
- }
2171
- },
2172
- "allocation": {
2173
- "calls": 5,
2174
- "samplingIntervalBytes": 32768,
2175
- "sampledBytes": 4840744824,
2176
- "preparationInclusiveSampledBytes": 656240
2177
- }
2178
- }
2179
- ],
2180
- "sink": 345784,
2181
- "limitations": [
2182
- "Bounded real merged plan/correction consumers on owned synthetic sampled data; no full-production/browser frame-time claim",
2183
- "Alternating paired calls on shared host; workload shapes are not observed product traffic",
2184
- "Net retained heap is not allocation count; separate inspector sampling estimates are statistical",
2185
- "CPU inclusive categories overlap, and inlining/sampling limit attribution; do not sum them",
2186
- "No optical calibration, radiometry, actual prefilter or generic prepared API is introduced",
2187
- "Commit/build identity is operator-attested; candidate source fingerprint is recorded"
2188
- ]
2189
- }
2190
- }