@photivra/engine 0.5.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (753) hide show
  1. package/AGENTS.md +674 -0
  2. package/CHANGELOG.md +218 -0
  3. package/CITATION.cff +1 -1
  4. package/CONTRIBUTING.md +76 -0
  5. package/DCO +33 -0
  6. package/NODE_SUPPORT.md +37 -0
  7. package/NOTICE +2 -0
  8. package/README.md +157 -56
  9. package/SECURITY.md +55 -0
  10. package/THIRD_PARTY.md +63 -0
  11. package/dist/camera/equivalent-focal-length.d.ts +9 -0
  12. package/dist/camera/equivalent-focal-length.d.ts.map +1 -1
  13. package/dist/camera/equivalent-focal-length.js +9 -0
  14. package/dist/camera/equivalent-focal-length.js.map +1 -1
  15. package/dist/camera/field-of-view.d.ts +13 -0
  16. package/dist/camera/field-of-view.d.ts.map +1 -1
  17. package/dist/camera/field-of-view.js +13 -0
  18. package/dist/camera/field-of-view.js.map +1 -1
  19. package/dist/camera/projected-object-size.d.ts +8 -0
  20. package/dist/camera/projected-object-size.d.ts.map +1 -1
  21. package/dist/camera/projected-object-size.js +8 -0
  22. package/dist/camera/projected-object-size.js.map +1 -1
  23. package/dist/capture/capture-export-metadata.d.ts +60 -0
  24. package/dist/capture/capture-export-metadata.d.ts.map +1 -0
  25. package/dist/capture/capture-export-metadata.js +62 -0
  26. package/dist/capture/capture-export-metadata.js.map +1 -0
  27. package/dist/capture/environment-raw-producer.d.ts +55 -0
  28. package/dist/capture/environment-raw-producer.d.ts.map +1 -0
  29. package/dist/capture/environment-raw-producer.js +88 -0
  30. package/dist/capture/environment-raw-producer.js.map +1 -0
  31. package/dist/capture/export-jpeg.d.ts +12 -0
  32. package/dist/capture/export-jpeg.d.ts.map +1 -0
  33. package/dist/capture/export-jpeg.js +126 -0
  34. package/dist/capture/export-jpeg.js.map +1 -0
  35. package/dist/capture/export-tiff.d.ts +45 -0
  36. package/dist/capture/export-tiff.d.ts.map +1 -0
  37. package/dist/capture/export-tiff.js +129 -0
  38. package/dist/capture/export-tiff.js.map +1 -0
  39. package/dist/capture/focus-control.d.ts +210 -0
  40. package/dist/capture/focus-control.d.ts.map +1 -0
  41. package/dist/capture/focus-control.js +664 -0
  42. package/dist/capture/focus-control.js.map +1 -0
  43. package/dist/capture/linear-encoding.d.ts +59 -0
  44. package/dist/capture/linear-encoding.d.ts.map +1 -0
  45. package/dist/capture/linear-encoding.js +98 -0
  46. package/dist/capture/linear-encoding.js.map +1 -0
  47. package/dist/capture/photographic-export.d.ts +135 -0
  48. package/dist/capture/photographic-export.d.ts.map +1 -0
  49. package/dist/capture/photographic-export.js +273 -0
  50. package/dist/capture/photographic-export.js.map +1 -0
  51. package/dist/capture/raw-frame-limits.d.ts +12 -0
  52. package/dist/capture/raw-frame-limits.d.ts.map +1 -0
  53. package/dist/capture/raw-frame-limits.js +13 -0
  54. package/dist/capture/raw-frame-limits.js.map +1 -0
  55. package/dist/capture/raw-frame-reconstruction.d.ts +48 -0
  56. package/dist/capture/raw-frame-reconstruction.d.ts.map +1 -0
  57. package/dist/capture/raw-frame-reconstruction.js +146 -0
  58. package/dist/capture/raw-frame-reconstruction.js.map +1 -0
  59. package/dist/capture/release-sequence.d.ts +120 -0
  60. package/dist/capture/release-sequence.d.ts.map +1 -0
  61. package/dist/capture/release-sequence.js +446 -0
  62. package/dist/capture/release-sequence.js.map +1 -0
  63. package/dist/capture/sensor-raw-frame.d.ts +34 -0
  64. package/dist/capture/sensor-raw-frame.d.ts.map +1 -0
  65. package/dist/capture/sensor-raw-frame.js +106 -0
  66. package/dist/capture/sensor-raw-frame.js.map +1 -0
  67. package/dist/capture/sensor-raw-producer.d.ts +51 -0
  68. package/dist/capture/sensor-raw-producer.d.ts.map +1 -0
  69. package/dist/capture/sensor-raw-producer.js +235 -0
  70. package/dist/capture/sensor-raw-producer.js.map +1 -0
  71. package/dist/capture/simulated-capture.d.ts +125 -0
  72. package/dist/capture/simulated-capture.d.ts.map +1 -0
  73. package/dist/capture/simulated-capture.js +248 -0
  74. package/dist/capture/simulated-capture.js.map +1 -0
  75. package/dist/color/capture-color.d.ts +73 -0
  76. package/dist/color/capture-color.d.ts.map +1 -0
  77. package/dist/color/capture-color.js +145 -0
  78. package/dist/color/capture-color.js.map +1 -0
  79. package/dist/color/sensor-color-development.d.ts +23 -0
  80. package/dist/color/sensor-color-development.d.ts.map +1 -0
  81. package/dist/color/sensor-color-development.js +56 -0
  82. package/dist/color/sensor-color-development.js.map +1 -0
  83. package/dist/color/white-balance.d.ts +175 -0
  84. package/dist/color/white-balance.d.ts.map +1 -0
  85. package/dist/color/white-balance.js +606 -0
  86. package/dist/color/white-balance.js.map +1 -0
  87. package/dist/composition/image-formation-plan.d.ts +481 -0
  88. package/dist/composition/image-formation-plan.d.ts.map +1 -0
  89. package/dist/composition/image-formation-plan.js +2499 -0
  90. package/dist/composition/image-formation-plan.js.map +1 -0
  91. package/dist/composition/plan-consumer.d.ts +53 -0
  92. package/dist/composition/plan-consumer.d.ts.map +1 -0
  93. package/dist/composition/plan-consumer.js +119 -0
  94. package/dist/composition/plan-consumer.js.map +1 -0
  95. package/dist/core/calculation-result.d.ts.map +1 -1
  96. package/dist/core/calculation-result.js +6 -0
  97. package/dist/core/calculation-result.js.map +1 -1
  98. package/dist/core/canonical-json.d.ts +18 -0
  99. package/dist/core/canonical-json.d.ts.map +1 -0
  100. package/dist/core/canonical-json.js +44 -0
  101. package/dist/core/canonical-json.js.map +1 -0
  102. package/dist/core/configuration-error.d.ts +6 -0
  103. package/dist/core/configuration-error.d.ts.map +1 -1
  104. package/dist/core/configuration-error.js +6 -0
  105. package/dist/core/configuration-error.js.map +1 -1
  106. package/dist/core/evidence-provenance.d.ts +6 -0
  107. package/dist/core/evidence-provenance.d.ts.map +1 -1
  108. package/dist/core/evidence-provenance.js +7 -0
  109. package/dist/core/evidence-provenance.js.map +1 -1
  110. package/dist/core/image-formation.d.ts +9 -3
  111. package/dist/core/image-formation.d.ts.map +1 -1
  112. package/dist/core/image-formation.js +29 -5
  113. package/dist/core/image-formation.js.map +1 -1
  114. package/dist/core/owned-data.d.ts +25 -0
  115. package/dist/core/owned-data.d.ts.map +1 -0
  116. package/dist/core/owned-data.js +34 -0
  117. package/dist/core/owned-data.js.map +1 -0
  118. package/dist/core/record-validation.d.ts +17 -0
  119. package/dist/core/record-validation.d.ts.map +1 -0
  120. package/dist/core/record-validation.js +44 -0
  121. package/dist/core/record-validation.js.map +1 -0
  122. package/dist/core/scientific-assurance.d.ts +101 -0
  123. package/dist/core/scientific-assurance.d.ts.map +1 -0
  124. package/dist/core/scientific-assurance.js +301 -0
  125. package/dist/core/scientific-assurance.js.map +1 -0
  126. package/dist/core/spectral-composition.d.ts +106 -0
  127. package/dist/core/spectral-composition.d.ts.map +1 -0
  128. package/dist/core/spectral-composition.js +334 -0
  129. package/dist/core/spectral-composition.js.map +1 -0
  130. package/dist/core/spectral.d.ts +34 -0
  131. package/dist/core/spectral.d.ts.map +1 -0
  132. package/dist/core/spectral.js +57 -0
  133. package/dist/core/spectral.js.map +1 -0
  134. package/dist/core/validation.d.ts +6 -0
  135. package/dist/core/validation.d.ts.map +1 -1
  136. package/dist/core/validation.js +6 -0
  137. package/dist/core/validation.js.map +1 -1
  138. package/dist/core/version.d.ts +14 -0
  139. package/dist/core/version.d.ts.map +1 -0
  140. package/dist/core/version.js +15 -0
  141. package/dist/core/version.js.map +1 -0
  142. package/dist/equipment/exposure-capabilities.d.ts +125 -0
  143. package/dist/equipment/exposure-capabilities.d.ts.map +1 -0
  144. package/dist/equipment/exposure-capabilities.js +391 -0
  145. package/dist/equipment/exposure-capabilities.js.map +1 -0
  146. package/dist/equipment/generic-tier-assets.d.ts +82 -0
  147. package/dist/equipment/generic-tier-assets.d.ts.map +1 -0
  148. package/dist/equipment/generic-tier-assets.js +119 -0
  149. package/dist/equipment/generic-tier-assets.js.map +1 -0
  150. package/dist/equipment/generic-tier-presets.d.ts +57 -0
  151. package/dist/equipment/generic-tier-presets.d.ts.map +1 -0
  152. package/dist/equipment/generic-tier-presets.js +122 -0
  153. package/dist/equipment/generic-tier-presets.js.map +1 -0
  154. package/dist/equipment/iso-capabilities.d.ts +143 -0
  155. package/dist/equipment/iso-capabilities.d.ts.map +1 -0
  156. package/dist/equipment/iso-capabilities.js +578 -0
  157. package/dist/equipment/iso-capabilities.js.map +1 -0
  158. package/dist/equipment/metering-capabilities.d.ts +58 -0
  159. package/dist/equipment/metering-capabilities.d.ts.map +1 -0
  160. package/dist/equipment/metering-capabilities.js +151 -0
  161. package/dist/equipment/metering-capabilities.js.map +1 -0
  162. package/dist/equipment/release-capabilities.d.ts +33 -0
  163. package/dist/equipment/release-capabilities.d.ts.map +1 -0
  164. package/dist/equipment/release-capabilities.js +176 -0
  165. package/dist/equipment/release-capabilities.js.map +1 -0
  166. package/dist/exposure/exposure-duration-control.d.ts +72 -0
  167. package/dist/exposure/exposure-duration-control.d.ts.map +1 -0
  168. package/dist/exposure/exposure-duration-control.js +161 -0
  169. package/dist/exposure/exposure-duration-control.js.map +1 -0
  170. package/dist/exposure/exposure-mode-resolver.d.ts +637 -0
  171. package/dist/exposure/exposure-mode-resolver.d.ts.map +1 -0
  172. package/dist/exposure/exposure-mode-resolver.js +1905 -0
  173. package/dist/exposure/exposure-mode-resolver.js.map +1 -0
  174. package/dist/exposure/exposure.d.ts +8 -0
  175. package/dist/exposure/exposure.d.ts.map +1 -1
  176. package/dist/exposure/exposure.js +8 -0
  177. package/dist/exposure/exposure.js.map +1 -1
  178. package/dist/exposure/flash.d.ts +179 -0
  179. package/dist/exposure/flash.d.ts.map +1 -0
  180. package/dist/exposure/flash.js +644 -0
  181. package/dist/exposure/flash.js.map +1 -0
  182. package/dist/exposure/metering-scene-radiance.d.ts +72 -0
  183. package/dist/exposure/metering-scene-radiance.d.ts.map +1 -0
  184. package/dist/exposure/metering-scene-radiance.js +222 -0
  185. package/dist/exposure/metering-scene-radiance.js.map +1 -0
  186. package/dist/exposure/metering-target.d.ts +67 -0
  187. package/dist/exposure/metering-target.d.ts.map +1 -0
  188. package/dist/exposure/metering-target.js +265 -0
  189. package/dist/exposure/metering-target.js.map +1 -0
  190. package/dist/exposure/metering-temporal.d.ts +76 -0
  191. package/dist/exposure/metering-temporal.d.ts.map +1 -0
  192. package/dist/exposure/metering-temporal.js +210 -0
  193. package/dist/exposure/metering-temporal.js.map +1 -0
  194. package/dist/exposure/metering.d.ts +124 -0
  195. package/dist/exposure/metering.d.ts.map +1 -0
  196. package/dist/exposure/metering.js +422 -0
  197. package/dist/exposure/metering.js.map +1 -0
  198. package/dist/exposure/program-line.d.ts +29 -0
  199. package/dist/exposure/program-line.d.ts.map +1 -0
  200. package/dist/exposure/program-line.js +126 -0
  201. package/dist/exposure/program-line.js.map +1 -0
  202. package/dist/index.d.ts +101 -7
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +99 -7
  205. package/dist/index.js.map +1 -1
  206. package/dist/motion/camera-rotation.d.ts +76 -0
  207. package/dist/motion/camera-rotation.d.ts.map +1 -1
  208. package/dist/motion/camera-rotation.js +111 -0
  209. package/dist/motion/camera-rotation.js.map +1 -1
  210. package/dist/motion/capture-rotation-inverse-mapping.d.ts +113 -0
  211. package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -0
  212. package/dist/motion/capture-rotation-inverse-mapping.js +184 -0
  213. package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -0
  214. package/dist/motion/capture-rotation-temporal-quadrature.d.ts +104 -0
  215. package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -0
  216. package/dist/motion/capture-rotation-temporal-quadrature.js +131 -0
  217. package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -0
  218. package/dist/motion/capture-rotation-trajectory.d.ts +113 -0
  219. package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -0
  220. package/dist/motion/capture-rotation-trajectory.js +168 -0
  221. package/dist/motion/capture-rotation-trajectory.js.map +1 -0
  222. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts +119 -0
  223. package/dist/motion/capture-translation-parallax-temporal-quadrature.d.ts.map +1 -0
  224. package/dist/motion/capture-translation-parallax-temporal-quadrature.js +263 -0
  225. package/dist/motion/capture-translation-parallax-temporal-quadrature.js.map +1 -0
  226. package/dist/motion/extended-object-projection.d.ts +175 -0
  227. package/dist/motion/extended-object-projection.d.ts.map +1 -0
  228. package/dist/motion/extended-object-projection.js +402 -0
  229. package/dist/motion/extended-object-projection.js.map +1 -0
  230. package/dist/motion/projected-motion.d.ts +11 -0
  231. package/dist/motion/projected-motion.d.ts.map +1 -1
  232. package/dist/motion/projected-motion.js +11 -0
  233. package/dist/motion/projected-motion.js.map +1 -1
  234. package/dist/optics/aperture.d.ts +9 -0
  235. package/dist/optics/aperture.d.ts.map +1 -1
  236. package/dist/optics/aperture.js +9 -0
  237. package/dist/optics/aperture.js.map +1 -1
  238. package/dist/optics/circle-of-confusion.d.ts +8 -0
  239. package/dist/optics/circle-of-confusion.d.ts.map +1 -1
  240. package/dist/optics/circle-of-confusion.js +8 -0
  241. package/dist/optics/circle-of-confusion.js.map +1 -1
  242. package/dist/optics/complex-pupil-psf.d.ts +128 -0
  243. package/dist/optics/complex-pupil-psf.d.ts.map +1 -0
  244. package/dist/optics/complex-pupil-psf.js +462 -0
  245. package/dist/optics/complex-pupil-psf.js.map +1 -0
  246. package/dist/optics/depth-of-field.d.ts +18 -0
  247. package/dist/optics/depth-of-field.d.ts.map +1 -1
  248. package/dist/optics/depth-of-field.js +29 -4
  249. package/dist/optics/depth-of-field.js.map +1 -1
  250. package/dist/optics/diffraction.d.ts +8 -0
  251. package/dist/optics/diffraction.d.ts.map +1 -1
  252. package/dist/optics/diffraction.js +8 -0
  253. package/dist/optics/diffraction.js.map +1 -1
  254. package/dist/optics/focus-breathing.d.ts +13 -0
  255. package/dist/optics/focus-breathing.d.ts.map +1 -1
  256. package/dist/optics/focus-breathing.js +13 -0
  257. package/dist/optics/focus-breathing.js.map +1 -1
  258. package/dist/optics/focus-state.d.ts +47 -0
  259. package/dist/optics/focus-state.d.ts.map +1 -0
  260. package/dist/optics/focus-state.js +78 -0
  261. package/dist/optics/focus-state.js.map +1 -0
  262. package/dist/optics/front-of-lens-filter.d.ts +114 -0
  263. package/dist/optics/front-of-lens-filter.d.ts.map +1 -0
  264. package/dist/optics/front-of-lens-filter.js +468 -0
  265. package/dist/optics/front-of-lens-filter.js.map +1 -0
  266. package/dist/optics/illumination-vignetting.d.ts +9 -0
  267. package/dist/optics/illumination-vignetting.d.ts.map +1 -1
  268. package/dist/optics/illumination-vignetting.js +9 -0
  269. package/dist/optics/illumination-vignetting.js.map +1 -1
  270. package/dist/optics/lateral-chromatic-aberration.d.ts +11 -0
  271. package/dist/optics/lateral-chromatic-aberration.d.ts.map +1 -1
  272. package/dist/optics/lateral-chromatic-aberration.js +23 -4
  273. package/dist/optics/lateral-chromatic-aberration.js.map +1 -1
  274. package/dist/optics/lens-psf-profile.d.ts +217 -0
  275. package/dist/optics/lens-psf-profile.d.ts.map +1 -0
  276. package/dist/optics/lens-psf-profile.js +823 -0
  277. package/dist/optics/lens-psf-profile.js.map +1 -0
  278. package/dist/optics/polygon-diffraction.d.ts +67 -0
  279. package/dist/optics/polygon-diffraction.d.ts.map +1 -0
  280. package/dist/optics/polygon-diffraction.js +145 -0
  281. package/dist/optics/polygon-diffraction.js.map +1 -0
  282. package/dist/optics/profile-contract.d.ts +42 -0
  283. package/dist/optics/profile-contract.d.ts.map +1 -0
  284. package/dist/optics/profile-contract.js +92 -0
  285. package/dist/optics/profile-contract.js.map +1 -0
  286. package/dist/optics/psf-foundation.d.ts +16 -3
  287. package/dist/optics/psf-foundation.d.ts.map +1 -1
  288. package/dist/optics/psf-foundation.js +28 -15
  289. package/dist/optics/psf-foundation.js.map +1 -1
  290. package/dist/optics/radial-distortion.d.ts +22 -2
  291. package/dist/optics/radial-distortion.d.ts.map +1 -1
  292. package/dist/optics/radial-distortion.js +101 -23
  293. package/dist/optics/radial-distortion.js.map +1 -1
  294. package/dist/optics/scene-to-sensor-irradiance.d.ts +213 -0
  295. package/dist/optics/scene-to-sensor-irradiance.d.ts.map +1 -0
  296. package/dist/optics/scene-to-sensor-irradiance.js +662 -0
  297. package/dist/optics/scene-to-sensor-irradiance.js.map +1 -0
  298. package/dist/optics/scene-to-sensor-quadrature.d.ts +63 -0
  299. package/dist/optics/scene-to-sensor-quadrature.d.ts.map +1 -0
  300. package/dist/optics/scene-to-sensor-quadrature.js +82 -0
  301. package/dist/optics/scene-to-sensor-quadrature.js.map +1 -0
  302. package/dist/optics/sensor-environment-query.d.ts +60 -0
  303. package/dist/optics/sensor-environment-query.d.ts.map +1 -0
  304. package/dist/optics/sensor-environment-query.js +50 -0
  305. package/dist/optics/sensor-environment-query.js.map +1 -0
  306. package/dist/optics/sensor-psf-quadrature.d.ts +70 -0
  307. package/dist/optics/sensor-psf-quadrature.d.ts.map +1 -0
  308. package/dist/optics/sensor-psf-quadrature.js +101 -0
  309. package/dist/optics/sensor-psf-quadrature.js.map +1 -0
  310. package/dist/optics/sensor-psf-support.d.ts +20 -0
  311. package/dist/optics/sensor-psf-support.d.ts.map +1 -0
  312. package/dist/optics/sensor-psf-support.js +13 -0
  313. package/dist/optics/sensor-psf-support.js.map +1 -0
  314. package/dist/optics/stray-light.d.ts +91 -0
  315. package/dist/optics/stray-light.d.ts.map +1 -0
  316. package/dist/optics/stray-light.js +110 -0
  317. package/dist/optics/stray-light.js.map +1 -0
  318. package/dist/optics/thin-lens.d.ts +8 -0
  319. package/dist/optics/thin-lens.d.ts.map +1 -1
  320. package/dist/optics/thin-lens.js +8 -0
  321. package/dist/optics/thin-lens.js.map +1 -1
  322. package/dist/output/capture-corrected-sdr.d.ts +49 -0
  323. package/dist/output/capture-corrected-sdr.d.ts.map +1 -0
  324. package/dist/output/capture-corrected-sdr.js +149 -0
  325. package/dist/output/capture-corrected-sdr.js.map +1 -0
  326. package/dist/output/capture-geometry.d.ts.map +1 -1
  327. package/dist/output/capture-geometry.js +32 -11
  328. package/dist/output/capture-geometry.js.map +1 -1
  329. package/dist/output/capture-sdr.d.ts +49 -0
  330. package/dist/output/capture-sdr.d.ts.map +1 -0
  331. package/dist/output/capture-sdr.js +90 -0
  332. package/dist/output/capture-sdr.js.map +1 -0
  333. package/dist/output/crop.d.ts +6 -0
  334. package/dist/output/crop.d.ts.map +1 -1
  335. package/dist/output/crop.js +6 -0
  336. package/dist/output/crop.js.map +1 -1
  337. package/dist/output/geometric-transforms.d.ts +137 -0
  338. package/dist/output/geometric-transforms.d.ts.map +1 -0
  339. package/dist/output/geometric-transforms.js +225 -0
  340. package/dist/output/geometric-transforms.js.map +1 -0
  341. package/dist/output/lens-corrections.d.ts +121 -0
  342. package/dist/output/lens-corrections.d.ts.map +1 -0
  343. package/dist/output/lens-corrections.js +210 -0
  344. package/dist/output/lens-corrections.js.map +1 -0
  345. package/dist/output/sdr-rendering.d.ts +81 -0
  346. package/dist/output/sdr-rendering.d.ts.map +1 -0
  347. package/dist/output/sdr-rendering.js +106 -0
  348. package/dist/output/sdr-rendering.js.map +1 -0
  349. package/dist/output/subject-framing-crop.d.ts +8 -0
  350. package/dist/output/subject-framing-crop.d.ts.map +1 -1
  351. package/dist/output/subject-framing-crop.js +8 -0
  352. package/dist/output/subject-framing-crop.js.map +1 -1
  353. package/dist/schema/camera.d.ts +6 -0
  354. package/dist/schema/camera.d.ts.map +1 -1
  355. package/dist/schema/illumination-spectral.d.ts +51 -0
  356. package/dist/schema/illumination-spectral.d.ts.map +1 -0
  357. package/dist/schema/illumination-spectral.js +132 -0
  358. package/dist/schema/illumination-spectral.js.map +1 -0
  359. package/dist/schema/illumination-temporal.d.ts +156 -0
  360. package/dist/schema/illumination-temporal.d.ts.map +1 -0
  361. package/dist/schema/illumination-temporal.js +554 -0
  362. package/dist/schema/illumination-temporal.js.map +1 -0
  363. package/dist/schema/illumination.d.ts +138 -0
  364. package/dist/schema/illumination.d.ts.map +1 -0
  365. package/dist/schema/illumination.js +483 -0
  366. package/dist/schema/illumination.js.map +1 -0
  367. package/dist/schema/scene-radiance-temporal.d.ts +107 -0
  368. package/dist/schema/scene-radiance-temporal.d.ts.map +1 -0
  369. package/dist/schema/scene-radiance-temporal.js +259 -0
  370. package/dist/schema/scene-radiance-temporal.js.map +1 -0
  371. package/dist/schema/scene-radiance.d.ts +185 -0
  372. package/dist/schema/scene-radiance.d.ts.map +1 -0
  373. package/dist/schema/scene-radiance.js +535 -0
  374. package/dist/schema/scene-radiance.js.map +1 -0
  375. package/dist/schema/scene.d.ts +7 -0
  376. package/dist/schema/scene.d.ts.map +1 -1
  377. package/dist/schema/validation.d.ts.map +1 -1
  378. package/dist/schema/validation.js +7 -0
  379. package/dist/schema/validation.js.map +1 -1
  380. package/dist/sensor/accumulated-charge.d.ts +199 -0
  381. package/dist/sensor/accumulated-charge.d.ts.map +1 -0
  382. package/dist/sensor/accumulated-charge.js +450 -0
  383. package/dist/sensor/accumulated-charge.js.map +1 -0
  384. package/dist/sensor/architecture.d.ts +48 -13
  385. package/dist/sensor/architecture.d.ts.map +1 -1
  386. package/dist/sensor/architecture.js +58 -16
  387. package/dist/sensor/architecture.js.map +1 -1
  388. package/dist/sensor/camera-saturation-capacity.d.ts +138 -0
  389. package/dist/sensor/camera-saturation-capacity.d.ts.map +1 -0
  390. package/dist/sensor/camera-saturation-capacity.js +356 -0
  391. package/dist/sensor/camera-saturation-capacity.js.map +1 -0
  392. package/dist/sensor/capture-color-sampling-binding.d.ts +212 -0
  393. package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -0
  394. package/dist/sensor/capture-color-sampling-binding.js +437 -0
  395. package/dist/sensor/capture-color-sampling-binding.js.map +1 -0
  396. package/dist/sensor/capture-mode-timing.d.ts +63 -0
  397. package/dist/sensor/capture-mode-timing.d.ts.map +1 -0
  398. package/dist/sensor/capture-mode-timing.js +270 -0
  399. package/dist/sensor/capture-mode-timing.js.map +1 -0
  400. package/dist/sensor/capture-mode.d.ts +157 -0
  401. package/dist/sensor/capture-mode.d.ts.map +1 -0
  402. package/dist/sensor/capture-mode.js +447 -0
  403. package/dist/sensor/capture-mode.js.map +1 -0
  404. package/dist/sensor/color-sampling.d.ts +133 -0
  405. package/dist/sensor/color-sampling.d.ts.map +1 -0
  406. package/dist/sensor/color-sampling.js +245 -0
  407. package/dist/sensor/color-sampling.js.map +1 -0
  408. package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
  409. package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
  410. package/dist/sensor/constant-rate-temporal-integration.js +382 -0
  411. package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
  412. package/dist/sensor/dark-current.d.ts +169 -0
  413. package/dist/sensor/dark-current.d.ts.map +1 -0
  414. package/dist/sensor/dark-current.js +427 -0
  415. package/dist/sensor/dark-current.js.map +1 -0
  416. package/dist/sensor/environment-photo-signal.d.ts +123 -0
  417. package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
  418. package/dist/sensor/environment-photo-signal.js +186 -0
  419. package/dist/sensor/environment-photo-signal.js.map +1 -0
  420. package/dist/sensor/eqe-electron-rate.d.ts +107 -0
  421. package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
  422. package/dist/sensor/eqe-electron-rate.js +561 -0
  423. package/dist/sensor/eqe-electron-rate.js.map +1 -0
  424. package/dist/sensor/eqe-local-exposure.d.ts +65 -0
  425. package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
  426. package/dist/sensor/eqe-local-exposure.js +84 -0
  427. package/dist/sensor/eqe-local-exposure.js.map +1 -0
  428. package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
  429. package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
  430. package/dist/sensor/eqe-temporal-exposure.js +62 -0
  431. package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
  432. package/dist/sensor/exposure-window.d.ts +117 -0
  433. package/dist/sensor/exposure-window.d.ts.map +1 -0
  434. package/dist/sensor/exposure-window.js +305 -0
  435. package/dist/sensor/exposure-window.js.map +1 -0
  436. package/dist/sensor/iso-signal-chain.d.ts +148 -0
  437. package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
  438. package/dist/sensor/iso-signal-chain.js +411 -0
  439. package/dist/sensor/iso-signal-chain.js.map +1 -0
  440. package/dist/sensor/local-exposure-binding.d.ts +87 -0
  441. package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
  442. package/dist/sensor/local-exposure-binding.js +214 -0
  443. package/dist/sensor/local-exposure-binding.js.map +1 -0
  444. package/dist/sensor/optical-stack.d.ts +132 -0
  445. package/dist/sensor/optical-stack.d.ts.map +1 -0
  446. package/dist/sensor/optical-stack.js +303 -0
  447. package/dist/sensor/optical-stack.js.map +1 -0
  448. package/dist/sensor/photon-energy.d.ts +97 -0
  449. package/dist/sensor/photon-energy.d.ts.map +1 -0
  450. package/dist/sensor/photon-energy.js +390 -0
  451. package/dist/sensor/photon-energy.js.map +1 -0
  452. package/dist/sensor/physical-charge-capacity.d.ts +130 -0
  453. package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
  454. package/dist/sensor/physical-charge-capacity.js +345 -0
  455. package/dist/sensor/physical-charge-capacity.js.map +1 -0
  456. package/dist/sensor/pixel-pitch.d.ts +6 -0
  457. package/dist/sensor/pixel-pitch.d.ts.map +1 -1
  458. package/dist/sensor/pixel-pitch.js +6 -0
  459. package/dist/sensor/pixel-pitch.js.map +1 -1
  460. package/dist/sensor/radiometry-readiness.d.ts +10 -0
  461. package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
  462. package/dist/sensor/radiometry-readiness.js +10 -0
  463. package/dist/sensor/radiometry-readiness.js.map +1 -1
  464. package/dist/sensor/raw-readout.d.ts +314 -0
  465. package/dist/sensor/raw-readout.d.ts.map +1 -0
  466. package/dist/sensor/raw-readout.js +914 -0
  467. package/dist/sensor/raw-readout.js.map +1 -0
  468. package/dist/sensor/raw-reconstruction.d.ts +170 -0
  469. package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
  470. package/dist/sensor/raw-reconstruction.js +424 -0
  471. package/dist/sensor/raw-reconstruction.js.map +1 -0
  472. package/dist/sensor/readout-exposure-linkage.d.ts +123 -0
  473. package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -0
  474. package/dist/sensor/readout-exposure-linkage.js +222 -0
  475. package/dist/sensor/readout-exposure-linkage.js.map +1 -0
  476. package/dist/sensor/readout-timing.d.ts +137 -0
  477. package/dist/sensor/readout-timing.d.ts.map +1 -0
  478. package/dist/sensor/readout-timing.js +243 -0
  479. package/dist/sensor/readout-timing.js.map +1 -0
  480. package/dist/sensor/response-application-compatibility.d.ts +136 -0
  481. package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
  482. package/dist/sensor/response-application-compatibility.js +408 -0
  483. package/dist/sensor/response-application-compatibility.js.map +1 -0
  484. package/dist/sensor/response-operating-range.d.ts +173 -0
  485. package/dist/sensor/response-operating-range.d.ts.map +1 -0
  486. package/dist/sensor/response-operating-range.js +672 -0
  487. package/dist/sensor/response-operating-range.js.map +1 -0
  488. package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
  489. package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
  490. package/dist/sensor/responsivity-photocurrent.js +644 -0
  491. package/dist/sensor/responsivity-photocurrent.js.map +1 -0
  492. package/dist/sensor/sampling-aperture.d.ts +154 -0
  493. package/dist/sensor/sampling-aperture.d.ts.map +1 -0
  494. package/dist/sensor/sampling-aperture.js +388 -0
  495. package/dist/sensor/sampling-aperture.js.map +1 -0
  496. package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
  497. package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
  498. package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
  499. package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
  500. package/dist/sensor/sensor-geometry.d.ts +12 -0
  501. package/dist/sensor/sensor-geometry.d.ts.map +1 -1
  502. package/dist/sensor/sensor-geometry.js +12 -0
  503. package/dist/sensor/sensor-geometry.js.map +1 -1
  504. package/dist/sensor/signal-noise.d.ts +10 -0
  505. package/dist/sensor/signal-noise.d.ts.map +1 -1
  506. package/dist/sensor/signal-noise.js +10 -0
  507. package/dist/sensor/signal-noise.js.map +1 -1
  508. package/dist/sensor/spatial-sample-reduction.d.ts +171 -0
  509. package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -0
  510. package/dist/sensor/spatial-sample-reduction.js +345 -0
  511. package/dist/sensor/spatial-sample-reduction.js.map +1 -0
  512. package/dist/sensor/spatial-sampling-quadrature.d.ts +179 -0
  513. package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -0
  514. package/dist/sensor/spatial-sampling-quadrature.js +224 -0
  515. package/dist/sensor/spatial-sampling-quadrature.js.map +1 -0
  516. package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
  517. package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
  518. package/dist/sensor/spatio-spectral-reduction.js +373 -0
  519. package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
  520. package/dist/sensor/spectral-coverage.d.ts +24 -0
  521. package/dist/sensor/spectral-coverage.d.ts.map +1 -0
  522. package/dist/sensor/spectral-coverage.js +86 -0
  523. package/dist/sensor/spectral-coverage.js.map +1 -0
  524. package/dist/sensor/spectral-quadrature.d.ts +169 -0
  525. package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
  526. package/dist/sensor/spectral-quadrature.js +542 -0
  527. package/dist/sensor/spectral-quadrature.js.map +1 -0
  528. package/dist/sensor/spectral-response.d.ts +192 -0
  529. package/dist/sensor/spectral-response.d.ts.map +1 -0
  530. package/dist/sensor/spectral-response.js +664 -0
  531. package/dist/sensor/spectral-response.js.map +1 -0
  532. package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
  533. package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
  534. package/dist/sensor/temporal-eqe-sum.js +30 -0
  535. package/dist/sensor/temporal-eqe-sum.js.map +1 -0
  536. package/dist/sensor/temporal-photo-signal.d.ts +38 -0
  537. package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
  538. package/dist/sensor/temporal-photo-signal.js +110 -0
  539. package/dist/sensor/temporal-photo-signal.js.map +1 -0
  540. package/dist/sensor/temporal-sample-binding.d.ts +6 -0
  541. package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
  542. package/dist/sensor/temporal-sample-binding.js +32 -0
  543. package/dist/sensor/temporal-sample-binding.js.map +1 -0
  544. package/dist/simulation/poc-simulation.d.ts.map +1 -1
  545. package/dist/simulation/poc-simulation.js +34 -11
  546. package/dist/simulation/poc-simulation.js.map +1 -1
  547. package/dist/stabilization/camera-shake.d.ts +11 -0
  548. package/dist/stabilization/camera-shake.d.ts.map +1 -1
  549. package/dist/stabilization/camera-shake.js +11 -0
  550. package/dist/stabilization/camera-shake.js.map +1 -1
  551. package/dist/stabilization/system.d.ts +218 -0
  552. package/dist/stabilization/system.d.ts.map +1 -0
  553. package/dist/stabilization/system.js +695 -0
  554. package/dist/stabilization/system.js.map +1 -0
  555. package/docs/API_REFERENCE.md +2017 -0
  556. package/docs/API_STYLE.md +132 -0
  557. package/docs/ARCHITECTURE.md +150 -23
  558. package/docs/AUTOMATION_COORDINATION.md +190 -0
  559. package/docs/CAPTURE_COLOR.md +25 -0
  560. package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
  561. package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
  562. package/docs/CAPTURE_SDR.md +20 -0
  563. package/docs/DEVELOPERS.md +60 -0
  564. package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
  565. package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
  566. package/docs/EXPORT_ACCEPTANCE.md +133 -0
  567. package/docs/GENERIC_TIER_PRESETS.md +269 -0
  568. package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
  569. package/docs/IMAGE_FORMATION.md +105 -9
  570. package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
  571. package/docs/MOTION_AND_SIGNAL.md +145 -1
  572. package/docs/NUMERICAL_CORRECTNESS.md +191 -0
  573. package/docs/PERFORMANCE_BASELINE.md +56 -0
  574. package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
  575. package/docs/PHYSICS_FOUNDATION.md +152 -5
  576. package/docs/POC_API.md +2 -0
  577. package/docs/POC_PROJECTION_REUSE.md +124 -0
  578. package/docs/PROCESSED_OUTPUT.md +157 -0
  579. package/docs/PRODUCTION_COMPOSITION.md +373 -0
  580. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
  581. package/docs/PROVENANCE.md +4 -0
  582. package/docs/PSF_FOUNDATION.md +110 -88
  583. package/docs/RAW_FRAME_ENVELOPE.md +56 -0
  584. package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
  585. package/docs/RELEASE_1_0.md +65 -0
  586. package/docs/RELEASE_AUDIT.md +38 -0
  587. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
  588. package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
  589. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
  590. package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
  591. package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
  592. package/docs/SDR_RENDERING.md +33 -0
  593. package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
  594. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
  595. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
  596. package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
  597. package/docs/SENSOR_RAW_FRAME.md +20 -0
  598. package/docs/SENSOR_RAW_PRODUCER.md +77 -0
  599. package/docs/SIGNAL_CONFORMANCE.md +23 -0
  600. package/docs/SIMULATED_CAPTURE.md +65 -0
  601. package/docs/STABILIZATION.md +160 -17
  602. package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
  603. package/docs/TIER_ACCEPTANCE.md +129 -0
  604. package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
  605. package/docs/USAGE.md +5604 -331
  606. package/docs/V1_COMPOSITION_MAP.md +123 -0
  607. package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
  608. package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
  609. package/docs/api/camera-equivalent-focal-length.md +53 -0
  610. package/docs/api/camera-field-of-view.md +119 -0
  611. package/docs/api/camera-projected-object-size.md +54 -0
  612. package/docs/api/capture-capture-export-metadata.md +107 -0
  613. package/docs/api/capture-environment-raw-producer.md +56 -0
  614. package/docs/api/capture-focus-control.md +419 -0
  615. package/docs/api/capture-linear-encoding.md +99 -0
  616. package/docs/api/capture-photographic-export.md +172 -0
  617. package/docs/api/capture-raw-frame-reconstruction.md +87 -0
  618. package/docs/api/capture-release-sequence.md +252 -0
  619. package/docs/api/capture-sensor-raw-frame.md +66 -0
  620. package/docs/api/capture-sensor-raw-producer.md +98 -0
  621. package/docs/api/capture-simulated-capture.md +179 -0
  622. package/docs/api/color-capture-color.md +122 -0
  623. package/docs/api/color-white-balance.md +386 -0
  624. package/docs/api/composition-image-formation-plan.md +825 -0
  625. package/docs/api/composition-plan-consumer.md +98 -0
  626. package/docs/api/core-calculation-result.md +220 -0
  627. package/docs/api/core-configuration-error.md +19 -0
  628. package/docs/api/core-image-formation.md +204 -0
  629. package/docs/api/core-scientific-assurance.md +214 -0
  630. package/docs/api/core-spectral-composition.md +268 -0
  631. package/docs/api/core-spectral.md +78 -0
  632. package/docs/api/core-validation.md +34 -0
  633. package/docs/api/core-version.md +14 -0
  634. package/docs/api/equipment-exposure-capabilities.md +270 -0
  635. package/docs/api/equipment-generic-tier-assets.md +82 -0
  636. package/docs/api/equipment-generic-tier-presets.md +103 -0
  637. package/docs/api/equipment-iso-capabilities.md +295 -0
  638. package/docs/api/equipment-metering-capabilities.md +126 -0
  639. package/docs/api/equipment-release-capabilities.md +91 -0
  640. package/docs/api/exports.json +5656 -0
  641. package/docs/api/exposure-exposure-duration-control.md +115 -0
  642. package/docs/api/exposure-exposure-mode-resolver.md +966 -0
  643. package/docs/api/exposure-exposure.md +150 -0
  644. package/docs/api/exposure-flash.md +327 -0
  645. package/docs/api/exposure-metering-scene-radiance.md +154 -0
  646. package/docs/api/exposure-metering-target.md +134 -0
  647. package/docs/api/exposure-metering-temporal.md +77 -0
  648. package/docs/api/exposure-metering.md +172 -0
  649. package/docs/api/exposure-program-line.md +64 -0
  650. package/docs/api/motion-camera-rotation.md +215 -0
  651. package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
  652. package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
  653. package/docs/api/motion-capture-rotation-trajectory.md +132 -0
  654. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
  655. package/docs/api/motion-extended-object-projection.md +312 -0
  656. package/docs/api/motion-projected-motion.md +60 -0
  657. package/docs/api/optics-aperture.md +69 -0
  658. package/docs/api/optics-circle-of-confusion.md +46 -0
  659. package/docs/api/optics-complex-pupil-psf.md +193 -0
  660. package/docs/api/optics-depth-of-field.md +92 -0
  661. package/docs/api/optics-diffraction.md +46 -0
  662. package/docs/api/optics-focus-breathing.md +119 -0
  663. package/docs/api/optics-focus-state.md +64 -0
  664. package/docs/api/optics-front-of-lens-filter.md +263 -0
  665. package/docs/api/optics-illumination-vignetting.md +95 -0
  666. package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
  667. package/docs/api/optics-lens-psf-profile.md +380 -0
  668. package/docs/api/optics-polygon-diffraction.md +68 -0
  669. package/docs/api/optics-profile-contract.md +47 -0
  670. package/docs/api/optics-psf-foundation.md +181 -0
  671. package/docs/api/optics-radial-distortion.md +194 -0
  672. package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
  673. package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
  674. package/docs/api/optics-sensor-environment-query.md +58 -0
  675. package/docs/api/optics-sensor-psf-quadrature.md +81 -0
  676. package/docs/api/optics-stray-light.md +109 -0
  677. package/docs/api/optics-thin-lens.md +53 -0
  678. package/docs/api/output-capture-corrected-sdr.md +71 -0
  679. package/docs/api/output-capture-geometry.md +500 -0
  680. package/docs/api/output-capture-sdr.md +69 -0
  681. package/docs/api/output-crop.md +47 -0
  682. package/docs/api/output-geometric-transforms.md +199 -0
  683. package/docs/api/output-lens-corrections.md +162 -0
  684. package/docs/api/output-sdr-rendering.md +122 -0
  685. package/docs/api/output-subject-framing-crop.md +59 -0
  686. package/docs/api/schema-camera.md +84 -0
  687. package/docs/api/schema-illumination-spectral.md +77 -0
  688. package/docs/api/schema-illumination-temporal.md +289 -0
  689. package/docs/api/schema-illumination.md +246 -0
  690. package/docs/api/schema-scene-radiance-temporal.md +215 -0
  691. package/docs/api/schema-scene-radiance.md +415 -0
  692. package/docs/api/schema-scene.md +105 -0
  693. package/docs/api/schema-validation.md +25 -0
  694. package/docs/api/sensor-accumulated-charge.md +273 -0
  695. package/docs/api/sensor-architecture.md +155 -0
  696. package/docs/api/sensor-camera-saturation-capacity.md +215 -0
  697. package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
  698. package/docs/api/sensor-capture-mode-timing.md +123 -0
  699. package/docs/api/sensor-capture-mode.md +321 -0
  700. package/docs/api/sensor-color-sampling.md +228 -0
  701. package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
  702. package/docs/api/sensor-dark-current.md +227 -0
  703. package/docs/api/sensor-environment-photo-signal.md +77 -0
  704. package/docs/api/sensor-eqe-electron-rate.md +166 -0
  705. package/docs/api/sensor-eqe-local-exposure.md +68 -0
  706. package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
  707. package/docs/api/sensor-exposure-window.md +183 -0
  708. package/docs/api/sensor-iso-signal-chain.md +264 -0
  709. package/docs/api/sensor-local-exposure-binding.md +126 -0
  710. package/docs/api/sensor-optical-stack.md +211 -0
  711. package/docs/api/sensor-photon-energy.md +149 -0
  712. package/docs/api/sensor-physical-charge-capacity.md +196 -0
  713. package/docs/api/sensor-pixel-pitch.md +41 -0
  714. package/docs/api/sensor-radiometry-readiness.md +240 -0
  715. package/docs/api/sensor-raw-readout.md +499 -0
  716. package/docs/api/sensor-raw-reconstruction.md +260 -0
  717. package/docs/api/sensor-readout-exposure-linkage.md +172 -0
  718. package/docs/api/sensor-readout-timing.md +209 -0
  719. package/docs/api/sensor-response-application-compatibility.md +256 -0
  720. package/docs/api/sensor-response-operating-range.md +293 -0
  721. package/docs/api/sensor-responsivity-photocurrent.md +245 -0
  722. package/docs/api/sensor-sampling-aperture.md +221 -0
  723. package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
  724. package/docs/api/sensor-sensor-geometry.md +143 -0
  725. package/docs/api/sensor-signal-noise.md +75 -0
  726. package/docs/api/sensor-spatial-sample-reduction.md +186 -0
  727. package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
  728. package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
  729. package/docs/api/sensor-spectral-coverage.md +33 -0
  730. package/docs/api/sensor-spectral-quadrature.md +183 -0
  731. package/docs/api/sensor-spectral-response.md +291 -0
  732. package/docs/api/sensor-temporal-photo-signal.md +62 -0
  733. package/docs/api/simulation-poc-simulation.md +364 -0
  734. package/docs/api/stabilization-camera-shake.md +71 -0
  735. package/docs/api/stabilization-system.md +442 -0
  736. package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
  737. package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
  738. package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
  739. package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
  740. package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
  741. package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
  742. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
  743. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
  744. package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
  745. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
  746. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
  747. package/docs/examples/production-capture.mjs +34 -0
  748. package/docs/examples/production-request.json +4613 -0
  749. package/docs/examples/quick-start.mjs +12 -0
  750. package/docs/validation/documentation-fragments.json +212 -0
  751. package/docs/validation/release-audit-inventory.json +1306 -0
  752. package/docs/validation/tier-acceptance-report-v1.json +2538 -0
  753. package/package.json +18 -4
