@photivra/engine 0.6.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/AGENTS.md +674 -0
  2. package/CHANGELOG.md +191 -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 +139 -72
  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 +9 -0
  139. package/dist/core/version.d.ts.map +1 -0
  140. package/dist/core/version.js +10 -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 +87 -6
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +85 -6
  205. package/dist/index.js.map +1 -1
  206. package/dist/motion/camera-rotation.d.ts +16 -0
  207. package/dist/motion/camera-rotation.d.ts.map +1 -1
  208. package/dist/motion/camera-rotation.js +16 -0
  209. package/dist/motion/camera-rotation.js.map +1 -1
  210. package/dist/motion/capture-rotation-inverse-mapping.d.ts +13 -0
  211. package/dist/motion/capture-rotation-inverse-mapping.d.ts.map +1 -1
  212. package/dist/motion/capture-rotation-inverse-mapping.js +13 -0
  213. package/dist/motion/capture-rotation-inverse-mapping.js.map +1 -1
  214. package/dist/motion/capture-rotation-temporal-quadrature.d.ts +15 -0
  215. package/dist/motion/capture-rotation-temporal-quadrature.d.ts.map +1 -1
  216. package/dist/motion/capture-rotation-temporal-quadrature.js +15 -0
  217. package/dist/motion/capture-rotation-temporal-quadrature.js.map +1 -1
  218. package/dist/motion/capture-rotation-trajectory.d.ts +15 -0
  219. package/dist/motion/capture-rotation-trajectory.d.ts.map +1 -1
  220. package/dist/motion/capture-rotation-trajectory.js +15 -0
  221. package/dist/motion/capture-rotation-trajectory.js.map +1 -1
  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 +11 -0
  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 +18 -0
  291. package/dist/optics/radial-distortion.d.ts.map +1 -1
  292. package/dist/optics/radial-distortion.js +18 -0
  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 +8 -0
  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 +1 -0
  393. package/dist/sensor/capture-color-sampling-binding.d.ts.map +1 -1
  394. package/dist/sensor/capture-color-sampling-binding.js +14 -0
  395. package/dist/sensor/capture-color-sampling-binding.js.map +1 -1
  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.map +1 -1
  401. package/dist/sensor/capture-mode.js +13 -0
  402. package/dist/sensor/capture-mode.js.map +1 -1
  403. package/dist/sensor/color-sampling.d.ts.map +1 -1
  404. package/dist/sensor/color-sampling.js +19 -0
  405. package/dist/sensor/color-sampling.js.map +1 -1
  406. package/dist/sensor/constant-rate-temporal-integration.d.ts +126 -0
  407. package/dist/sensor/constant-rate-temporal-integration.d.ts.map +1 -0
  408. package/dist/sensor/constant-rate-temporal-integration.js +382 -0
  409. package/dist/sensor/constant-rate-temporal-integration.js.map +1 -0
  410. package/dist/sensor/dark-current.d.ts +169 -0
  411. package/dist/sensor/dark-current.d.ts.map +1 -0
  412. package/dist/sensor/dark-current.js +427 -0
  413. package/dist/sensor/dark-current.js.map +1 -0
  414. package/dist/sensor/environment-photo-signal.d.ts +123 -0
  415. package/dist/sensor/environment-photo-signal.d.ts.map +1 -0
  416. package/dist/sensor/environment-photo-signal.js +186 -0
  417. package/dist/sensor/environment-photo-signal.js.map +1 -0
  418. package/dist/sensor/eqe-electron-rate.d.ts +107 -0
  419. package/dist/sensor/eqe-electron-rate.d.ts.map +1 -0
  420. package/dist/sensor/eqe-electron-rate.js +561 -0
  421. package/dist/sensor/eqe-electron-rate.js.map +1 -0
  422. package/dist/sensor/eqe-local-exposure.d.ts +65 -0
  423. package/dist/sensor/eqe-local-exposure.d.ts.map +1 -0
  424. package/dist/sensor/eqe-local-exposure.js +84 -0
  425. package/dist/sensor/eqe-local-exposure.js.map +1 -0
  426. package/dist/sensor/eqe-temporal-exposure.d.ts +55 -0
  427. package/dist/sensor/eqe-temporal-exposure.d.ts.map +1 -0
  428. package/dist/sensor/eqe-temporal-exposure.js +62 -0
  429. package/dist/sensor/eqe-temporal-exposure.js.map +1 -0
  430. package/dist/sensor/exposure-window.d.ts +14 -0
  431. package/dist/sensor/exposure-window.d.ts.map +1 -1
  432. package/dist/sensor/exposure-window.js +14 -0
  433. package/dist/sensor/exposure-window.js.map +1 -1
  434. package/dist/sensor/iso-signal-chain.d.ts +148 -0
  435. package/dist/sensor/iso-signal-chain.d.ts.map +1 -0
  436. package/dist/sensor/iso-signal-chain.js +411 -0
  437. package/dist/sensor/iso-signal-chain.js.map +1 -0
  438. package/dist/sensor/local-exposure-binding.d.ts +87 -0
  439. package/dist/sensor/local-exposure-binding.d.ts.map +1 -0
  440. package/dist/sensor/local-exposure-binding.js +214 -0
  441. package/dist/sensor/local-exposure-binding.js.map +1 -0
  442. package/dist/sensor/optical-stack.d.ts.map +1 -1
  443. package/dist/sensor/optical-stack.js +17 -0
  444. package/dist/sensor/optical-stack.js.map +1 -1
  445. package/dist/sensor/photon-energy.d.ts +97 -0
  446. package/dist/sensor/photon-energy.d.ts.map +1 -0
  447. package/dist/sensor/photon-energy.js +390 -0
  448. package/dist/sensor/photon-energy.js.map +1 -0
  449. package/dist/sensor/physical-charge-capacity.d.ts +130 -0
  450. package/dist/sensor/physical-charge-capacity.d.ts.map +1 -0
  451. package/dist/sensor/physical-charge-capacity.js +345 -0
  452. package/dist/sensor/physical-charge-capacity.js.map +1 -0
  453. package/dist/sensor/pixel-pitch.d.ts +6 -0
  454. package/dist/sensor/pixel-pitch.d.ts.map +1 -1
  455. package/dist/sensor/pixel-pitch.js +6 -0
  456. package/dist/sensor/pixel-pitch.js.map +1 -1
  457. package/dist/sensor/radiometry-readiness.d.ts +10 -0
  458. package/dist/sensor/radiometry-readiness.d.ts.map +1 -1
  459. package/dist/sensor/radiometry-readiness.js +10 -0
  460. package/dist/sensor/radiometry-readiness.js.map +1 -1
  461. package/dist/sensor/raw-readout.d.ts +314 -0
  462. package/dist/sensor/raw-readout.d.ts.map +1 -0
  463. package/dist/sensor/raw-readout.js +914 -0
  464. package/dist/sensor/raw-readout.js.map +1 -0
  465. package/dist/sensor/raw-reconstruction.d.ts +170 -0
  466. package/dist/sensor/raw-reconstruction.d.ts.map +1 -0
  467. package/dist/sensor/raw-reconstruction.js +424 -0
  468. package/dist/sensor/raw-reconstruction.js.map +1 -0
  469. package/dist/sensor/readout-exposure-linkage.d.ts +12 -0
  470. package/dist/sensor/readout-exposure-linkage.d.ts.map +1 -1
  471. package/dist/sensor/readout-exposure-linkage.js +12 -0
  472. package/dist/sensor/readout-exposure-linkage.js.map +1 -1
  473. package/dist/sensor/readout-timing.d.ts +13 -0
  474. package/dist/sensor/readout-timing.d.ts.map +1 -1
  475. package/dist/sensor/readout-timing.js +13 -0
  476. package/dist/sensor/readout-timing.js.map +1 -1
  477. package/dist/sensor/response-application-compatibility.d.ts +136 -0
  478. package/dist/sensor/response-application-compatibility.d.ts.map +1 -0
  479. package/dist/sensor/response-application-compatibility.js +408 -0
  480. package/dist/sensor/response-application-compatibility.js.map +1 -0
  481. package/dist/sensor/response-operating-range.d.ts +173 -0
  482. package/dist/sensor/response-operating-range.d.ts.map +1 -0
  483. package/dist/sensor/response-operating-range.js +672 -0
  484. package/dist/sensor/response-operating-range.js.map +1 -0
  485. package/dist/sensor/responsivity-photocurrent.d.ts +158 -0
  486. package/dist/sensor/responsivity-photocurrent.d.ts.map +1 -0
  487. package/dist/sensor/responsivity-photocurrent.js +644 -0
  488. package/dist/sensor/responsivity-photocurrent.js.map +1 -0
  489. package/dist/sensor/sampling-aperture.d.ts.map +1 -1
  490. package/dist/sensor/sampling-aperture.js +14 -0
  491. package/dist/sensor/sampling-aperture.js.map +1 -1
  492. package/dist/sensor/scene-eqe-temporal-exposure.d.ts +45 -0
  493. package/dist/sensor/scene-eqe-temporal-exposure.d.ts.map +1 -0
  494. package/dist/sensor/scene-eqe-temporal-exposure.js +64 -0
  495. package/dist/sensor/scene-eqe-temporal-exposure.js.map +1 -0
  496. package/dist/sensor/sensor-geometry.d.ts +12 -0
  497. package/dist/sensor/sensor-geometry.d.ts.map +1 -1
  498. package/dist/sensor/sensor-geometry.js +12 -0
  499. package/dist/sensor/sensor-geometry.js.map +1 -1
  500. package/dist/sensor/signal-noise.d.ts +10 -0
  501. package/dist/sensor/signal-noise.d.ts.map +1 -1
  502. package/dist/sensor/signal-noise.js +10 -0
  503. package/dist/sensor/signal-noise.js.map +1 -1
  504. package/dist/sensor/spatial-sample-reduction.d.ts +44 -1
  505. package/dist/sensor/spatial-sample-reduction.d.ts.map +1 -1
  506. package/dist/sensor/spatial-sample-reduction.js +51 -5
  507. package/dist/sensor/spatial-sample-reduction.js.map +1 -1
  508. package/dist/sensor/spatial-sampling-quadrature.d.ts +24 -0
  509. package/dist/sensor/spatial-sampling-quadrature.d.ts.map +1 -1
  510. package/dist/sensor/spatial-sampling-quadrature.js +27 -0
  511. package/dist/sensor/spatial-sampling-quadrature.js.map +1 -1
  512. package/dist/sensor/spatio-spectral-reduction.d.ts +187 -0
  513. package/dist/sensor/spatio-spectral-reduction.d.ts.map +1 -0
  514. package/dist/sensor/spatio-spectral-reduction.js +373 -0
  515. package/dist/sensor/spatio-spectral-reduction.js.map +1 -0
  516. package/dist/sensor/spectral-coverage.d.ts +24 -0
  517. package/dist/sensor/spectral-coverage.d.ts.map +1 -0
  518. package/dist/sensor/spectral-coverage.js +86 -0
  519. package/dist/sensor/spectral-coverage.js.map +1 -0
  520. package/dist/sensor/spectral-quadrature.d.ts +169 -0
  521. package/dist/sensor/spectral-quadrature.d.ts.map +1 -0
  522. package/dist/sensor/spectral-quadrature.js +542 -0
  523. package/dist/sensor/spectral-quadrature.js.map +1 -0
  524. package/dist/sensor/spectral-response.d.ts +192 -0
  525. package/dist/sensor/spectral-response.d.ts.map +1 -0
  526. package/dist/sensor/spectral-response.js +664 -0
  527. package/dist/sensor/spectral-response.js.map +1 -0
  528. package/dist/sensor/temporal-eqe-sum.d.ts +15 -0
  529. package/dist/sensor/temporal-eqe-sum.d.ts.map +1 -0
  530. package/dist/sensor/temporal-eqe-sum.js +30 -0
  531. package/dist/sensor/temporal-eqe-sum.js.map +1 -0
  532. package/dist/sensor/temporal-photo-signal.d.ts +38 -0
  533. package/dist/sensor/temporal-photo-signal.d.ts.map +1 -0
  534. package/dist/sensor/temporal-photo-signal.js +110 -0
  535. package/dist/sensor/temporal-photo-signal.js.map +1 -0
  536. package/dist/sensor/temporal-sample-binding.d.ts +6 -0
  537. package/dist/sensor/temporal-sample-binding.d.ts.map +1 -0
  538. package/dist/sensor/temporal-sample-binding.js +32 -0
  539. package/dist/sensor/temporal-sample-binding.js.map +1 -0
  540. package/dist/simulation/poc-simulation.d.ts.map +1 -1
  541. package/dist/simulation/poc-simulation.js +34 -11
  542. package/dist/simulation/poc-simulation.js.map +1 -1
  543. package/dist/stabilization/camera-shake.d.ts +11 -0
  544. package/dist/stabilization/camera-shake.d.ts.map +1 -1
  545. package/dist/stabilization/camera-shake.js +11 -0
  546. package/dist/stabilization/camera-shake.js.map +1 -1
  547. package/dist/stabilization/system.d.ts +218 -0
  548. package/dist/stabilization/system.d.ts.map +1 -0
  549. package/dist/stabilization/system.js +695 -0
  550. package/dist/stabilization/system.js.map +1 -0
  551. package/docs/API_REFERENCE.md +2017 -0
  552. package/docs/API_STYLE.md +139 -3
  553. package/docs/ARCHITECTURE.md +134 -24
  554. package/docs/AUTOMATION_COORDINATION.md +2 -0
  555. package/docs/CAPTURE_COLOR.md +25 -0
  556. package/docs/CAPTURE_CORRECTED_SDR.md +25 -0
  557. package/docs/CAPTURE_EXPORT_METADATA.md +27 -0
  558. package/docs/CAPTURE_SDR.md +20 -0
  559. package/docs/DEVELOPERS.md +60 -0
  560. package/docs/DIGITAL_OPTICS_FOUNDATION.md +69 -0
  561. package/docs/ENVIRONMENT_RAW_CAPTURE.md +187 -0
  562. package/docs/EXPORT_ACCEPTANCE.md +133 -0
  563. package/docs/GENERIC_TIER_PRESETS.md +269 -0
  564. package/docs/GEOMETRIC_PREPARATION_REUSE.md +141 -0
  565. package/docs/IMAGE_FORMATION.md +80 -10
  566. package/docs/LINEAR_CAPTURE_ENCODING.md +25 -0
  567. package/docs/MOTION_AND_SIGNAL.md +5 -3
  568. package/docs/NUMERICAL_CORRECTNESS.md +191 -0
  569. package/docs/PERFORMANCE_BASELINE.md +56 -0
  570. package/docs/PHOTOGRAPHIC_EXPORT.md +206 -0
  571. package/docs/PHYSICS_FOUNDATION.md +152 -5
  572. package/docs/POC_API.md +2 -0
  573. package/docs/POC_PROJECTION_REUSE.md +124 -0
  574. package/docs/PROCESSED_OUTPUT.md +157 -0
  575. package/docs/PRODUCTION_COMPOSITION.md +373 -0
  576. package/docs/PRODUCTION_ENVIRONMENT_CAPTURE.md +131 -0
  577. package/docs/PROVENANCE.md +4 -0
  578. package/docs/PSF_FOUNDATION.md +110 -88
  579. package/docs/RAW_FRAME_ENVELOPE.md +56 -0
  580. package/docs/RAW_FRAME_RECONSTRUCTION.md +30 -0
  581. package/docs/RELEASE_1_0.md +66 -0
  582. package/docs/RELEASE_1_0_1.md +61 -0
  583. package/docs/RELEASE_AUDIT.md +39 -0
  584. package/docs/SCENE_RADIANCE_AND_ILLUMINATION.md +298 -0
  585. package/docs/SCENE_SENSOR_QUADRATURE.md +98 -0
  586. package/docs/SCENE_SENSOR_TEMPORAL_EXPOSURE.md +86 -0
  587. package/docs/SCIENTIFIC_ASSURANCE.md +280 -0
  588. package/docs/SCIENTIFIC_CONFORMANCE.md +83 -0
  589. package/docs/SDR_RENDERING.md +33 -0
  590. package/docs/SENSOR_ENVIRONMENT_QUERY.md +86 -0
  591. package/docs/SENSOR_EQE_LOCAL_EXPOSURE.md +104 -0
  592. package/docs/SENSOR_EQE_TEMPORAL_EXPOSURE.md +74 -0
  593. package/docs/SENSOR_PSF_QUADRATURE.md +90 -0
  594. package/docs/SENSOR_RAW_FRAME.md +20 -0
  595. package/docs/SENSOR_RAW_PRODUCER.md +77 -0
  596. package/docs/SIGNAL_CONFORMANCE.md +23 -0
  597. package/docs/SIMULATED_CAPTURE.md +65 -0
  598. package/docs/STABILIZATION.md +160 -17
  599. package/docs/TEMPORAL_PHOTO_RAW.md +83 -0
  600. package/docs/TIER_ACCEPTANCE.md +129 -0
  601. package/docs/TIER_PRESET_ACCEPTANCE.md +59 -0
  602. package/docs/USAGE.md +5050 -1047
  603. package/docs/V1_COMPOSITION_MAP.md +123 -0
  604. package/docs/V1_HELPER_REUSE_REVIEW.md +60 -0
  605. package/docs/V1_PERFORMANCE_DISPOSITION.md +88 -0
  606. package/docs/api/camera-equivalent-focal-length.md +53 -0
  607. package/docs/api/camera-field-of-view.md +119 -0
  608. package/docs/api/camera-projected-object-size.md +54 -0
  609. package/docs/api/capture-capture-export-metadata.md +107 -0
  610. package/docs/api/capture-environment-raw-producer.md +56 -0
  611. package/docs/api/capture-focus-control.md +419 -0
  612. package/docs/api/capture-linear-encoding.md +99 -0
  613. package/docs/api/capture-photographic-export.md +172 -0
  614. package/docs/api/capture-raw-frame-reconstruction.md +87 -0
  615. package/docs/api/capture-release-sequence.md +252 -0
  616. package/docs/api/capture-sensor-raw-frame.md +66 -0
  617. package/docs/api/capture-sensor-raw-producer.md +98 -0
  618. package/docs/api/capture-simulated-capture.md +179 -0
  619. package/docs/api/color-capture-color.md +122 -0
  620. package/docs/api/color-white-balance.md +386 -0
  621. package/docs/api/composition-image-formation-plan.md +825 -0
  622. package/docs/api/composition-plan-consumer.md +98 -0
  623. package/docs/api/core-calculation-result.md +220 -0
  624. package/docs/api/core-configuration-error.md +19 -0
  625. package/docs/api/core-image-formation.md +204 -0
  626. package/docs/api/core-scientific-assurance.md +214 -0
  627. package/docs/api/core-spectral-composition.md +268 -0
  628. package/docs/api/core-spectral.md +78 -0
  629. package/docs/api/core-validation.md +34 -0
  630. package/docs/api/core-version.md +14 -0
  631. package/docs/api/equipment-exposure-capabilities.md +270 -0
  632. package/docs/api/equipment-generic-tier-assets.md +82 -0
  633. package/docs/api/equipment-generic-tier-presets.md +103 -0
  634. package/docs/api/equipment-iso-capabilities.md +295 -0
  635. package/docs/api/equipment-metering-capabilities.md +126 -0
  636. package/docs/api/equipment-release-capabilities.md +91 -0
  637. package/docs/api/exports.json +5656 -0
  638. package/docs/api/exposure-exposure-duration-control.md +115 -0
  639. package/docs/api/exposure-exposure-mode-resolver.md +966 -0
  640. package/docs/api/exposure-exposure.md +150 -0
  641. package/docs/api/exposure-flash.md +327 -0
  642. package/docs/api/exposure-metering-scene-radiance.md +154 -0
  643. package/docs/api/exposure-metering-target.md +134 -0
  644. package/docs/api/exposure-metering-temporal.md +77 -0
  645. package/docs/api/exposure-metering.md +172 -0
  646. package/docs/api/exposure-program-line.md +64 -0
  647. package/docs/api/motion-camera-rotation.md +215 -0
  648. package/docs/api/motion-capture-rotation-inverse-mapping.md +128 -0
  649. package/docs/api/motion-capture-rotation-temporal-quadrature.md +127 -0
  650. package/docs/api/motion-capture-rotation-trajectory.md +132 -0
  651. package/docs/api/motion-capture-translation-parallax-temporal-quadrature.md +171 -0
  652. package/docs/api/motion-extended-object-projection.md +312 -0
  653. package/docs/api/motion-projected-motion.md +60 -0
  654. package/docs/api/optics-aperture.md +69 -0
  655. package/docs/api/optics-circle-of-confusion.md +46 -0
  656. package/docs/api/optics-complex-pupil-psf.md +193 -0
  657. package/docs/api/optics-depth-of-field.md +92 -0
  658. package/docs/api/optics-diffraction.md +46 -0
  659. package/docs/api/optics-focus-breathing.md +119 -0
  660. package/docs/api/optics-focus-state.md +64 -0
  661. package/docs/api/optics-front-of-lens-filter.md +263 -0
  662. package/docs/api/optics-illumination-vignetting.md +95 -0
  663. package/docs/api/optics-lateral-chromatic-aberration.md +225 -0
  664. package/docs/api/optics-lens-psf-profile.md +380 -0
  665. package/docs/api/optics-polygon-diffraction.md +68 -0
  666. package/docs/api/optics-profile-contract.md +47 -0
  667. package/docs/api/optics-psf-foundation.md +181 -0
  668. package/docs/api/optics-radial-distortion.md +194 -0
  669. package/docs/api/optics-scene-to-sensor-irradiance.md +371 -0
  670. package/docs/api/optics-scene-to-sensor-quadrature.md +78 -0
  671. package/docs/api/optics-sensor-environment-query.md +58 -0
  672. package/docs/api/optics-sensor-psf-quadrature.md +81 -0
  673. package/docs/api/optics-stray-light.md +109 -0
  674. package/docs/api/optics-thin-lens.md +53 -0
  675. package/docs/api/output-capture-corrected-sdr.md +71 -0
  676. package/docs/api/output-capture-geometry.md +500 -0
  677. package/docs/api/output-capture-sdr.md +69 -0
  678. package/docs/api/output-crop.md +47 -0
  679. package/docs/api/output-geometric-transforms.md +199 -0
  680. package/docs/api/output-lens-corrections.md +162 -0
  681. package/docs/api/output-sdr-rendering.md +122 -0
  682. package/docs/api/output-subject-framing-crop.md +59 -0
  683. package/docs/api/schema-camera.md +84 -0
  684. package/docs/api/schema-illumination-spectral.md +77 -0
  685. package/docs/api/schema-illumination-temporal.md +289 -0
  686. package/docs/api/schema-illumination.md +246 -0
  687. package/docs/api/schema-scene-radiance-temporal.md +215 -0
  688. package/docs/api/schema-scene-radiance.md +415 -0
  689. package/docs/api/schema-scene.md +105 -0
  690. package/docs/api/schema-validation.md +25 -0
  691. package/docs/api/sensor-accumulated-charge.md +273 -0
  692. package/docs/api/sensor-architecture.md +155 -0
  693. package/docs/api/sensor-camera-saturation-capacity.md +215 -0
  694. package/docs/api/sensor-capture-color-sampling-binding.md +323 -0
  695. package/docs/api/sensor-capture-mode-timing.md +123 -0
  696. package/docs/api/sensor-capture-mode.md +321 -0
  697. package/docs/api/sensor-color-sampling.md +228 -0
  698. package/docs/api/sensor-constant-rate-temporal-integration.md +152 -0
  699. package/docs/api/sensor-dark-current.md +227 -0
  700. package/docs/api/sensor-environment-photo-signal.md +77 -0
  701. package/docs/api/sensor-eqe-electron-rate.md +166 -0
  702. package/docs/api/sensor-eqe-local-exposure.md +68 -0
  703. package/docs/api/sensor-eqe-temporal-exposure.md +73 -0
  704. package/docs/api/sensor-exposure-window.md +183 -0
  705. package/docs/api/sensor-iso-signal-chain.md +264 -0
  706. package/docs/api/sensor-local-exposure-binding.md +126 -0
  707. package/docs/api/sensor-optical-stack.md +211 -0
  708. package/docs/api/sensor-photon-energy.md +149 -0
  709. package/docs/api/sensor-physical-charge-capacity.md +196 -0
  710. package/docs/api/sensor-pixel-pitch.md +41 -0
  711. package/docs/api/sensor-radiometry-readiness.md +240 -0
  712. package/docs/api/sensor-raw-readout.md +499 -0
  713. package/docs/api/sensor-raw-reconstruction.md +260 -0
  714. package/docs/api/sensor-readout-exposure-linkage.md +172 -0
  715. package/docs/api/sensor-readout-timing.md +209 -0
  716. package/docs/api/sensor-response-application-compatibility.md +256 -0
  717. package/docs/api/sensor-response-operating-range.md +293 -0
  718. package/docs/api/sensor-responsivity-photocurrent.md +245 -0
  719. package/docs/api/sensor-sampling-aperture.md +221 -0
  720. package/docs/api/sensor-scene-eqe-temporal-exposure.md +56 -0
  721. package/docs/api/sensor-sensor-geometry.md +143 -0
  722. package/docs/api/sensor-signal-noise.md +75 -0
  723. package/docs/api/sensor-spatial-sample-reduction.md +186 -0
  724. package/docs/api/sensor-spatial-sampling-quadrature.md +188 -0
  725. package/docs/api/sensor-spatio-spectral-reduction.md +217 -0
  726. package/docs/api/sensor-spectral-coverage.md +33 -0
  727. package/docs/api/sensor-spectral-quadrature.md +183 -0
  728. package/docs/api/sensor-spectral-response.md +291 -0
  729. package/docs/api/sensor-temporal-photo-signal.md +62 -0
  730. package/docs/api/simulation-poc-simulation.md +364 -0
  731. package/docs/api/stabilization-camera-shake.md +71 -0
  732. package/docs/api/stabilization-system.md +442 -0
  733. package/docs/benchmarks/2026-10-01-main-baseline.json +694 -0
  734. package/docs/benchmarks/2026-10-02-geometric-preparation-reuse.json +2190 -0
  735. package/docs/benchmarks/2026-10-02-poc-projection-reuse.json +2423 -0
  736. package/docs/benchmarks/2026-10-02-v1-environment-gc-profile.json +210 -0
  737. package/docs/benchmarks/2026-10-02-v1-environment-ordinary.json +187 -0
  738. package/docs/benchmarks/2026-10-02-v1-geometry-gc-profile.json +756 -0
  739. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-1.json +711 -0
  740. package/docs/benchmarks/2026-10-02-v1-geometry-ordinary-2.json +711 -0
  741. package/docs/benchmarks/2026-10-02-v1-poc-gc-profile.json +885 -0
  742. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-1.json +868 -0
  743. package/docs/benchmarks/2026-10-02-v1-poc-ordinary-2.json +868 -0
  744. package/docs/examples/production-capture.mjs +34 -0
  745. package/docs/examples/production-request.json +4613 -0
  746. package/docs/examples/quick-start.mjs +12 -0
  747. package/docs/validation/documentation-fragments.json +212 -0
  748. package/docs/validation/release-audit-inventory.json +1306 -0
  749. package/docs/validation/tier-acceptance-report-v1.json +2538 -0
  750. package/package.json +15 -3
@@ -0,0 +1,107 @@
1
+ import type { RasterPoint } from "../output/capture-geometry.js";
2
+ import { type SceneRadianceEvaluationRequest, type SceneRadianceEvaluationResult } from "./scene-radiance.js";
3
+ import type { ResolvedCaptureModeTiming } from "../sensor/capture-mode-timing.js";
4
+ export declare const SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION: "0.1.0";
5
+ export interface SceneRadianceTemporalQuery {
6
+ providerProfileId: string;
7
+ sceneId: string;
8
+ illuminationProfileId: string;
9
+ materialResponseProfileId: string;
10
+ target: SceneRadianceEvaluationRequest["target"];
11
+ wavelengthNanometers: number;
12
+ wavelengthBasis: SceneRadianceEvaluationRequest["wavelengthBasis"];
13
+ }
14
+ export interface CreateSceneRadianceTemporalSamplingPlanInput {
15
+ planId: string;
16
+ timing: ResolvedCaptureModeTiming;
17
+ destinationPointNative: RasterPoint;
18
+ temporalSampleCount: number;
19
+ query: SceneRadianceTemporalQuery;
20
+ }
21
+ export interface SceneRadianceTemporalSamplingNode {
22
+ nodeId: string;
23
+ expectedResultSampleId: string;
24
+ temporalSampleIndex: number;
25
+ localExposurePhase: number;
26
+ captureTimeSecondsFromReference: number;
27
+ normalizedTimeWeight: number;
28
+ timeMeasureSeconds: number;
29
+ }
30
+ export interface SceneRadianceTemporalSamplingPlan {
31
+ version: typeof SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION;
32
+ planId: string;
33
+ timeReference: "first-opening-boundary-phase";
34
+ timingProfileIdentity: {
35
+ profileId: string;
36
+ profileVersion: string;
37
+ captureModeId: string;
38
+ };
39
+ destinationPointNative: RasterPoint;
40
+ localExposureWindow: {
41
+ startSecondsFromCaptureReference: number;
42
+ endSecondsFromCaptureReference: number;
43
+ durationSeconds: number;
44
+ };
45
+ temporalSampleCount: number;
46
+ quadratureScheme: "uniform-midpoint";
47
+ query: SceneRadianceTemporalQuery;
48
+ nodes: readonly SceneRadianceTemporalSamplingNode[];
49
+ providerMustEvaluateAtNodeCaptureTime: true;
50
+ sensorReadoutTimingUsedAsExposureTiming: false;
51
+ }
52
+ export interface SceneRadianceTemporalEvaluatedSample {
53
+ nodeId: string;
54
+ captureTimeSecondsFromReference: number;
55
+ result: SceneRadianceEvaluationResult;
56
+ }
57
+ export interface ReduceSceneRadianceTemporalSamplesInput {
58
+ plan: SceneRadianceTemporalSamplingPlan;
59
+ samples: readonly SceneRadianceTemporalEvaluatedSample[];
60
+ }
61
+ export interface ReducedSceneRadianceTemporalExposure {
62
+ version: typeof SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION;
63
+ planId: string;
64
+ timeReference: "first-opening-boundary-phase";
65
+ localExposureWindow: SceneRadianceTemporalSamplingPlan["localExposureWindow"];
66
+ temporalSampleCount: number;
67
+ quadratureScheme: "uniform-midpoint";
68
+ providerProfileId: string;
69
+ sceneId: string;
70
+ wavelengthNanometers: number;
71
+ wavelengthBasis: SceneRadianceEvaluationRequest["wavelengthBasis"];
72
+ quantity: "outgoing-spectral-radiance";
73
+ averageSpectralRadianceWattsPerSquareMeterSteradianNanometer: number;
74
+ integratedSpectralRadianceWattSecondsPerSquareMeterSteradianNanometer: number;
75
+ nodes: readonly {
76
+ nodeId: string;
77
+ captureTimeSecondsFromReference: number;
78
+ normalizedTimeWeight: number;
79
+ timeMeasureSeconds: number;
80
+ spectralRadianceWattsPerSquareMeterSteradianNanometer: number;
81
+ evidence: SceneRadianceEvaluationResult["evidence"];
82
+ uncertainty: SceneRadianceEvaluationResult["uncertainty"];
83
+ }[];
84
+ scientificStatus: "approximation";
85
+ uncertaintyPropagation: "not-propagated";
86
+ uncertaintyLimitation: string;
87
+ sensorReadoutTimingUsedAsExposureTiming: false;
88
+ }
89
+ /**
90
+ * Creates renderer/provider-neutral scene-radiance evaluation nodes over one
91
+ * authoritative local exposure window.
92
+ *
93
+ * The plan deliberately carries capture time separately from the legacy #85
94
+ * request field name. Providers/renderers must evaluate scene/source radiance
95
+ * at node.captureTimeSecondsFromReference on the first-opening-boundary clock.
96
+ */
97
+ export declare function createSceneRadianceTemporalSamplingPlan(input: CreateSceneRadianceTemporalSamplingPlanInput): SceneRadianceTemporalSamplingPlan;
98
+ /**
99
+ * Reduces provider-returned wavelength-resolved scene radiance over the
100
+ * authoritative local exposure window.
101
+ *
102
+ * Every sample must bind to the exact plan node/time/result identity. Numeric
103
+ * uncertainty is retained per node and explicitly not combined because no
104
+ * correlation/independence assumption is introduced.
105
+ */
106
+ export declare function reduceSceneRadianceTemporalSamples(input: ReduceSceneRadianceTemporalSamplesInput): ReducedSceneRadianceTemporalExposure;
107
+ //# sourceMappingURL=scene-radiance-temporal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-radiance-temporal.d.ts","sourceRoot":"","sources":["../../src/schema/scene-radiance-temporal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Module boundary and integration notes.
4
+ * Creates renderer/provider-neutral scene-radiance evaluation nodes over one authoritative local
5
+ * exposure window. The plan deliberately carries capture time separately from the legacy #85 request
6
+ * field name. Providers/renderers must evaluate scene/source radiance at
7
+ * node.captureTimeSecondsFromReference on the first-opening-boundary clock.
8
+ * Reduces provider-returned wavelength-resolved scene radiance over the authoritative local exposure
9
+ * window. Every sample must bind to the exact plan node/time/result identity. Numeric uncertainty is
10
+ * retained per node and explicitly not combined because no correlation/independence assumption is
11
+ * introduced.
12
+ * @see docs/SCENE_RADIANCE_AND_ILLUMINATION.md for equations, coordinate/unit conventions, blockers
13
+ * and support limits.
14
+ */
15
+ import { InvalidScientificInputError, requirePositiveInteger } from "../core/validation.js";
16
+ import { parseSceneRadianceEvaluationRequest, parseSceneRadianceEvaluationResult } from "./scene-radiance.js";
17
+ export const SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION = "0.1.0";
18
+ function requireNonEmptyString(value, path) {
19
+ if (typeof value !== "string" ||
20
+ value.trim().length === 0) {
21
+ throw new InvalidScientificInputError(path +
22
+ " must be a non-empty string.");
23
+ }
24
+ return value.trim();
25
+ }
26
+ function samePoint(a, b) {
27
+ return (a.x === b.x &&
28
+ a.y === b.y);
29
+ }
30
+ function exposureForPoint(timing, point) {
31
+ const matches = timing.exposureWindows.samples.filter((sample) => samePoint(sample.pointNative, point));
32
+ if (matches.length !== 1) {
33
+ throw new InvalidScientificInputError("destinationPointNative must match exactly one committed exposure-window sample.");
34
+ }
35
+ return matches[0];
36
+ }
37
+ function parseQuery(query) {
38
+ // Reuse the canonical #85 request parser for all shared scene/spectral
39
+ // semantics without assigning a misleading legacy time value to the
40
+ // returned temporal query contract.
41
+ const parsed = parseSceneRadianceEvaluationRequest({
42
+ schemaVersion: "0.1.0",
43
+ sampleId: "temporal-query-validation",
44
+ providerProfileId: query.providerProfileId,
45
+ sceneId: query.sceneId,
46
+ illuminationProfileId: query.illuminationProfileId,
47
+ materialResponseProfileId: query.materialResponseProfileId,
48
+ target: query.target,
49
+ timeSecondsFromExposureStart: 0,
50
+ wavelengthNanometers: query.wavelengthNanometers,
51
+ wavelengthBasis: query.wavelengthBasis
52
+ });
53
+ return {
54
+ providerProfileId: parsed.providerProfileId,
55
+ sceneId: parsed.sceneId,
56
+ illuminationProfileId: parsed.illuminationProfileId,
57
+ materialResponseProfileId: parsed.materialResponseProfileId,
58
+ target: parsed.target,
59
+ wavelengthNanometers: parsed.wavelengthNanometers,
60
+ wavelengthBasis: parsed.wavelengthBasis
61
+ };
62
+ }
63
+ /**
64
+ * Creates renderer/provider-neutral scene-radiance evaluation nodes over one
65
+ * authoritative local exposure window.
66
+ *
67
+ * The plan deliberately carries capture time separately from the legacy #85
68
+ * request field name. Providers/renderers must evaluate scene/source radiance
69
+ * at node.captureTimeSecondsFromReference on the first-opening-boundary clock.
70
+ */
71
+ export function createSceneRadianceTemporalSamplingPlan(input) {
72
+ requirePositiveInteger("temporalSampleCount", input.temporalSampleCount);
73
+ const planId = requireNonEmptyString(input.planId, "planId");
74
+ const query = parseQuery(input.query);
75
+ const exposure = exposureForPoint(input.timing, input
76
+ .destinationPointNative);
77
+ const duration = exposure
78
+ .localExposureDurationSeconds;
79
+ if (!Number.isFinite(duration) ||
80
+ duration <= 0) {
81
+ throw new InvalidScientificInputError("Scene-radiance temporal sampling requires a positive finite local exposure duration.");
82
+ }
83
+ const normalizedTimeWeight = 1 /
84
+ input.temporalSampleCount;
85
+ const timeMeasureSeconds = duration /
86
+ input.temporalSampleCount;
87
+ const nodes = Array.from({
88
+ length: input.temporalSampleCount
89
+ }, (_, temporalSampleIndex) => {
90
+ const localExposurePhase = (temporalSampleIndex +
91
+ 0.5) /
92
+ input.temporalSampleCount;
93
+ const captureTime = exposure
94
+ .startOffsetSecondsFromOpeningReference +
95
+ localExposurePhase *
96
+ duration;
97
+ return {
98
+ nodeId: planId +
99
+ ":node:" +
100
+ temporalSampleIndex,
101
+ expectedResultSampleId: planId +
102
+ ":radiance:" +
103
+ temporalSampleIndex,
104
+ temporalSampleIndex,
105
+ localExposurePhase,
106
+ captureTimeSecondsFromReference: captureTime,
107
+ normalizedTimeWeight,
108
+ timeMeasureSeconds
109
+ };
110
+ });
111
+ return {
112
+ version: SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION,
113
+ planId,
114
+ timeReference: "first-opening-boundary-phase",
115
+ timingProfileIdentity: {
116
+ profileId: input.timing
117
+ .timingProfileId,
118
+ profileVersion: input.timing
119
+ .timingProfileVersion,
120
+ captureModeId: input.timing
121
+ .captureModeId
122
+ },
123
+ destinationPointNative: {
124
+ ...input
125
+ .destinationPointNative
126
+ },
127
+ localExposureWindow: {
128
+ startSecondsFromCaptureReference: exposure
129
+ .startOffsetSecondsFromOpeningReference,
130
+ endSecondsFromCaptureReference: exposure
131
+ .endOffsetSecondsFromOpeningReference,
132
+ durationSeconds: duration
133
+ },
134
+ temporalSampleCount: input.temporalSampleCount,
135
+ quadratureScheme: "uniform-midpoint",
136
+ query,
137
+ nodes,
138
+ providerMustEvaluateAtNodeCaptureTime: true,
139
+ sensorReadoutTimingUsedAsExposureTiming: false
140
+ };
141
+ }
142
+ function sameTime(a, b) {
143
+ const scale = Math.max(1, Math.abs(a), Math.abs(b));
144
+ return (Math.abs(a - b) <=
145
+ Number.EPSILON *
146
+ 16 *
147
+ scale);
148
+ }
149
+ /**
150
+ * Reduces provider-returned wavelength-resolved scene radiance over the
151
+ * authoritative local exposure window.
152
+ *
153
+ * Every sample must bind to the exact plan node/time/result identity. Numeric
154
+ * uncertainty is retained per node and explicitly not combined because no
155
+ * correlation/independence assumption is introduced.
156
+ */
157
+ export function reduceSceneRadianceTemporalSamples(input) {
158
+ if (!Array.isArray(input.samples) ||
159
+ input.samples.length !==
160
+ input.plan.nodes.length) {
161
+ throw new InvalidScientificInputError("samples must contain exactly one result for every temporal sampling node.");
162
+ }
163
+ const byNode = new Map(input.samples.map((sample) => [
164
+ sample.nodeId,
165
+ sample
166
+ ]));
167
+ if (byNode.size !==
168
+ input.samples.length) {
169
+ throw new InvalidScientificInputError("samples must not contain duplicate nodeId values.");
170
+ }
171
+ let average = 0;
172
+ let integrated = 0;
173
+ const nodes = input.plan.nodes.map((node) => {
174
+ const supplied = byNode.get(node.nodeId);
175
+ if (supplied === undefined) {
176
+ throw new InvalidScientificInputError("A temporal scene-radiance node result is missing.");
177
+ }
178
+ if (!Number.isFinite(supplied
179
+ .captureTimeSecondsFromReference) ||
180
+ !sameTime(supplied
181
+ .captureTimeSecondsFromReference, node
182
+ .captureTimeSecondsFromReference)) {
183
+ throw new InvalidScientificInputError("Temporal scene-radiance sample time must match its authoritative plan node.");
184
+ }
185
+ const result = parseSceneRadianceEvaluationResult(supplied.result);
186
+ if (result.sampleId !==
187
+ node.expectedResultSampleId ||
188
+ result.providerProfileId !==
189
+ input.plan.query
190
+ .providerProfileId ||
191
+ result.sceneId !==
192
+ input.plan.query
193
+ .sceneId ||
194
+ result.wavelengthNanometers !==
195
+ input.plan.query
196
+ .wavelengthNanometers ||
197
+ result.wavelengthBasis !==
198
+ input.plan.query
199
+ .wavelengthBasis) {
200
+ throw new InvalidScientificInputError("Temporal scene-radiance result identity must match the plan node/query exactly.");
201
+ }
202
+ const value = result
203
+ .spectralRadianceWattsPerSquareMeterSteradianNanometer;
204
+ average +=
205
+ value *
206
+ node
207
+ .normalizedTimeWeight;
208
+ integrated +=
209
+ value *
210
+ node
211
+ .timeMeasureSeconds;
212
+ return {
213
+ nodeId: node.nodeId,
214
+ captureTimeSecondsFromReference: node
215
+ .captureTimeSecondsFromReference,
216
+ normalizedTimeWeight: node
217
+ .normalizedTimeWeight,
218
+ timeMeasureSeconds: node
219
+ .timeMeasureSeconds,
220
+ spectralRadianceWattsPerSquareMeterSteradianNanometer: value,
221
+ evidence: result.evidence,
222
+ uncertainty: result.uncertainty
223
+ };
224
+ });
225
+ if (!Number.isFinite(average) ||
226
+ average < 0 ||
227
+ !Number.isFinite(integrated) ||
228
+ integrated < 0) {
229
+ throw new InvalidScientificInputError("Reduced temporal scene radiance must remain finite and non-negative.");
230
+ }
231
+ return {
232
+ version: SCENE_RADIANCE_TEMPORAL_SAMPLING_PLAN_VERSION,
233
+ planId: input.plan.planId,
234
+ timeReference: "first-opening-boundary-phase",
235
+ localExposureWindow: {
236
+ ...input.plan
237
+ .localExposureWindow
238
+ },
239
+ temporalSampleCount: input.plan
240
+ .temporalSampleCount,
241
+ quadratureScheme: "uniform-midpoint",
242
+ providerProfileId: input.plan.query
243
+ .providerProfileId,
244
+ sceneId: input.plan.query.sceneId,
245
+ wavelengthNanometers: input.plan.query
246
+ .wavelengthNanometers,
247
+ wavelengthBasis: input.plan.query
248
+ .wavelengthBasis,
249
+ quantity: "outgoing-spectral-radiance",
250
+ averageSpectralRadianceWattsPerSquareMeterSteradianNanometer: average,
251
+ integratedSpectralRadianceWattSecondsPerSquareMeterSteradianNanometer: integrated,
252
+ nodes,
253
+ scientificStatus: "approximation",
254
+ uncertaintyPropagation: "not-propagated",
255
+ uncertaintyLimitation: "Per-node scene-radiance uncertainty is preserved; aggregate numeric uncertainty is not propagated because temporal correlation is not assumed.",
256
+ sensorReadoutTimingUsedAsExposureTiming: false
257
+ };
258
+ }
259
+ //# sourceMappingURL=scene-radiance-temporal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-radiance-temporal.js","sourceRoot":"","sources":["../../src/schema/scene-radiance-temporal.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAGnC,MAAM,qBAAqB,CAAC;AAK7B,MAAM,CAAC,MAAM,6CAA6C,GACxD,OAAgB,CAAC;AA+HnB,SAAS,qBAAqB,CAC5B,KAAa,EACb,IAAY;IAEZ,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACzB,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,IAAI;YACF,8BAA8B,CACjC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAChB,CAAc,EACd,CAAc;IAEd,OAAO,CACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,MAC2B,EAC3B,KACa;IAEb,MAAM,OAAO,GACX,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CACnC,CAAC,MAAM,EAAE,EAAE,CACT,SAAS,CACP,MAAM,CAAC,WAAW,EAClB,KAAK,CACN,CACJ,CAAC;IACJ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,2BAA2B,CACnC,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CACjB,KAC4B;IAE5B,uEAAuE;IACvE,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,MAAM,GACV,mCAAmC,CAAC;QAClC,aAAa,EAAE,OAAO;QACtB,QAAQ,EACN,2BAA2B;QAC7B,iBAAiB,EACf,KAAK,CAAC,iBAAiB;QACzB,OAAO,EACL,KAAK,CAAC,OAAO;QACf,qBAAqB,EACnB,KAAK,CAAC,qBAAqB;QAC7B,yBAAyB,EACvB,KAAK,CAAC,yBAAyB;QACjC,MAAM,EACJ,KAAK,CAAC,MAAM;QACd,4BAA4B,EAC1B,CAAC;QACH,oBAAoB,EAClB,KAAK,CAAC,oBAAoB;QAC5B,eAAe,EACb,KAAK,CAAC,eAAe;KACxB,CAAC,CAAC;IAEL,OAAO;QACL,iBAAiB,EACf,MAAM,CAAC,iBAAiB;QAC1B,OAAO,EACL,MAAM,CAAC,OAAO;QAChB,qBAAqB,EACnB,MAAM,CAAC,qBAAqB;QAC9B,yBAAyB,EACvB,MAAM,CAAC,yBAAyB;QAClC,MAAM,EACJ,MAAM,CAAC,MAAM;QACf,oBAAoB,EAClB,MAAM,CAAC,oBAAoB;QAC7B,eAAe,EACb,MAAM,CAAC,eAAe;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uCAAuC,CACrD,KAC8C;IAE9C,sBAAsB,CACpB,qBAAqB,EACrB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;IACF,MAAM,MAAM,GACV,qBAAqB,CACnB,KAAK,CAAC,MAAM,EACZ,QAAQ,CACT,CAAC;IACJ,MAAM,KAAK,GACT,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,QAAQ,GACZ,gBAAgB,CACd,KAAK,CAAC,MAAM,EACZ,KAAK;SACF,sBAAsB,CAC1B,CAAC;IACJ,MAAM,QAAQ,GACZ,QAAQ;SACL,4BAA4B,CAAC;IAElC,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,QAAQ,IAAI,CAAC,EACb,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GACxB,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC;IAC5B,MAAM,kBAAkB,GACtB,QAAQ;QACR,KAAK,CAAC,mBAAmB,CAAC;IAE5B,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,CACR;QACE,MAAM,EACJ,KAAK,CAAC,mBAAmB;KAC5B,EACD,CACE,CAAC,EACD,mBAAmB,EACnB,EAAE;QACF,MAAM,kBAAkB,GACtB,CAAC,mBAAmB;YAClB,GAAG,CAAC;YACN,KAAK,CAAC,mBAAmB,CAAC;QAC5B,MAAM,WAAW,GACf,QAAQ;aACL,sCAAsC;YACzC,kBAAkB;gBAChB,QAAQ,CAAC;QACb,OAAO;YACL,MAAM,EACJ,MAAM;gBACN,QAAQ;gBACR,mBAAmB;YACrB,sBAAsB,EACpB,MAAM;gBACN,YAAY;gBACZ,mBAAmB;YACrB,mBAAmB;YACnB,kBAAkB;YAClB,+BAA+B,EAC7B,WAAW;YACb,oBAAoB;YACpB,kBAAkB;SACnB,CAAC;IACJ,CAAC,CACF,CAAC;IAEJ,OAAO;QACL,OAAO,EACL,6CAA6C;QAC/C,MAAM;QACN,aAAa,EACX,8BAA8B;QAChC,qBAAqB,EAAE;YACrB,SAAS,EACP,KAAK,CAAC,MAAM;iBACT,eAAe;YACpB,cAAc,EACZ,KAAK,CAAC,MAAM;iBACT,oBAAoB;YACzB,aAAa,EACX,KAAK,CAAC,MAAM;iBACT,aAAa;SACnB;QACD,sBAAsB,EAAE;YACtB,GAAG,KAAK;iBACL,sBAAsB;SAC1B;QACD,mBAAmB,EAAE;YACnB,gCAAgC,EAC9B,QAAQ;iBACL,sCAAsC;YAC3C,8BAA8B,EAC5B,QAAQ;iBACL,oCAAoC;YACzC,eAAe,EACb,QAAQ;SACX;QACD,mBAAmB,EACjB,KAAK,CAAC,mBAAmB;QAC3B,gBAAgB,EACd,kBAAkB;QACpB,KAAK;QACL,KAAK;QACL,qCAAqC,EACnC,IAAI;QACN,uCAAuC,EACrC,KAAK;KACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,CAAS,EACT,CAAS;IAET,MAAM,KAAK,GACT,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ,CAAC;IACJ,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,OAAO;YACZ,EAAE;YACF,KAAK,CACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kCAAkC,CAChD,KACyC;IAEzC,IACE,CAAC,KAAK,CAAC,OAAO,CACZ,KAAK,CAAC,OAAO,CACd;QACD,KAAK,CAAC,OAAO,CAAC,MAAM;YAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,IAAI,GAAG,CACL,KAAK,CAAC,OAAO,CAAC,GAAG,CACf,CAAC,MAAM,EAAE,EAAE,CAAC;QACV,MAAM,CAAC,MAAM;QACb,MAAM;KACE,CACX,CACF,CAAC;IACJ,IACE,MAAM,CAAC,IAAI;QACX,KAAK,CAAC,OAAO,CAAC,MAAM,EACpB,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,QAAQ,GACZ,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,2BAA2B,CACnC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,IACE,CAAC,MAAM,CAAC,QAAQ,CACd,QAAQ;aACL,+BAA+B,CACnC;YACD,CAAC,QAAQ,CACP,QAAQ;iBACL,+BAA+B,EAClC,IAAI;iBACD,+BAA+B,CACnC,EACD,CAAC;YACD,MAAM,IAAI,2BAA2B,CACnC,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,kCAAkC,CAChC,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,IACE,MAAM,CAAC,QAAQ;YACb,IAAI,CAAC,sBAAsB;YAC7B,MAAM,CAAC,iBAAiB;gBACtB,KAAK,CAAC,IAAI,CAAC,KAAK;qBACb,iBAAiB;YACtB,MAAM,CAAC,OAAO;gBACZ,KAAK,CAAC,IAAI,CAAC,KAAK;qBACb,OAAO;YACZ,MAAM,CAAC,oBAAoB;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK;qBACb,oBAAoB;YACzB,MAAM,CAAC,eAAe;gBACpB,KAAK,CAAC,IAAI,CAAC,KAAK;qBACb,eAAe,EACpB,CAAC;YACD,MAAM,IAAI,2BAA2B,CACnC,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,MAAM;aACH,qDAAqD,CAAC;QAC3D,OAAO;YACL,KAAK;gBACL,IAAI;qBACD,oBAAoB,CAAC;QAC1B,UAAU;YACR,KAAK;gBACL,IAAI;qBACD,kBAAkB,CAAC;QAExB,OAAO;YACL,MAAM,EACJ,IAAI,CAAC,MAAM;YACb,+BAA+B,EAC7B,IAAI;iBACD,+BAA+B;YACpC,oBAAoB,EAClB,IAAI;iBACD,oBAAoB;YACzB,kBAAkB,EAChB,IAAI;iBACD,kBAAkB;YACvB,qDAAqD,EACnD,KAAK;YACP,QAAQ,EACN,MAAM,CAAC,QAAQ;YACjB,WAAW,EACT,MAAM,CAAC,WAAW;SACrB,CAAC;IACJ,CAAC,CACF,CAAC;IAEJ,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,OAAO,GAAG,CAAC;QACX,CAAC,MAAM,CAAC,QAAQ,CACd,UAAU,CACX;QACD,UAAU,GAAG,CAAC,EACd,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EACL,6CAA6C;QAC/C,MAAM,EACJ,KAAK,CAAC,IAAI,CAAC,MAAM;QACnB,aAAa,EACX,8BAA8B;QAChC,mBAAmB,EAAE;YACnB,GAAG,KAAK,CAAC,IAAI;iBACV,mBAAmB;SACvB;QACD,mBAAmB,EACjB,KAAK,CAAC,IAAI;aACP,mBAAmB;QACxB,gBAAgB,EACd,kBAAkB;QACpB,iBAAiB,EACf,KAAK,CAAC,IAAI,CAAC,KAAK;aACb,iBAAiB;QACtB,OAAO,EACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;QAC1B,oBAAoB,EAClB,KAAK,CAAC,IAAI,CAAC,KAAK;aACb,oBAAoB;QACzB,eAAe,EACb,KAAK,CAAC,IAAI,CAAC,KAAK;aACb,eAAe;QACpB,QAAQ,EACN,4BAA4B;QAC9B,4DAA4D,EAC1D,OAAO;QACT,qEAAqE,EACnE,UAAU;QACZ,KAAK;QACL,gBAAgB,EACd,eAAe;QACjB,sBAAsB,EACpB,gBAAgB;QAClB,qBAAqB,EACnB,gJAAgJ;QAClJ,uCAAuC,EACrC,KAAK;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { type EvidenceProvenance } from "../core/evidence-provenance.js";
2
+ import { type SpectralWavelengthBasis, type SpectralWavelengthRangeNanometers } from "../core/spectral.js";
3
+ import type { SceneIlluminationProfile } from "./illumination.js";
4
+ import type { SceneIlluminationTemporalProfile } from "./illumination-temporal.js";
5
+ import type { Vector3 } from "./scene.js";
6
+ export declare const SCENE_MATERIAL_RESPONSE_PROFILE_SCHEMA_VERSION: "0.1.0";
7
+ export declare const SCENE_RADIANCE_PROVIDER_PROFILE_SCHEMA_VERSION: "0.1.0";
8
+ export declare const SCENE_RADIANCE_EVALUATION_SCHEMA_VERSION: "0.1.0";
9
+ export type SceneRadianceScientificStatus = "calibrated" | "approximation";
10
+ export type SceneRadianceUncertainty = {
11
+ kind: "relative";
12
+ fraction: number;
13
+ basis: string;
14
+ } | {
15
+ kind: "not-quantified";
16
+ limitation: string;
17
+ };
18
+ export interface SceneRadianceDataArtifactReference {
19
+ id: string;
20
+ checksumSha256: string;
21
+ }
22
+ export type SceneMaterialResponseRepresentation = {
23
+ kind: "unresolved";
24
+ limitation: string;
25
+ } | {
26
+ kind: "rgb-pbr-approximation";
27
+ colorSpace: "linear-srgb";
28
+ baseColor: {
29
+ red: number;
30
+ green: number;
31
+ blue: number;
32
+ };
33
+ metallic: number;
34
+ roughness: number;
35
+ limitation: string;
36
+ } | {
37
+ kind: "spectral-wavelength-preserving-data";
38
+ dataArtifact: SceneRadianceDataArtifactReference;
39
+ wavelengthBasis: SpectralWavelengthBasis;
40
+ wavelengthRangeNanometers: SpectralWavelengthRangeNanometers;
41
+ scatteringModel: "provider-defined-wavelength-preserving";
42
+ scientificStatus: SceneRadianceScientificStatus;
43
+ uncertainty: SceneRadianceUncertainty;
44
+ wavelengthChangingBehaviorModeled: false;
45
+ emissionModeled: false;
46
+ };
47
+ export interface SceneMaterialResponseDefinition {
48
+ materialResponseId: string;
49
+ evidence: readonly EvidenceProvenance[];
50
+ representation: SceneMaterialResponseRepresentation;
51
+ }
52
+ export interface SceneMaterialResponseProfile {
53
+ schemaVersion: typeof SCENE_MATERIAL_RESPONSE_PROFILE_SCHEMA_VERSION;
54
+ profileId: string;
55
+ sceneId: string;
56
+ evidence: readonly EvidenceProvenance[];
57
+ materials: readonly SceneMaterialResponseDefinition[];
58
+ fluorescenceModeled: false;
59
+ volumetricMaterialTransportModeled: false;
60
+ polarizationModeled: false;
61
+ }
62
+ export type SceneMaterialResponseFidelity = "spectral-data" | "rgb-pbr-approximation" | "mixed" | "unresolved";
63
+ export type SceneRadianceProviderSpectralFidelity = "wavelength-resolved" | "rgb-derived-approximation";
64
+ export type SceneRadianceProviderVisibilityFidelity = "resolved" | "approximation" | "not-modeled";
65
+ export type SceneRadianceProviderTransportFidelity = "resolved" | "approximation" | "not-modeled";
66
+ export interface SceneRadianceProviderProfile {
67
+ schemaVersion: typeof SCENE_RADIANCE_PROVIDER_PROFILE_SCHEMA_VERSION;
68
+ profileId: string;
69
+ sceneId: string;
70
+ illuminationProfileId: string;
71
+ illuminationTemporalProfileId?: string;
72
+ materialResponseProfileId: string;
73
+ outputQuantity: "outgoing-spectral-radiance";
74
+ outputUnit: "W/m^2/sr/nm";
75
+ scientificStatus: "approximation";
76
+ uncertainty: SceneRadianceUncertainty;
77
+ fidelity: {
78
+ spectral: SceneRadianceProviderSpectralFidelity;
79
+ material: SceneMaterialResponseFidelity;
80
+ visibility: SceneRadianceProviderVisibilityFidelity;
81
+ directTransport: SceneRadianceProviderTransportFidelity;
82
+ indirectTransport: SceneRadianceProviderTransportFidelity;
83
+ };
84
+ wavelengthChangingTransportModeled: false;
85
+ volumetricTransportModeled: false;
86
+ polarizationModeled: false;
87
+ evidence: readonly EvidenceProvenance[];
88
+ limitations: readonly string[];
89
+ }
90
+ export type SceneRadianceEvaluationTarget = {
91
+ kind: "surface-point";
92
+ sceneObjectId: string;
93
+ materialResponseId: string;
94
+ positionM: Vector3;
95
+ outgoingDirectionUnitVector: Vector3;
96
+ } | {
97
+ kind: "environment-direction";
98
+ outgoingDirectionUnitVector: Vector3;
99
+ };
100
+ export interface SceneRadianceEvaluationRequest {
101
+ schemaVersion: typeof SCENE_RADIANCE_EVALUATION_SCHEMA_VERSION;
102
+ sampleId: string;
103
+ providerProfileId: string;
104
+ sceneId: string;
105
+ illuminationProfileId: string;
106
+ materialResponseProfileId: string;
107
+ target: SceneRadianceEvaluationTarget;
108
+ timeSecondsFromExposureStart: number;
109
+ wavelengthNanometers: number;
110
+ wavelengthBasis: Exclude<SpectralWavelengthBasis, "unspecified">;
111
+ }
112
+ export interface SceneRadianceEvaluationResult {
113
+ schemaVersion: typeof SCENE_RADIANCE_EVALUATION_SCHEMA_VERSION;
114
+ sampleId: string;
115
+ providerProfileId: string;
116
+ sceneId: string;
117
+ wavelengthNanometers: number;
118
+ wavelengthBasis: Exclude<SpectralWavelengthBasis, "unspecified">;
119
+ quantity: "outgoing-spectral-radiance";
120
+ unit: "W/m^2/sr/nm";
121
+ spectralRadianceWattsPerSquareMeterSteradianNanometer: number;
122
+ scientificStatus: "approximation";
123
+ uncertainty: SceneRadianceUncertainty;
124
+ evidence: readonly EvidenceProvenance[];
125
+ limitations: readonly string[];
126
+ }
127
+ export interface ValidateSceneRadianceEvaluationBindingsInput {
128
+ providerProfile: SceneRadianceProviderProfile;
129
+ illuminationProfile: SceneIlluminationProfile;
130
+ illuminationTemporalProfile?: SceneIlluminationTemporalProfile;
131
+ materialResponseProfile: SceneMaterialResponseProfile;
132
+ request: SceneRadianceEvaluationRequest;
133
+ result: SceneRadianceEvaluationResult;
134
+ }
135
+ export interface SceneRadianceEvaluationBindingAssessment {
136
+ providerBindingsMatched: true;
137
+ requestResultIdentityMatched: true;
138
+ materialResponseFidelity: SceneMaterialResponseFidelity;
139
+ temporalIlluminationProfileBound: boolean;
140
+ calibratedRadianceClaimAuthorized: false;
141
+ sensorPlaneIrradianceCalculated: false;
142
+ opticsApplied: false;
143
+ photonsCalculated: false;
144
+ }
145
+ /**
146
+ * Parses material-response metadata consumed by a scene-radiance provider.
147
+ *
148
+ * RGB/PBR data is approximation-only. Spectral data describes a
149
+ * wavelength-preserving provider input and does not itself calculate a BSDF,
150
+ * scene radiance, fluorescence, emission, volumetrics, or polarization.
151
+ */
152
+ export declare function parseSceneMaterialResponseProfile(value: unknown): SceneMaterialResponseProfile;
153
+ /**
154
+ * Returns the conservative material fidelity represented by a profile.
155
+ */
156
+ export declare function assessSceneMaterialResponseFidelity(profile: SceneMaterialResponseProfile): SceneMaterialResponseFidelity;
157
+ /**
158
+ * Parses a renderer-neutral provider capability/profile declaration.
159
+ *
160
+ * Schema 0.1.0 is deliberately approximation-only. A provider may consume
161
+ * calibrated inputs, but this contract does not authorize a calibrated
162
+ * outgoing-radiance claim until later spectral/transport completeness work.
163
+ */
164
+ export declare function parseSceneRadianceProviderProfile(value: unknown): SceneRadianceProviderProfile;
165
+ /**
166
+ * Parses one provider evaluation request at an explicit scene target,
167
+ * physical time, wavelength, and outgoing direction.
168
+ */
169
+ export declare function parseSceneRadianceEvaluationRequest(value: unknown): SceneRadianceEvaluationRequest;
170
+ /**
171
+ * Parses one provider-produced outgoing spectral-radiance result.
172
+ *
173
+ * The numeric value is accepted as provider output; parsing validates units,
174
+ * finite/nonnegative value, provenance, and identity fields but does not prove
175
+ * that the provider's transport calculation is physically correct.
176
+ */
177
+ export declare function parseSceneRadianceEvaluationResult(value: unknown): SceneRadianceEvaluationResult;
178
+ /**
179
+ * Validates exact identity/binding relationships around provider output.
180
+ *
181
+ * This function never recomputes the radiance value and never promotes the
182
+ * provider's approximation to calibrated radiometry.
183
+ */
184
+ export declare function validateSceneRadianceEvaluationBindings(input: ValidateSceneRadianceEvaluationBindingsInput): SceneRadianceEvaluationBindingAssessment;
185
+ //# sourceMappingURL=scene-radiance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-radiance.d.ts","sourceRoot":"","sources":["../../src/schema/scene-radiance.ts"],"names":[],"mappings":"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"}