@@ -0,0 +1,437 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Module boundary and integration notes.
4
+ * Parses the explicit relationship between the canonical native effective image raster and the
5
+ * separate native sensor color-sampling-site lattice. This first binding supports only regular
6
+ * rectangular site blocks with a shared native top-left anchor. Irregular mappings, sparse exceptions
7
+ * and mode-specific declared-effective rasters require later explicit contracts.
8
+ * Validates and resolves the sensor-level binding between NativeImageRaster and an exact
9
+ * monochrome/periodic color-sampling topology. Matching dimensions are never treated as proof of a 1:1
10
+ * relationship. The relationship exists only because the caller supplied this evidence-backed binding
11
+ * profile.
12
+ * @see docs/MOTION_AND_SIGNAL.md for equations, coordinate/unit conventions, blockers and support
13
+ * limits.
14
+ */
15
+ import { InvalidConfigurationError } from "../core/configuration-error.js";
16
+ import { parseEvidenceList } from "../core/evidence-provenance.js";
17
+ import { InvalidScientificInputError, requirePositiveInteger } from "../core/validation.js";
18
+ import { resolveCaptureMode } from "./capture-mode.js";
19
+ import { parseSensorColorSamplingProfile } from "./color-sampling.js";
20
+ function requireRecord(value, path) {
21
+ if (typeof value !== "object" ||
22
+ value === null ||
23
+ Array.isArray(value)) {
24
+ throw new InvalidConfigurationError(path + " must be an object.");
25
+ }
26
+ return value;
27
+ }
28
+ function requireNonEmptyString(value, path) {
29
+ if (typeof value !== "string" ||
30
+ value.trim().length === 0) {
31
+ throw new InvalidConfigurationError(path + " must be a non-empty string.");
32
+ }
33
+ return value;
34
+ }
35
+ function requirePositiveSafeInteger(value, path) {
36
+ if (typeof value !== "number" ||
37
+ !Number.isSafeInteger(value) ||
38
+ value <= 0) {
39
+ throw new InvalidConfigurationError(path + " must be a positive safe integer.");
40
+ }
41
+ return value;
42
+ }
43
+ function parseBoundNativeRaster(value) {
44
+ const nativeRaster = requireRecord(value, "colorSamplingBinding.nativeRaster");
45
+ const pixelWidth = requirePositiveSafeInteger(nativeRaster.pixelWidth, "colorSamplingBinding.nativeRaster.pixelWidth");
46
+ const pixelHeight = requirePositiveSafeInteger(nativeRaster.pixelHeight, "colorSamplingBinding.nativeRaster.pixelHeight");
47
+ if (!Number.isSafeInteger(pixelWidth * pixelHeight)) {
48
+ throw new InvalidConfigurationError("colorSamplingBinding.nativeRaster total image-sample count must be a safe integer.");
49
+ }
50
+ return {
51
+ pixelWidth,
52
+ pixelHeight
53
+ };
54
+ }
55
+ function safeProduct(values, path) {
56
+ let result = 1;
57
+ for (const value of values) {
58
+ result *= value;
59
+ if (!Number.isSafeInteger(result)) {
60
+ throw new InvalidScientificInputError(path + " must remain a safe integer.");
61
+ }
62
+ }
63
+ return result;
64
+ }
65
+ function validateNativeRaster(raster) {
66
+ requirePositiveInteger("nativeRaster.pixelWidth", raster.pixelWidth);
67
+ requirePositiveInteger("nativeRaster.pixelHeight", raster.pixelHeight);
68
+ safeProduct([raster.pixelWidth, raster.pixelHeight], "nativeRaster total image-sample count");
69
+ }
70
+ function requireFullFrameSampleIndex(value, path) {
71
+ if (typeof value !== "number" ||
72
+ !Number.isSafeInteger(value) ||
73
+ value < 0) {
74
+ throw new InvalidScientificInputError(path +
75
+ " must be a non-negative safe integer full-frame mode sample index.");
76
+ }
77
+ return value;
78
+ }
79
+ /**
80
+ * Parses the explicit relationship between the canonical native effective image
81
+ * raster and the separate native sensor color-sampling-site lattice.
82
+ *
83
+ * This first binding supports only regular rectangular site blocks with a
84
+ * shared native top-left anchor. Irregular mappings, sparse exceptions and
85
+ * mode-specific declared-effective rasters require later explicit contracts.
86
+ */
87
+ export function parseNativeEffectiveRasterColorSamplingBindingProfile(value) {
88
+ const profile = requireRecord(value, "colorSamplingBinding");
89
+ if (profile.schemaVersion !== "0.1.0") {
90
+ throw new InvalidConfigurationError('colorSamplingBinding.schemaVersion must be "0.1.0".');
91
+ }
92
+ const relationship = requireRecord(profile.relationship, "colorSamplingBinding.relationship");
93
+ if (relationship.kind !==
94
+ "regular-native-effective-sample-blocks") {
95
+ throw new InvalidConfigurationError("colorSamplingBinding.relationship.kind is invalid.");
96
+ }
97
+ if (relationship.anchor !==
98
+ "shared-native-top-left") {
99
+ throw new InvalidConfigurationError('colorSamplingBinding.relationship.anchor must be "shared-native-top-left".');
100
+ }
101
+ return {
102
+ schemaVersion: "0.1.0",
103
+ bindingId: requireNonEmptyString(profile.bindingId, "colorSamplingBinding.bindingId"),
104
+ colorSamplingProfileId: requireNonEmptyString(profile.colorSamplingProfileId, "colorSamplingBinding.colorSamplingProfileId"),
105
+ nativeRaster: parseBoundNativeRaster(profile.nativeRaster),
106
+ evidence: parseEvidenceList(profile.evidence, "colorSamplingBinding.evidence"),
107
+ relationship: {
108
+ kind: "regular-native-effective-sample-blocks",
109
+ sitesPerNativeSampleX: requirePositiveSafeInteger(relationship.sitesPerNativeSampleX, "colorSamplingBinding.relationship.sitesPerNativeSampleX"),
110
+ sitesPerNativeSampleY: requirePositiveSafeInteger(relationship.sitesPerNativeSampleY, "colorSamplingBinding.relationship.sitesPerNativeSampleY"),
111
+ anchor: "shared-native-top-left"
112
+ }
113
+ };
114
+ }
115
+ /**
116
+ * Validates and resolves the sensor-level binding between NativeImageRaster and
117
+ * an exact monochrome/periodic color-sampling topology.
118
+ *
119
+ * Matching dimensions are never treated as proof of a 1:1 relationship. The
120
+ * relationship exists only because the caller supplied this evidence-backed
121
+ * binding profile.
122
+ */
123
+ export function resolveNativeEffectiveRasterColorSamplingBinding(input) {
124
+ validateNativeRaster(input.nativeRaster);
125
+ const colorSamplingProfile = parseSensorColorSamplingProfile(input.colorSamplingProfile);
126
+ const bindingProfile = parseNativeEffectiveRasterColorSamplingBindingProfile(input.bindingProfile);
127
+ if (bindingProfile.colorSamplingProfileId !==
128
+ colorSamplingProfile.profileId) {
129
+ throw new InvalidScientificInputError("Binding colorSamplingProfileId must match colorSamplingProfile.profileId.");
130
+ }
131
+ if (bindingProfile.nativeRaster.pixelWidth !==
132
+ input.nativeRaster.pixelWidth ||
133
+ bindingProfile.nativeRaster.pixelHeight !==
134
+ input.nativeRaster.pixelHeight) {
135
+ throw new InvalidScientificInputError("Binding nativeRaster must exactly match the supplied canonical native effective raster.");
136
+ }
137
+ if (colorSamplingProfile.layout.kind === "layered") {
138
+ throw new InvalidScientificInputError("Layered color sampling cannot be bound to NativeImageRaster until its per-layer spatial sampling relationship is explicitly modeled.");
139
+ }
140
+ if (colorSamplingProfile.coordinateSystem !==
141
+ "native-sensor-color-sampling-site-index") {
142
+ throw new InvalidScientificInputError("Resolvable color sampling binding requires the native sensor color-sampling-site coordinate system.");
143
+ }
144
+ const widthSites = safeProduct([
145
+ input.nativeRaster.pixelWidth,
146
+ bindingProfile.relationship
147
+ .sitesPerNativeSampleX
148
+ ], "color-sampling site-grid width");
149
+ const heightSites = safeProduct([
150
+ input.nativeRaster.pixelHeight,
151
+ bindingProfile.relationship
152
+ .sitesPerNativeSampleY
153
+ ], "color-sampling site-grid height");
154
+ const totalColorSamplingSites = safeProduct([widthSites, heightSites], "color-sampling site-grid total site count");
155
+ const oneToOne = bindingProfile.relationship
156
+ .sitesPerNativeSampleX === 1 &&
157
+ bindingProfile.relationship
158
+ .sitesPerNativeSampleY === 1;
159
+ return {
160
+ bindingId: bindingProfile.bindingId,
161
+ colorSamplingProfileId: bindingProfile.colorSamplingProfileId,
162
+ nativeRaster: {
163
+ ...input.nativeRaster
164
+ },
165
+ relationshipMeaning: oneToOne
166
+ ? "one-native-effective-sample-to-one-color-site"
167
+ : "one-native-effective-sample-to-rectangular-color-site-block",
168
+ relationship: {
169
+ ...bindingProfile.relationship
170
+ },
171
+ colorSamplingSiteGrid: {
172
+ widthSites,
173
+ heightSites
174
+ },
175
+ totalColorSamplingSites,
176
+ nativeImageRasterBindingEstablished: true,
177
+ physicalPhotodiodeBindingEstablished: false,
178
+ physicalPhotodiodeCountInference: "not-permitted",
179
+ spectralResponseEstablished: false,
180
+ componentEvidence: {
181
+ binding: bindingProfile.evidence,
182
+ colorSamplingProfile: colorSamplingProfile.evidence
183
+ }
184
+ };
185
+ }
186
+ function countResidueInRange(start, length, period, residue) {
187
+ const startResidue = start % period;
188
+ const delta = (residue - startResidue + period) %
189
+ period;
190
+ if (delta >= length) {
191
+ return 0;
192
+ }
193
+ return (1 +
194
+ Math.floor((length - 1 - delta) / period));
195
+ }
196
+ function channelCountsForSiteRect(profile, rect) {
197
+ const totalSites = safeProduct([rect.width, rect.height], "color-sampling contributor site count");
198
+ if (profile.layout.kind === "layered") {
199
+ throw new InvalidScientificInputError("Layered color sampling does not have resolvable site contributors in schema 0.1.0.");
200
+ }
201
+ if (profile.layout.kind === "monochrome") {
202
+ return [
203
+ {
204
+ channelId: profile.layout.channelId,
205
+ siteCount: totalSites
206
+ }
207
+ ];
208
+ }
209
+ const counts = new Map();
210
+ for (let tileY = 0; tileY < profile.layout.repeatHeightSites; tileY += 1) {
211
+ const countY = countResidueInRange(rect.y, rect.height, profile.layout.repeatHeightSites, tileY);
212
+ if (countY === 0) {
213
+ continue;
214
+ }
215
+ for (let tileX = 0; tileX < profile.layout.repeatWidthSites; tileX += 1) {
216
+ const countX = countResidueInRange(rect.x, rect.width, profile.layout.repeatWidthSites, tileX);
217
+ if (countX === 0) {
218
+ continue;
219
+ }
220
+ const tileIndex = tileY *
221
+ profile.layout.repeatWidthSites +
222
+ tileX;
223
+ const channelId = profile.layout.siteChannelIds[tileIndex];
224
+ if (channelId === undefined) {
225
+ throw new InvalidScientificInputError("Periodic color-sampling tile resolution failed while calculating contributor counts.");
226
+ }
227
+ const siteCount = safeProduct([countX, countY], "per-channel contributor site count");
228
+ const prior = counts.get(channelId) ?? 0;
229
+ const next = prior + siteCount;
230
+ if (!Number.isSafeInteger(next)) {
231
+ throw new InvalidScientificInputError("Per-channel contributor site count must remain a safe integer.");
232
+ }
233
+ counts.set(channelId, next);
234
+ }
235
+ }
236
+ const result = Array.from(counts, ([channelId, siteCount]) => ({
237
+ channelId,
238
+ siteCount
239
+ }));
240
+ const countedTotal = result.reduce((sum, entry) => sum + entry.siteCount, 0);
241
+ if (countedTotal !== totalSites) {
242
+ throw new InvalidScientificInputError("Color-sampling contributor channel counts do not cover the complete contributor site rectangle.");
243
+ }
244
+ return result;
245
+ }
246
+ /**
247
+ * Resolves which color-sampling sites form the pre-reconstruction structural source region for one selected
248
+ * capture-mode effective sample.
249
+ *
250
+ * The mode sample index is always absolute in the selected mode's full-frame
251
+ * per-frame raster. The API intentionally does not accept crop-local indices,
252
+ * preventing active-crop origins from silently resetting CFA phase.
253
+ *
254
+ * For grouped-native-sample modes, the returned site rectangle covers all
255
+ * native effective samples in the declared regular group. This is a structural
256
+ * pre-reconstruction association only: the engine reports channel-site counts
257
+ * but never claims complete downstream digital-pixel dependency or invents
258
+ * signal-combination weights, sum/average semantics, spectral response, or
259
+ * photon/electron values.
260
+ *
261
+ * Declared-effective-raster modes fail closed because #68 explicitly says
262
+ * their relationship to the native effective grid is not safely expressible as
263
+ * simple integer grouping.
264
+ *
265
+ * Inter-frame sensor shifts are preserved as capture-mode metadata only. The
266
+ * sensor and CFA move together, so those offsets do not change site channel
267
+ * assignment; their optical-registration effect belongs to a later spatial
268
+ * sampling/image-formation contract.
269
+ */
270
+ export function resolveCaptureModeColorSamplingContributors(input) {
271
+ const colorSamplingProfile = parseSensorColorSamplingProfile(input.colorSamplingProfile);
272
+ const binding = resolveNativeEffectiveRasterColorSamplingBinding({
273
+ nativeRaster: input.nativeRaster,
274
+ colorSamplingProfile,
275
+ bindingProfile: input.bindingProfile
276
+ });
277
+ const captureMode = resolveCaptureMode({
278
+ nativeRaster: input.nativeRaster,
279
+ profile: input.captureModeProfile,
280
+ modeId: input.modeId
281
+ });
282
+ if (!captureMode.dependencies.includes("color-sampling-model")) {
283
+ throw new InvalidScientificInputError("Selected capture mode must declare the color-sampling-model dependency before color-site contributors can be resolved.");
284
+ }
285
+ const modeX = requireFullFrameSampleIndex(input.modeSampleIndexFullFrame.x, "modeSampleIndexFullFrame.x");
286
+ const modeY = requireFullFrameSampleIndex(input.modeSampleIndexFullFrame.y, "modeSampleIndexFullFrame.y");
287
+ if (captureMode.perFrameSampling.kind ===
288
+ "declared-effective-raster") {
289
+ throw new InvalidScientificInputError("declared-effective-raster capture modes require a separate mode-specific color-site binding; no relationship may be inferred from raster dimensions alone.");
290
+ }
291
+ const modeSampleRaster = captureMode.perFrameSampling.raster;
292
+ if (modeX >= modeSampleRaster.pixelWidth ||
293
+ modeY >= modeSampleRaster.pixelHeight) {
294
+ throw new InvalidScientificInputError("modeSampleIndexFullFrame must lie within the selected mode's full-frame per-frame sampling raster.");
295
+ }
296
+ let nativeEffectiveSampleRect;
297
+ let grouping;
298
+ if (captureMode.perFrameSampling.kind ===
299
+ "native-effective-raster") {
300
+ if (input.groupedSamplingAnchor !== undefined) {
301
+ throw new InvalidScientificInputError("groupedSamplingAnchor must be omitted for native-effective-raster capture modes.");
302
+ }
303
+ nativeEffectiveSampleRect = {
304
+ x: modeX,
305
+ y: modeY,
306
+ width: 1,
307
+ height: 1
308
+ };
309
+ grouping = null;
310
+ }
311
+ else {
312
+ if (input.groupedSamplingAnchor === undefined ||
313
+ input.groupedSamplingAnchor.anchor !==
314
+ "native-effective-raster-top-left") {
315
+ throw new InvalidScientificInputError("grouped-native-samples capture modes require an explicit native-effective-raster-top-left grouping anchor declaration.");
316
+ }
317
+ const groupingAnchorEvidence = parseEvidenceList(input.groupedSamplingAnchor.evidence, "groupedSamplingAnchor.evidence");
318
+ const groupWidth = captureMode.perFrameSampling
319
+ .groupWidthSamples.value;
320
+ const groupHeight = captureMode.perFrameSampling
321
+ .groupHeightSamples.value;
322
+ nativeEffectiveSampleRect = {
323
+ x: safeProduct([modeX, groupWidth], "native effective sample rectangle x"),
324
+ y: safeProduct([modeY, groupHeight], "native effective sample rectangle y"),
325
+ width: groupWidth,
326
+ height: groupHeight
327
+ };
328
+ grouping = {
329
+ groupWidthSamples: captureMode.perFrameSampling
330
+ .groupWidthSamples,
331
+ groupHeightSamples: captureMode.perFrameSampling
332
+ .groupHeightSamples,
333
+ ...(captureMode.perFrameSampling
334
+ .combinationDomain === undefined
335
+ ? {}
336
+ : {
337
+ combinationDomain: captureMode.perFrameSampling
338
+ .combinationDomain
339
+ }),
340
+ anchor: "native-effective-raster-top-left",
341
+ anchorEvidence: groupingAnchorEvidence
342
+ };
343
+ }
344
+ const sitesPerNativeX = binding.relationship
345
+ .sitesPerNativeSampleX;
346
+ const sitesPerNativeY = binding.relationship
347
+ .sitesPerNativeSampleY;
348
+ const colorSamplingSiteRect = {
349
+ x: safeProduct([
350
+ nativeEffectiveSampleRect.x,
351
+ sitesPerNativeX
352
+ ], "color-sampling contributor rectangle x"),
353
+ y: safeProduct([
354
+ nativeEffectiveSampleRect.y,
355
+ sitesPerNativeY
356
+ ], "color-sampling contributor rectangle y"),
357
+ width: safeProduct([
358
+ nativeEffectiveSampleRect.width,
359
+ sitesPerNativeX
360
+ ], "color-sampling contributor rectangle width"),
361
+ height: safeProduct([
362
+ nativeEffectiveSampleRect.height,
363
+ sitesPerNativeY
364
+ ], "color-sampling contributor rectangle height")
365
+ };
366
+ if (colorSamplingSiteRect.x +
367
+ colorSamplingSiteRect.width >
368
+ binding.colorSamplingSiteGrid.widthSites ||
369
+ colorSamplingSiteRect.y +
370
+ colorSamplingSiteRect.height >
371
+ binding.colorSamplingSiteGrid.heightSites) {
372
+ throw new InvalidScientificInputError("Resolved color-sampling contributor rectangle exceeds the bound color-site grid.");
373
+ }
374
+ const totalContributorSites = safeProduct([
375
+ colorSamplingSiteRect.width,
376
+ colorSamplingSiteRect.height
377
+ ], "total contributor site count");
378
+ const channelSiteCounts = channelCountsForSiteRect(colorSamplingProfile, colorSamplingSiteRect);
379
+ const firstChannel = channelSiteCounts[0];
380
+ if (firstChannel === undefined) {
381
+ throw new InvalidScientificInputError("Resolved structural source region must contain at least one color-sampling channel.");
382
+ }
383
+ const channelComposition = channelSiteCounts.length === 1
384
+ ? {
385
+ kind: "single-channel",
386
+ channelId: firstChannel.channelId
387
+ }
388
+ : {
389
+ kind: "mixed-channels",
390
+ channelIds: channelSiteCounts.map((entry) => entry.channelId)
391
+ };
392
+ return {
393
+ modeId: captureMode.modeId,
394
+ colorSamplingProfileId: colorSamplingProfile.profileId,
395
+ modeSampleCoordinateSystem: "capture-mode-full-frame-effective-sample-index",
396
+ modeSampleIndexFullFrame: {
397
+ x: modeX,
398
+ y: modeY
399
+ },
400
+ modeSampleRaster: {
401
+ ...modeSampleRaster
402
+ },
403
+ modeSamplingKind: captureMode.perFrameSampling.kind,
404
+ nativeEffectiveSampleRect,
405
+ colorSamplingSiteRect,
406
+ colorSamplingSiteGrid: {
407
+ ...binding.colorSamplingSiteGrid
408
+ },
409
+ totalContributorSites,
410
+ channelSiteCounts,
411
+ channelComposition,
412
+ grouping,
413
+ ...(captureMode
414
+ .interFrameSensorOffsetsNativeSamples ===
415
+ undefined
416
+ ? {}
417
+ : {
418
+ interFrameSensorOffsetsNativeSamples: captureMode
419
+ .interFrameSensorOffsetsNativeSamples
420
+ }),
421
+ sensorShiftChangesColorSiteAssignment: false,
422
+ sensorShiftOpticalRegistration: "outside-this-contract",
423
+ structuralSourceStage: "pre-reconstruction",
424
+ completeDownstreamPixelDependencyEstablished: false,
425
+ signalCombinationWeightingEstablished: false,
426
+ spectralResponseEstablished: false,
427
+ physicalPhotodiodeBindingEstablished: false,
428
+ physicalPhotodiodeCountInference: "not-permitted",
429
+ componentEvidence: {
430
+ binding: binding.componentEvidence.binding,
431
+ colorSamplingProfile: binding.componentEvidence
432
+ .colorSamplingProfile,
433
+ captureMode: captureMode.modeEvidence
434
+ }
435
+ };
436
+ }
437
+ //# sourceMappingURL=capture-color-sampling-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-color-sampling-binding.js","sourceRoot":"","sources":["../../src/sensor/capture-color-sampling-binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { type EvidenceProvenance } from "../core/evidence-provenance.js";
2
+ import type { RasterPoint, RasterRect } from "../output/capture-geometry.js";
3
+ import { type CaptureExposureWindows, type ExposureBoundarySchedule, type SourcedCaptureTimingSeconds } from "./exposure-window.js";
4
+ import type { ResolvedCaptureMode } from "./capture-mode.js";
5
+ import { type CaptureShutterMechanism, type SensorReadoutTiming, type SensorReadoutTimingDeclaration } from "./readout-timing.js";
6
+ import type { NativeImageRaster } from "./sensor-geometry.js";
7
+ export declare const CAPTURE_MODE_TIMING_PROFILE_SCHEMA_VERSION: "0.1.0";
8
+ export interface CaptureModeTimingProfile {
9
+ schemaVersion: typeof CAPTURE_MODE_TIMING_PROFILE_SCHEMA_VERSION;
10
+ profileId: string;
11
+ profileVersion: string;
12
+ captureModeId: string;
13
+ scientificStatus: "approximation";
14
+ scheduleFamily: "global-or-uniform-linear-native-scan";
15
+ shutterMechanism: CaptureShutterMechanism;
16
+ opening: ExposureBoundarySchedule;
17
+ closing: ExposureBoundarySchedule;
18
+ readout: SensorReadoutTimingDeclaration;
19
+ nonUniformScheduleModeled: false;
20
+ evidence: readonly EvidenceProvenance[];
21
+ limitations: readonly string[];
22
+ }
23
+ export interface ResolveCaptureModeTimingInput {
24
+ captureMode: ResolvedCaptureMode;
25
+ timingProfile: CaptureModeTimingProfile;
26
+ nominalExposureDurationSeconds: SourcedCaptureTimingSeconds;
27
+ activeCaptureRect?: RasterRect;
28
+ samplePointsNative?: readonly RasterPoint[];
29
+ }
30
+ export interface ResolvedCaptureModeTiming {
31
+ schemaVersion: typeof CAPTURE_MODE_TIMING_PROFILE_SCHEMA_VERSION;
32
+ timingProfileId: string;
33
+ timingProfileVersion: string;
34
+ captureModeId: string;
35
+ captureModeTimingIdentity: "exact-mode-and-profile";
36
+ nativeRaster: NativeImageRaster;
37
+ modeDeclaresTimingDependency: boolean;
38
+ scheduleFamily: "global-or-uniform-linear-native-scan";
39
+ exposureWindows: CaptureExposureWindows;
40
+ readoutTiming: SensorReadoutTiming;
41
+ timeReference: "first-opening-boundary-phase";
42
+ readoutExposureSynchronization: "not-assumed";
43
+ nonUniformScheduleModeled: false;
44
+ evidence: readonly EvidenceProvenance[];
45
+ limitations: readonly string[];
46
+ }
47
+ /**
48
+ * Parses timing facts that are explicitly bound to one exact capture mode.
49
+ *
50
+ * Schema 0.1.0 intentionally admits only the timing schedule families already
51
+ * owned by #12: simultaneous/global or uniform-linear native scans. Unsupported
52
+ * non-uniform/segmented schedules fail closed instead of being approximated.
53
+ */
54
+ export declare function parseCaptureModeTimingProfile(value: unknown): CaptureModeTimingProfile;
55
+ /**
56
+ * Resolves the authoritative exposure/readout timing for one exact capture
57
+ * mode and timing-profile identity.
58
+ *
59
+ * Readout timing remains distinct from exposure-boundary timing. No absolute
60
+ * readout/exposure synchronization is inferred.
61
+ */
62
+ export declare function resolveCaptureModeTiming(input: ResolveCaptureModeTimingInput): ResolvedCaptureModeTiming;
63
+ //# sourceMappingURL=capture-mode-timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-mode-timing.d.ts","sourceRoot":"","sources":["../../src/sensor/capture-mode-timing.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE7B,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,uBAAuB,EAE5B,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EAGpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,0CAA0C,EACrD,OAAgB,CAAC;AAEnB,MAAM,WAAW,wBAAwB;IACvC,aAAa,EACX,OAAO,0CAA0C,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,eAAe,CAAC;IAClC,cAAc,EACZ,sCAAsC,CAAC;IACzC,gBAAgB,EACd,uBAAuB,CAAC;IAC1B,OAAO,EACL,wBAAwB,CAAC;IAC3B,OAAO,EACL,wBAAwB,CAAC;IAC3B,OAAO,EACL,8BAA8B,CAAC;IACjC,yBAAyB,EAAE,KAAK,CAAC;IACjC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EACT,mBAAmB,CAAC;IACtB,aAAa,EACX,wBAAwB,CAAC;IAC3B,8BAA8B,EAC5B,2BAA2B,CAAC;IAC9B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,kBAAkB,CAAC,EACjB,SAAS,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EACX,OAAO,0CAA0C,CAAC;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EACvB,wBAAwB,CAAC;IAC3B,YAAY,EAAE,iBAAiB,CAAC;IAChC,4BAA4B,EAC1B,OAAO,CAAC;IACV,cAAc,EACZ,sCAAsC,CAAC;IACzC,eAAe,EACb,sBAAsB,CAAC;IACzB,aAAa,EACX,mBAAmB,CAAC;IACtB,aAAa,EACX,8BAA8B,CAAC;IACjC,8BAA8B,EAC5B,aAAa,CAAC;IAChB,yBAAyB,EAAE,KAAK,CAAC;IACjC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AA+PD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,wBAAwB,CAyG1B;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EACH,6BAA6B,GAC9B,yBAAyB,CAuG3B"}