cbrowser 20.2.2 → 21.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 (302) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis/accessibility-empathy.d.ts +29 -1
  3. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  4. package/dist/analysis/accessibility-empathy.js +69 -35
  5. package/dist/analysis/accessibility-empathy.js.map +1 -1
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +11 -7
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cif-score.d.ts +56 -5
  10. package/dist/cif-score.d.ts.map +1 -1
  11. package/dist/cif-score.js +595 -346
  12. package/dist/cif-score.js.map +1 -1
  13. package/dist/cli.js +10 -8
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cognitive/default-traits.d.ts +14 -0
  16. package/dist/cognitive/default-traits.d.ts.map +1 -0
  17. package/dist/cognitive/default-traits.js +36 -0
  18. package/dist/cognitive/default-traits.js.map +1 -0
  19. package/dist/cognitive/emotions.d.ts.map +1 -1
  20. package/dist/cognitive/emotions.js +104 -174
  21. package/dist/cognitive/emotions.js.map +1 -1
  22. package/dist/cognitive/index.d.ts +28 -0
  23. package/dist/cognitive/index.d.ts.map +1 -1
  24. package/dist/cognitive/index.js +353 -287
  25. package/dist/cognitive/index.js.map +1 -1
  26. package/dist/cognitive/temporal.d.ts +0 -24
  27. package/dist/cognitive/temporal.d.ts.map +1 -1
  28. package/dist/cognitive/temporal.js +45 -35
  29. package/dist/cognitive/temporal.js.map +1 -1
  30. package/dist/data/ctc-reference-v2-2026-10-24.d.ts +16 -0
  31. package/dist/data/ctc-reference-v2-2026-10-24.d.ts.map +1 -0
  32. package/dist/data/ctc-reference-v2-2026-10-24.js +1004 -0
  33. package/dist/data/ctc-reference-v2-2026-10-24.js.map +1 -0
  34. package/dist/ideal-profiles-gap.d.ts +1 -0
  35. package/dist/ideal-profiles-gap.d.ts.map +1 -1
  36. package/dist/ideal-profiles-gap.js +9 -1
  37. package/dist/ideal-profiles-gap.js.map +1 -1
  38. package/dist/ideal-profiles.d.ts +8 -0
  39. package/dist/ideal-profiles.d.ts.map +1 -1
  40. package/dist/ideal-profiles.js +28 -24
  41. package/dist/ideal-profiles.js.map +1 -1
  42. package/dist/mcp-server-remote.d.ts.map +1 -1
  43. package/dist/mcp-server-remote.js +7 -8
  44. package/dist/mcp-server-remote.js.map +1 -1
  45. package/dist/mcp-tools/account-personas.d.ts.map +1 -1
  46. package/dist/mcp-tools/account-personas.js +3 -1
  47. package/dist/mcp-tools/account-personas.js.map +1 -1
  48. package/dist/mcp-tools/base/answer-provenance.d.ts +28 -0
  49. package/dist/mcp-tools/base/answer-provenance.d.ts.map +1 -0
  50. package/dist/mcp-tools/base/answer-provenance.js +32 -0
  51. package/dist/mcp-tools/base/answer-provenance.js.map +1 -0
  52. package/dist/mcp-tools/base/audit-tools.d.ts +0 -3
  53. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  54. package/dist/mcp-tools/base/audit-tools.js +152 -84
  55. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  56. package/dist/mcp-tools/base/capture-tools.js +1 -1
  57. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  58. package/dist/mcp-tools/base/chain-values.d.ts +38 -0
  59. package/dist/mcp-tools/base/chain-values.d.ts.map +1 -0
  60. package/dist/mcp-tools/base/chain-values.js +85 -0
  61. package/dist/mcp-tools/base/chain-values.js.map +1 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +126 -120
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/gif-tools.js +23 -5
  67. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  69. package/dist/mcp-tools/base/persona-comparison-tools.js +229 -172
  70. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  71. package/dist/mcp-tools/base/site-familiarity.d.ts +31 -0
  72. package/dist/mcp-tools/base/site-familiarity.d.ts.map +1 -0
  73. package/dist/mcp-tools/base/site-familiarity.js +30 -0
  74. package/dist/mcp-tools/base/site-familiarity.js.map +1 -0
  75. package/dist/mcp-tools/base/site-knowledge-tools.js +1 -1
  76. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/story-narrative.d.ts +50 -0
  78. package/dist/mcp-tools/base/story-narrative.d.ts.map +1 -0
  79. package/dist/mcp-tools/base/story-narrative.js +88 -0
  80. package/dist/mcp-tools/base/story-narrative.js.map +1 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +19 -5
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts +5 -5
  85. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  86. package/dist/mcp-tools/base/visual-testing-tools.js +38 -11
  87. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  88. package/dist/mcp-tools/persona-creation-tools.js +6 -6
  89. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  90. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -1
  91. package/dist/mcp-tools/persona-lifecycle-tools.js +5 -1
  92. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -1
  93. package/dist/mcp-tools/tier-gate.js +1 -1
  94. package/dist/mcp-tools/tool-result-saver.d.ts +7 -0
  95. package/dist/mcp-tools/tool-result-saver.d.ts.map +1 -1
  96. package/dist/mcp-tools/tool-result-saver.js +11 -0
  97. package/dist/mcp-tools/tool-result-saver.js.map +1 -1
  98. package/dist/mcp-tools/trait-provenance.d.ts +109 -0
  99. package/dist/mcp-tools/trait-provenance.d.ts.map +1 -0
  100. package/dist/mcp-tools/trait-provenance.js +187 -0
  101. package/dist/mcp-tools/trait-provenance.js.map +1 -0
  102. package/dist/mcp-tools/ui-resources.d.ts +6 -7
  103. package/dist/mcp-tools/ui-resources.d.ts.map +1 -1
  104. package/dist/mcp-tools/ui-resources.js +162 -12
  105. package/dist/mcp-tools/ui-resources.js.map +1 -1
  106. package/dist/mcp-tools/widget-kit.d.ts +129 -3
  107. package/dist/mcp-tools/widget-kit.d.ts.map +1 -1
  108. package/dist/mcp-tools/widget-kit.js +507 -28
  109. package/dist/mcp-tools/widget-kit.js.map +1 -1
  110. package/dist/performance/metrics.d.ts.map +1 -1
  111. package/dist/performance/metrics.js +4 -1
  112. package/dist/performance/metrics.js.map +1 -1
  113. package/dist/persona-questionnaire.js +1 -1
  114. package/dist/persona-questionnaire.js.map +1 -1
  115. package/dist/personas.d.ts.map +1 -1
  116. package/dist/personas.js +133 -82
  117. package/dist/personas.js.map +1 -1
  118. package/dist/recording/engine.d.ts.map +1 -1
  119. package/dist/recording/engine.js +5 -2
  120. package/dist/recording/engine.js.map +1 -1
  121. package/dist/recording/saliency-overlay.d.ts +8 -3
  122. package/dist/recording/saliency-overlay.d.ts.map +1 -1
  123. package/dist/recording/saliency-overlay.js +14 -5
  124. package/dist/recording/saliency-overlay.js.map +1 -1
  125. package/dist/recording/types.js +1 -1
  126. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  127. package/dist/testing/nl-test-suite.js +2 -1
  128. package/dist/testing/nl-test-suite.js.map +1 -1
  129. package/dist/trait-reference.d.ts +19 -2
  130. package/dist/trait-reference.d.ts.map +1 -1
  131. package/dist/trait-reference.js +19 -2
  132. package/dist/trait-reference.js.map +1 -1
  133. package/dist/types.d.ts +32 -21
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +62 -52
  136. package/dist/types.js.map +1 -1
  137. package/dist/values/persona-completeness.js +1 -1
  138. package/dist/values/persona-completeness.js.map +1 -1
  139. package/dist/visual/ab-comparison.d.ts.map +1 -1
  140. package/dist/visual/ab-comparison.js +4 -1
  141. package/dist/visual/ab-comparison.js.map +1 -1
  142. package/dist/visual/attention-quality.d.ts +1 -1
  143. package/dist/visual/attention-quality.js +1 -1
  144. package/dist/visual/attention-transport.d.ts +74 -10
  145. package/dist/visual/attention-transport.d.ts.map +1 -1
  146. package/dist/visual/attention-transport.js +353 -193
  147. package/dist/visual/attention-transport.js.map +1 -1
  148. package/dist/visual/cognitive-models.d.ts +77 -55
  149. package/dist/visual/cognitive-models.d.ts.map +1 -1
  150. package/dist/visual/cognitive-models.js +231 -104
  151. package/dist/visual/cognitive-models.js.map +1 -1
  152. package/dist/visual/cognitive-transport-chain.d.ts +328 -30
  153. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  154. package/dist/visual/cognitive-transport-chain.js +576 -353
  155. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  156. package/dist/visual/cognitive-transport.d.ts +446 -13
  157. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  158. package/dist/visual/cognitive-transport.js +1085 -245
  159. package/dist/visual/cognitive-transport.js.map +1 -1
  160. package/dist/visual/cross-browser.d.ts.map +1 -1
  161. package/dist/visual/cross-browser.js +8 -6
  162. package/dist/visual/cross-browser.js.map +1 -1
  163. package/dist/visual/ctc-bands.d.ts +91 -0
  164. package/dist/visual/ctc-bands.d.ts.map +1 -0
  165. package/dist/visual/ctc-bands.js +117 -0
  166. package/dist/visual/ctc-bands.js.map +1 -0
  167. package/dist/visual/ctc-reference.d.ts +287 -0
  168. package/dist/visual/ctc-reference.d.ts.map +1 -0
  169. package/dist/visual/ctc-reference.js +376 -0
  170. package/dist/visual/ctc-reference.js.map +1 -0
  171. package/dist/visual/demand-laws.d.ts +145 -0
  172. package/dist/visual/demand-laws.d.ts.map +1 -0
  173. package/dist/visual/demand-laws.js +220 -0
  174. package/dist/visual/demand-laws.js.map +1 -0
  175. package/dist/visual/distance-metrics.d.ts +23 -1
  176. package/dist/visual/distance-metrics.d.ts.map +1 -1
  177. package/dist/visual/distance-metrics.js +49 -18
  178. package/dist/visual/distance-metrics.js.map +1 -1
  179. package/dist/visual/dro-bound.d.ts +220 -0
  180. package/dist/visual/dro-bound.d.ts.map +1 -0
  181. package/dist/visual/dro-bound.js +341 -0
  182. package/dist/visual/dro-bound.js.map +1 -0
  183. package/dist/visual/exact-w1.d.ts +60 -0
  184. package/dist/visual/exact-w1.d.ts.map +1 -0
  185. package/dist/visual/exact-w1.js +247 -0
  186. package/dist/visual/exact-w1.js.map +1 -0
  187. package/dist/visual/human-input.d.ts.map +1 -1
  188. package/dist/visual/human-input.js +45 -41
  189. package/dist/visual/human-input.js.map +1 -1
  190. package/dist/visual/index.d.ts +2 -0
  191. package/dist/visual/index.d.ts.map +1 -1
  192. package/dist/visual/index.js +2 -0
  193. package/dist/visual/index.js.map +1 -1
  194. package/dist/visual/law-times-report.d.ts +49 -0
  195. package/dist/visual/law-times-report.d.ts.map +1 -0
  196. package/dist/visual/law-times-report.js +38 -0
  197. package/dist/visual/law-times-report.js.map +1 -0
  198. package/dist/visual/model-provenance.d.ts +151 -0
  199. package/dist/visual/model-provenance.d.ts.map +1 -0
  200. package/dist/visual/model-provenance.js +334 -0
  201. package/dist/visual/model-provenance.js.map +1 -0
  202. package/dist/visual/normal-cdf.d.ts +14 -0
  203. package/dist/visual/normal-cdf.d.ts.map +1 -0
  204. package/dist/visual/normal-cdf.js +26 -0
  205. package/dist/visual/normal-cdf.js.map +1 -0
  206. package/dist/visual/perceptual-transport.d.ts +28 -4
  207. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  208. package/dist/visual/perceptual-transport.js +66 -32
  209. package/dist/visual/perceptual-transport.js.map +1 -1
  210. package/dist/visual/provenance/attention.d.ts +55 -0
  211. package/dist/visual/provenance/attention.d.ts.map +1 -0
  212. package/dist/visual/provenance/attention.js +188 -0
  213. package/dist/visual/provenance/attention.js.map +1 -0
  214. package/dist/visual/provenance/chain.d.ts +41 -0
  215. package/dist/visual/provenance/chain.d.ts.map +1 -0
  216. package/dist/visual/provenance/chain.js +66 -0
  217. package/dist/visual/provenance/chain.js.map +1 -0
  218. package/dist/visual/provenance/cif.d.ts +42 -0
  219. package/dist/visual/provenance/cif.d.ts.map +1 -0
  220. package/dist/visual/provenance/cif.js +116 -0
  221. package/dist/visual/provenance/cif.js.map +1 -0
  222. package/dist/visual/provenance/ctc-reference.d.ts +36 -0
  223. package/dist/visual/provenance/ctc-reference.d.ts.map +1 -0
  224. package/dist/visual/provenance/ctc-reference.js +96 -0
  225. package/dist/visual/provenance/ctc-reference.js.map +1 -0
  226. package/dist/visual/provenance/distance.d.ts +10 -0
  227. package/dist/visual/provenance/distance.d.ts.map +1 -0
  228. package/dist/visual/provenance/distance.js +72 -0
  229. package/dist/visual/provenance/distance.js.map +1 -0
  230. package/dist/visual/provenance/dro.d.ts +10 -0
  231. package/dist/visual/provenance/dro.d.ts.map +1 -0
  232. package/dist/visual/provenance/dro.js +2 -0
  233. package/dist/visual/provenance/dro.js.map +1 -0
  234. package/dist/visual/provenance/emotion.d.ts +26 -0
  235. package/dist/visual/provenance/emotion.d.ts.map +1 -0
  236. package/dist/visual/provenance/emotion.js +99 -0
  237. package/dist/visual/provenance/emotion.js.map +1 -0
  238. package/dist/visual/provenance/human-input.d.ts +19 -0
  239. package/dist/visual/provenance/human-input.d.ts.map +1 -0
  240. package/dist/visual/provenance/human-input.js +84 -0
  241. package/dist/visual/provenance/human-input.js.map +1 -0
  242. package/dist/visual/provenance/journey-group.d.ts +15 -0
  243. package/dist/visual/provenance/journey-group.d.ts.map +1 -0
  244. package/dist/visual/provenance/journey-group.js +15 -0
  245. package/dist/visual/provenance/journey-group.js.map +1 -0
  246. package/dist/visual/provenance/journey-mcp.d.ts +24 -0
  247. package/dist/visual/provenance/journey-mcp.d.ts.map +1 -0
  248. package/dist/visual/provenance/journey-mcp.js +54 -0
  249. package/dist/visual/provenance/journey-mcp.js.map +1 -0
  250. package/dist/visual/provenance/journey.d.ts +34 -0
  251. package/dist/visual/provenance/journey.d.ts.map +1 -0
  252. package/dist/visual/provenance/journey.js +184 -0
  253. package/dist/visual/provenance/journey.js.map +1 -0
  254. package/dist/visual/provenance/laws.d.ts +38 -0
  255. package/dist/visual/provenance/laws.d.ts.map +1 -0
  256. package/dist/visual/provenance/laws.js +40 -0
  257. package/dist/visual/provenance/laws.js.map +1 -0
  258. package/dist/visual/provenance/page-metrics.d.ts +42 -0
  259. package/dist/visual/provenance/page-metrics.d.ts.map +1 -0
  260. package/dist/visual/provenance/page-metrics.js +79 -0
  261. package/dist/visual/provenance/page-metrics.js.map +1 -0
  262. package/dist/visual/provenance/perceptual.d.ts +63 -0
  263. package/dist/visual/provenance/perceptual.d.ts.map +1 -0
  264. package/dist/visual/provenance/perceptual.js +115 -0
  265. package/dist/visual/provenance/perceptual.js.map +1 -0
  266. package/dist/visual/provenance/persona-rates.d.ts +84 -0
  267. package/dist/visual/provenance/persona-rates.d.ts.map +1 -0
  268. package/dist/visual/provenance/persona-rates.js +112 -0
  269. package/dist/visual/provenance/persona-rates.js.map +1 -0
  270. package/dist/visual/provenance/personas.d.ts +122 -0
  271. package/dist/visual/provenance/personas.d.ts.map +1 -0
  272. package/dist/visual/provenance/personas.js +298 -0
  273. package/dist/visual/provenance/personas.js.map +1 -0
  274. package/dist/visual/provenance/profiles.d.ts +39 -0
  275. package/dist/visual/provenance/profiles.d.ts.map +1 -0
  276. package/dist/visual/provenance/profiles.js +37 -0
  277. package/dist/visual/provenance/profiles.js.map +1 -0
  278. package/dist/visual/provenance/temporal.d.ts +21 -0
  279. package/dist/visual/provenance/temporal.d.ts.map +1 -0
  280. package/dist/visual/provenance/temporal.js +56 -0
  281. package/dist/visual/provenance/temporal.js.map +1 -0
  282. package/dist/visual/provenance/visual-distance.d.ts +22 -0
  283. package/dist/visual/provenance/visual-distance.d.ts.map +1 -0
  284. package/dist/visual/provenance/visual-distance.js +30 -0
  285. package/dist/visual/provenance/visual-distance.js.map +1 -0
  286. package/dist/visual/regression.d.ts.map +1 -1
  287. package/dist/visual/regression.js +14 -9
  288. package/dist/visual/regression.js.map +1 -1
  289. package/dist/visual/responsive.d.ts.map +1 -1
  290. package/dist/visual/responsive.js +4 -1
  291. package/dist/visual/responsive.js.map +1 -1
  292. package/dist/visual/scope-prose.js +2 -2
  293. package/dist/visual/scope-prose.js.map +1 -1
  294. package/dist/visual/seeded-random.d.ts +16 -0
  295. package/dist/visual/seeded-random.d.ts.map +1 -0
  296. package/dist/visual/seeded-random.js +25 -0
  297. package/dist/visual/seeded-random.js.map +1 -0
  298. package/dist/visual/stored-accessibility-traits.d.ts +27 -0
  299. package/dist/visual/stored-accessibility-traits.d.ts.map +1 -0
  300. package/dist/visual/stored-accessibility-traits.js +35 -0
  301. package/dist/visual/stored-accessibility-traits.js.map +1 -0
  302. package/package.json +1 -1
@@ -20,7 +20,12 @@ import { withTempDir } from '../temp-files.js';
20
20
  */
21
21
  const BARRIER_DEDUCTION_CEILING = 30;
22
22
  // ── Persona Perceptual Profiles ──
23
- const PERCEPTUAL_PROFILES = {
23
+ //
24
+ // Every number in these profiles is catalogued in provenance/perceptual.ts
25
+ // (status and what would test it), built from these objects at load; edit a
26
+ // value here and the registry follows, add a barrier key or field and the
27
+ // catalogue test fails until it is described there.
28
+ export const PERCEPTUAL_PROFILES = {
24
29
  // Non-disabled baseline personas. These existed conceptually in the persona
25
30
  // registry but had no perceptual profile, so they fell through to DEFAULT_PROFILE
26
31
  // (every weight = 1.0). That meant a non-disabled "first-timer" got full
@@ -359,7 +364,7 @@ const PERCEPTUAL_PROFILES = {
359
364
  },
360
365
  };
361
366
  // Default profile for unknown personas
362
- const DEFAULT_PROFILE = {
367
+ export const DEFAULT_PROFILE = {
363
368
  persona: 'default',
364
369
  category: 'general',
365
370
  barrierWeights: {
@@ -373,46 +378,73 @@ const DEFAULT_PROFILE = {
373
378
  processingSpeed: 1.0, noiseTolerance: 1.0,
374
379
  },
375
380
  };
376
- // ── Public API ──
377
381
  /**
378
- * Get the perceptual profile for a persona.
382
+ * Name keywords -> the built-in a custom persona borrows. First match wins, so
383
+ * a specific condition sits above the general one it would otherwise fall into.
384
+ *
385
+ * Until 2026-10-21 the vision row ran first and caught every "color-blind" name
386
+ * on "blind", leaving the deuteranopia row unreachable for any name spelled
387
+ * that way, and "dyslexic" borrowed cognitive-adhd although dyslexic-user exists
388
+ * ("dyslexia" matched nothing). Tritanopia and protanopia borrow deuteranopia,
389
+ * the only colour-vision built-in.
390
+ */
391
+ const NAME_INFERENCE = [
392
+ {
393
+ matches: (n) => ((n.includes('color') || n.includes('colour')) && n.includes('blind'))
394
+ || n.includes('deuteranop') || n.includes('protanop') || n.includes('tritanop'),
395
+ profile: 'color-blind-deuteranopia',
396
+ },
397
+ {
398
+ matches: (n) => n.includes('vision') || n.includes('blind') || n.includes('magnif') || n.includes('elderly'),
399
+ profile: 'elderly-low-vision',
400
+ },
401
+ { matches: (n) => n.includes('motor') || n.includes('tremor') || n.includes('parkinson'), profile: 'motor-impairment-tremor' },
402
+ { matches: (n) => n.includes('dyslexi'), profile: 'dyslexic-user' },
403
+ { matches: (n) => n.includes('adhd') || n.includes('cognitive'), profile: 'cognitive-adhd' },
404
+ {
405
+ matches: (n) => n.includes('screen-reader') || n.includes('screenreader')
406
+ || n.includes('nvda') || n.includes('jaws') || n.includes('voiceover'),
407
+ profile: 'screen-reader-user',
408
+ },
409
+ { matches: (n) => n.includes('deaf') || n.includes('hearing'), profile: 'deaf-user' },
410
+ ];
411
+ /**
412
+ * Get the perceptual profile for a persona, and say how it was found.
379
413
  *
380
414
  * For built-in personas, returns the hardcoded profile.
381
415
  * For custom personas, synthesizes a profile from accessibility traits if provided,
382
- * or infers from the persona name as a fallback.
416
+ * or infers from the persona name as a fallback. An unknown name never throws
417
+ * (custom personas rely on the inference); it resolves to "default", and the
418
+ * resolution is what lets a caller tell that apart from a real profile.
383
419
  */
384
- export function getPerceptualProfile(personaName, accessibilityTraits) {
420
+ export function resolvePerceptualProfile(personaName, accessibilityTraits) {
385
421
  // Built-in profiles take priority
386
422
  if (PERCEPTUAL_PROFILES[personaName]) {
387
- return PERCEPTUAL_PROFILES[personaName];
423
+ return { profile: PERCEPTUAL_PROFILES[personaName], resolution: 'builtin', resolvedProfile: personaName };
388
424
  }
389
425
  // Synthesize from accessibility traits if provided
390
426
  if (accessibilityTraits) {
391
- return synthesizePerceptualProfile(personaName, accessibilityTraits);
427
+ return {
428
+ profile: synthesizePerceptualProfile(personaName, accessibilityTraits),
429
+ resolution: 'synthesized',
430
+ resolvedProfile: personaName,
431
+ };
392
432
  }
393
433
  // Name-based inference as last resort
394
434
  const name = personaName.toLowerCase();
395
- if (name.includes('vision') || name.includes('blind') || name.includes('magnif') || name.includes('elderly')) {
396
- // Clone elderly-low-vision as a reasonable default for vision-related custom personas
397
- return { ...PERCEPTUAL_PROFILES['elderly-low-vision'], persona: personaName };
435
+ const hit = NAME_INFERENCE.find((row) => row.matches(name));
436
+ if (hit) {
437
+ return {
438
+ profile: { ...PERCEPTUAL_PROFILES[hit.profile], persona: personaName },
439
+ resolution: 'inferred',
440
+ resolvedProfile: hit.profile,
441
+ };
398
442
  }
399
- if (name.includes('motor') || name.includes('tremor') || name.includes('parkinson')) {
400
- return { ...PERCEPTUAL_PROFILES['motor-impairment-tremor'], persona: personaName };
401
- }
402
- if (name.includes('adhd') || name.includes('cognitive') || name.includes('dyslexic')) {
403
- return { ...PERCEPTUAL_PROFILES['cognitive-adhd'], persona: personaName };
404
- }
405
- if (name.includes('screen-reader') || name.includes('screenreader')
406
- || name.includes('nvda') || name.includes('jaws') || name.includes('voiceover')) {
407
- return { ...PERCEPTUAL_PROFILES['screen-reader-user'], persona: personaName };
408
- }
409
- if (name.includes('deaf') || name.includes('hearing')) {
410
- return { ...PERCEPTUAL_PROFILES['deaf-user'], persona: personaName };
411
- }
412
- if (name.includes('color') && name.includes('blind') || name.includes('deuteranop')) {
413
- return { ...PERCEPTUAL_PROFILES['color-blind-deuteranopia'], persona: personaName };
414
- }
415
- return DEFAULT_PROFILE;
443
+ return { profile: DEFAULT_PROFILE, resolution: 'default', resolvedProfile: DEFAULT_PROFILE.persona };
444
+ }
445
+ /** `resolvePerceptualProfile` without the resolution. */
446
+ export function getPerceptualProfile(personaName, accessibilityTraits) {
447
+ return resolvePerceptualProfile(personaName, accessibilityTraits).profile;
416
448
  }
417
449
  /**
418
450
  * Synthesize a perceptual profile from accessibility traits.
@@ -693,18 +725,20 @@ export async function analyzePerceptualTransport(screenshotPath, personaName, at
693
725
  // removed however the call ends (src/temp-files.ts). The files were named by
694
726
  // Date.now() in the shared temp dir, so two calls in the same millisecond
695
727
  // (the hosted servers run requests concurrently) wrote, read and deleted
696
- // each other's images; the persona name went into the path too, so a name
697
- // with ../ segments wrote outside the temp dir.
728
+ // each other's images; the persona name went into the path too.
698
729
  const transportResult = await withTempDir('perceptual', async (dir) => {
699
730
  const filteredPath = dir.file('filtered.png');
700
731
  await filtered.png().toFile(filteredPath);
701
732
  // Also save downscaled original for comparison
702
733
  const originalPath = dir.file('original.png');
703
734
  await sharp(screenshotPath).resize(width, height).png().toFile(originalPath);
704
- // Compute Wasserstein distance between original and filtered
735
+ // Compute Wasserstein distance between original and filtered. The registry
736
+ // is read here rather than imported: it imports this file
737
+ // (provenance/perceptual.ts).
738
+ const { param } = await import('./model-provenance.js');
705
739
  return computeWassersteinDistance(originalPath, filteredPath, {
706
740
  compareMode: 'combined',
707
- numProjections: 32,
741
+ numProjections: param('visualDistance.perceptualNumProjections'),
708
742
  downscale: 1.0, // Already downscaled
709
743
  });
710
744
  });
@@ -1 +1 @@
1
- {"version":3,"file":"perceptual-transport.js","sourceRoot":"","sources":["../../src/visual/perceptual-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perceptual-transport.js","sourceRoot":"","sources":["../../src/visual/perceptual-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,0BAA0B,EAAqD,MAAM,uBAAuB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAoD/C;;;GAGG;AACH,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,oDAAoD;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAsC;IACpE,4EAA4E;IAC5E,kFAAkF;IAClF,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,wCAAwC;IACxC,aAAa,EAAE;QACb,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,wDAAwD;YACjF,eAAe,EAAE,GAAG,EAAK,mDAAmD;YAC5E,MAAM,EAAE,GAAG,EAAc,wCAAwC;YACjE,eAAe,EAAE,GAAG,EAAK,sCAAsC;YAC/D,aAAa,EAAE,GAAG,EAAO,2DAA2D;YACpF,qDAAqD;YACrD,YAAY,EAAE,GAAG,EAAQ,gEAAgE;YACzF,YAAY,EAAE,GAAG,EAAQ,kBAAkB;YAC3C,UAAU,EAAE,GAAG,EAAU,mBAAmB;YAC5C,WAAW,EAAE,GAAG,EAAS,8BAA8B;SACxD;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAK,4CAA4C;YACrE,cAAc,EAAE,GAAG,EAAM,uCAAuC;SACjE;KACF;IAED,aAAa,EAAE;QACb,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAQ,iDAAiD;YAC1E,eAAe,EAAE,GAAG,EAAK,uCAAuC;YAChE,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG,EAAK,qCAAqC;YAC9D,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,GAAG,EAAQ,4CAA4C;YACrE,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG;YACvD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,gBAAgB,EAAE;QAChB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,MAAM,EAAE,GAAG,EAAc,8BAA8B;YACvD,cAAc,EAAE,GAAG,EAAM,6BAA6B;YACtD,eAAe,EAAE,GAAG,EAAK,uBAAuB;YAChD,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAK,oCAAoC;YAC7D,cAAc,EAAE,GAAG,EAAM,iCAAiC;SAC3D;KACF;IAED,YAAY,EAAE;QACZ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,uEAAuE;YACvE,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,cAAc,EAAE;QACd,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,uFAAuF;YACvF,4EAA4E;YAC5E,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;YACnB,aAAa,EAAE,GAAG;YAClB,YAAY,EAAE,GAAG,EAAQ,oCAAoC;YAC7D,YAAY,EAAE,GAAG,EAAQ,wCAAwC;YACjE,eAAe,EAAE,GAAG;YACpB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;YAC5E,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG;YACzD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,yBAAyB,EAAE;QACzB,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAO,iDAAiD;YACzE,eAAe,EAAE,GAAG,EAAK,wBAAwB;YACjD,MAAM,EAAE,GAAG,EAAc,2CAA2C;YACpE,eAAe,EAAE,GAAG,EAAK,kCAAkC;YAC3D,cAAc,EAAE,GAAG,EAAM,6BAA6B;YACtD,YAAY,EAAE,GAAG,EAAQ,iBAAiB;YAC1C,UAAU,EAAE,GAAG,EAAU,sBAAsB;YAC/C,WAAW,EAAE,GAAG,EAAS,eAAe;YACxC,aAAa,EAAE,GAAG,EAAO,qCAAqC;SAC/D;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAK,iBAAiB;YAC1C,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,cAAc,EAAG,+CAA+C;YAC/E,mBAAmB,EAAE,GAAG,EAAQ,mCAAmC;YACnE,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED,sBAAsB,EAAE;QACtB,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAQ,2CAA2C;YACpE,YAAY,EAAE,GAAG,EAAQ,yDAAyD;YAClF,UAAU,EAAE,GAAG,EAAU,+CAA+C;YACxE,WAAW,EAAE,GAAG,EAAS,6BAA6B;YACtD,aAAa,EAAE,GAAG,EAAO,mBAAmB;YAC5C,iBAAiB,EAAE,GAAG,EAAG,kDAAkD;YAC3E,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,GAAG,EAAc,yCAAyC;YAClE,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG,EAAI,2BAA2B;YACrD,UAAU,EAAE,GAAG,EAAW,iBAAiB;YAC3C,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,2BAA2B;YAC/D,aAAa,EAAE,gBAAgB,EAAM,yBAAyB;YAC9D,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAM,yBAAyB;YACnD,cAAc,EAAE,GAAG,EAAO,qBAAqB;SAChD;KACF;IAED,gBAAgB,EAAE;QAChB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,uCAAuC;YAChE,MAAM,EAAE,GAAG,EAAc,6BAA6B;YACtD,eAAe,EAAE,GAAG,EAAK,2BAA2B;YACpD,YAAY,EAAE,GAAG,EAAQ,gBAAgB;YACzC,YAAY,EAAE,GAAG,EAAQ,iBAAiB;YAC1C,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,GAAG,EAAO,qCAAqC;SAC/D;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,kBAAkB,EAAG,iCAAiC;YACrE,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAK,2BAA2B;YACpD,cAAc,EAAE,GAAG,EAAM,0BAA0B;SACpD;KACF;IAED,eAAe,EAAE;QACf,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,kCAAkC;YAC3D,eAAe,EAAE,GAAG,EAAK,yBAAyB;YAClD,YAAY,EAAE,GAAG,EAAQ,iCAAiC;YAC1D,MAAM,EAAE,GAAG,EAAc,yBAAyB;YAClD,aAAa,EAAE,GAAG,EAAO,yBAAyB;YAClD,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,cAAc,EAAG,uCAAuC;YACvE,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAK,4BAA4B;YACrD,cAAc,EAAE,GAAG;SACpB;KACF;IAED,0BAA0B,EAAE;QAC1B,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,UAAU,EAAE,GAAG,EAAU,yCAAyC;YAClE,YAAY,EAAE,GAAG,EAAQ,2BAA2B;YACpD,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,GAAG;YACnB,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,kCAAkC;YACtE,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED;;;;;;;;;;;;;OAaG;IACH,oBAAoB,EAAE;QACpB,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,WAAW,EAAE,GAAG,EAAS,yDAAyD;YAClF,aAAa,EAAE,GAAG,EAAO,sDAAsD;YAC/E,iBAAiB,EAAE,GAAG,EAAG,6CAA6C;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,wDAAwD;YACxD,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,GAAG,EAAK,yCAAyC;YAClE,MAAM,EAAE,GAAG,EAAc,+CAA+C;YACxE,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG,EAAM,kDAAkD;YAC3E,YAAY,EAAE,GAAG,EAAQ,gBAAgB;YACzC,UAAU,EAAE,GAAG,EAAU,gBAAgB;YACzC,YAAY,EAAE,GAAG,EAAQ,iBAAiB;SAC3C;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,cAAc,EAAE,GAAG;YACnB,mBAAmB,EAAE,GAAG;YACxB,oEAAoE;YACpE,0EAA0E;YAC1E,wEAAwE;YACxE,8DAA8D;YAC9D,aAAa,EAAE,cAAc;YAC7B,eAAe,EAAE,GAAG;SACrB;KACF;IAED,WAAW,EAAE;QACX,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,yCAAyC;YACzC,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,GAAG,EAAa,wCAAwC;YAChE,mEAAmE;YACnE,kEAAkE;YAClE,6DAA6D;YAC7D,QAAQ,EAAE,GAAG;YACb,iBAAiB,EAAE,GAAG,EAAG,uCAAuC;YAChE,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED,oBAAoB,EAAE;QACpB,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAO,oBAAoB;YAC5C,YAAY,EAAE,GAAG,EAAO,gCAAgC;YACxD,MAAM,EAAE,GAAG,EAAa,oBAAoB;YAC5C,eAAe,EAAE,GAAG,EAAI,oBAAoB;YAC5C,cAAc,EAAE,GAAG,EAAK,kBAAkB;YAC1C,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG;YACtB,UAAU,EAAE,GAAG;YACf,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,iBAAiB;YACrD,aAAa,EAAE,cAAc;YAC7B,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;CACF,CAAC;AAEF,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE;QACd,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;QACzD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9C,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG;KAC/D;IACD,YAAY,EAAE;QACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;QAClD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;KAC1C;CACF,CAAC;AAwBF;;;;;;;;;GASG;AACH,MAAM,cAAc,GAAmE;IACrF;QACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;eACjF,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjF,OAAO,EAAE,0BAA0B;KACpC;IACD;QACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5G,OAAO,EAAE,oBAAoB;KAC9B;IACD,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE;IAC9H,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE;IACnE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE;IAC5F;QACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;eACpE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxE,OAAO,EAAE,oBAAoB;KAC9B;IACD,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE;CACtF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,mBAQC;IAED,kCAAkC;IAClC,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;IAC5G,CAAC;IAED,mDAAmD;IACnD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,2BAA2B,CAAC,WAAW,EAAE,mBAAmB,CAAC;YACtE,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,WAAW;SAC7B,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,GAAG,EAAE,CAAC;QACR,OAAO;YACL,OAAO,EAAE,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE;YACtE,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,GAAG,CAAC,OAAO;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC;AACvG,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,mBAAoE;IAEpE,OAAO,wBAAwB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,WAAmB,EACnB,MAA+B;IAE/B,MAAM,YAAY,GAAI,MAAM,CAAC,YAAuB,IAAI,GAAG,CAAC;IAC5D,MAAM,WAAW,GAAI,MAAM,CAAC,WAAsB,IAAI,GAAG,CAAC;IAC1D,MAAM,mBAAmB,GAAI,MAAM,CAAC,mBAA8B,IAAI,GAAG,CAAC;IAC1E,MAAM,eAAe,GAAI,MAAM,CAAC,eAA0B,IAAI,GAAG,CAAC;IAClE,MAAM,aAAa,GAAI,MAAM,CAAC,aAAwB,IAAI,GAAG,CAAC;IAC9D,MAAM,OAAO,GAAI,MAAM,CAAC,qBAAgC,IAAI,GAAG,CAAC;IAChE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAElC,wCAAwC;IACxC,MAAM,QAAQ,GAAG,WAAW,GAAG,GAAG,IAAI,mBAAmB,GAAG,GAAG,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,GAAG,GAAG,IAAI,SAAS,CAAC;IAChD,MAAM,WAAW,GAAG,eAAe,GAAG,GAAG,IAAI,aAAa,GAAG,GAAG,CAAC;IACjE,MAAM,QAAQ,GACZ,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAElF,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;IAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;IAC7F,MAAM,QAAQ,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,yBAAyB;IACnE,MAAM,gBAAgB,GAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB;IAE5G,kCAAkC;IAClC,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAEnG,6BAA6B;IAC7B,MAAM,aAAa,GACjB,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7B,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC1B,SAAS,CAAC;IAEZ,6CAA6C;IAC7C,MAAM,cAAc,GAA2B;QAC7C,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClD,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACxD,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC3D,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAChC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACjC,aAAa,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC9C,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACpC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACzD,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,cAAc;QACd,YAAY,EAAE;YACZ,iBAAiB;YACjB,UAAU;YACV,gBAAgB;YAChB,aAAa;YACb,mBAAmB;YACnB,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;YAC/C,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAGE,EACF,cAAyC,EACzC,YAAqB,EACrB,WAAmB,EACnB,mBAA6C;IAiB7C,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,mBAA0B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACpC,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,gFAAgF;IAChF,MAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,gDAAgD;IAChD,EAAE;IACF,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,eAAe;IACf,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,CAAC,CAAC,eAAe;YAAE,SAAS;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9C,gEAAgE;QAChE,oEAAoE;QACpE,yEAAyE;QACzE,mCAAmC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC;QAExD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAEtE,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,wDAAwD;QACxD,MAAM,QAAQ,GAAG,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;QACjE,8CAA8C;QAC9C,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,wCAAwC;QACxC,EAAE;QACF,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,eAAe;QACf,MAAM,MAAM,GAAG,yBAAyB;YACtC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,yBAAyB,CAAC,CAAC,CAAC;QAExD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACtD,wEAAwE;YACxE,qEAAqE;YACrE,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,eAAe;YACf,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YACnC,KAAK,IAAI,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,kDAAkD;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;YACrC,KAAK,QAAQ;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;YACvC,KAAK,KAAK;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;QACtC,CAAC;IACH,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7E,KAAK,IAAI,iBAAiB,CAAC;IAE3B,0EAA0E;IAC1E,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACzE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAErC,sEAAsE;IACtE,qBAAqB;IACrB,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;IAChD,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9E,KAAK,IAAI,wBAAwB,CAAC;IAElC,mDAAmD;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvD,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,oBAAoB;IACpB,EAAE;IACF,4EAA4E;IAC5E,mEAAmE;IACnE,2EAA2E;IAC3E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG;QAClB,aAAa,CAAC,CAAC,CAAC,gCAAgC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;QACpE,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,eAAe,cAAc,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5G,gEAAgE;QAChE,0EAA0E;QAC1E,mCAAmC;QACnC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,mBAAmB,cAAc,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC1H,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,cAAc,iBAAiB,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACtI,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;KACzF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO;QACL,KAAK;QACL,UAAU;QACV,eAAe;QACf,aAAa;QACb,SAAS;QACT,WAAW;QACX,cAAc;QACd,yEAAyE;QACzE,2EAA2E;QAC3E,oEAAoE;QACpE,4EAA4E;QAC5E,eAAe;QACf,iBAAiB;QACjB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC;QAC1C,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAsB,EACtB,WAAmB,EACnB,aAAiF,EACjF,mBAA6C;IAE7C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,mBAA0B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAEpC,sEAAsE;IACtE,MAAM,WAAW,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC;IAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAE1D,6BAA6B;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3D,gCAAgC;IAChC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACnD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACrC,0CAA0C;QAC1C,8CAA8C;QAC9C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,eAAe,GAAyB,MAAM,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1F,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE7E,2EAA2E;QAC3E,0DAA0D;QAC1D,8BAA8B;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxD,OAAO,0BAA0B,CAAC,YAAY,EAAE,YAAY,EAAE;YAC5D,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE,KAAK,CAAC,yCAAyC,CAAC;YAChE,SAAS,EAAE,GAAG,EAAE,qBAAqB;SACtC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAElE,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3F,CAAC;IAEF,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;IACpD,MAAM,cAAc,GAAG,CAAC,iBAAiB,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;IAEzE,mFAAmF;IACnF,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,WAAW,GAAG,aAAa,EAAE,OAAO,IAAI,GAAG,CAAC;IAClD,MAAM,iBAAiB,GAAG,aAAa,EAAE,aAAa,IAAI,GAAG,CAAC;IAC9D,MAAM,iBAAiB,GAAG,aAAa,EAAE,aAAa,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,8BAA8B,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExM,oFAAoF;IACpF,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,uCAAuC;IAEpF,wEAAwE;IACxE,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7B,KAAK,kBAAkB;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QAC3D,KAAK,cAAc;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACvD,KAAK,gBAAgB;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACzD,KAAK,cAAc;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACvD,KAAK,SAAS;YAAE,oBAAoB,GAAG,IAAI,CAAC;YAAC,MAAM;IACrD,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAClC,oBAAoB,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAI,cAAc;QACrE,WAAW,GAAG,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAU,WAAW;KACnE,CAAC;IAEF,iEAAiE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IAExG,gFAAgF;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAC9B,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,GAAI,cAAc;QAC9E,WAAW,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAE,WAAW;KAC3E,CAAC;IAEF,6BAA6B;IAC7B,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa;IACzE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAC1D,GAAG;UACD,eAAe,GAAG,EAAE;UACpB,iBAAiB,GAAG,EAAE;UACtB,aAAa,GAAG,EAAE;UAClB,SAAS,GAAG,EAAE;UACd,kBAAkB,CACrB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,aAAa;QACb,eAAe;QACf,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,eAAe,CAAC,QAAQ;QAC3C,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC;AAiBD,MAAM,eAAe,GAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE/E,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,MAAc,EACd,IAAoC;IAEpC,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAA4B,CAAC,CAAC;IACjE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACrD,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,KAAK,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,gCAAgC;IAChC,IAAI,IAAI,EAAE,eAAe;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAyB,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,cAAc;IAC9B,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,YAAY;IACrB,eAAe,EAAE,iBAAiB;IAClC,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,8DAA8D;IAC9D,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;CACzB,CAAC;AAEF,MAAM,kBAAkB,GAA2B,0BAA0B,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB,GAA2B;IACjD,cAAc,EAAE,cAAc;CAC/B,CAAC;AAEF,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,OAA0B,EAAE,GAAW;IACnE,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,YAAuB,EAAE,WAAoB;IAC7F,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,WAAmB,EACnB,YAAuB,EACvB,WAAoB;IAEpB,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAClD,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Provenance entries for the attention model's constants (attention-transport.ts).
3
+ * See ../model-provenance.ts for the statuses.
4
+ *
5
+ * This is the one layer with fitted numbers. research/study1/run-optimize.ts
6
+ * fitted the blend weight, the foveal smoothing width and the spatial prior's
7
+ * strength jointly, by nested 5-fold cross-validation over the 495 web stimuli
8
+ * of UEyes (Jiang et al., CHI 2023) against real fixations from 554 participant
9
+ * logs: held-out AUC-Judd 0.7367 (in-sample 0.7372, optimism gap 0.0005; all
10
+ * five folds chose the same values; results/2026-08-04_optimize-shipconfig).
11
+ * The spatial prior table itself was emitted by `run-optimize.ts --emit-prior`
12
+ * from the same fixations. A full-corpus run of the shipped model scores 0.7371
13
+ * (results/2026-08-04_semantic), in-sample because the prior and blend were
14
+ * fitted on those pages; 0.7367 is the held-out estimate to cite.
15
+ *
16
+ * Everything that run did NOT vary is hand-set: the CIE-Lab channel weights
17
+ * (wA = wB = 3 arrived by hand in f36cd88), the element-type weights, the
18
+ * persona filters, the Schwartz-value and trait modulations. Those are
19
+ * `hypothesis` entries naming the data that would test them. Two caveats bind
20
+ * every one of them: UEyes is FREE VIEWING pooled over 62 people with no group
21
+ * labels, so it cannot test a persona-specific or goal-directed constant; and
22
+ * the fit is conditional on the hand-set numbers it held fixed.
23
+ *
24
+ * The CIE-Lab conversion constants are `published` (IEC 61966-2-1 sRGB, CIE
25
+ * 1976 L*a*b*). Numerical guards, display rounding and the analysis grid are
26
+ * `definition`.
27
+ *
28
+ * THE SPATIAL PRIOR IS ONE ENTRY, NOT 192. The 12x16 table stays in
29
+ * attention-transport.ts as WEB_SPATIAL_PRIOR, and the registry carries its
30
+ * checksum (FNV-1a over the table's IEEE-754 bytes), which applyGazeCalibration
31
+ * reads through param() and checks on every use: edit a cell without
32
+ * re-registering and the model throws instead of running on an unregistered
33
+ * table. One entry because it is one fitted object, produced by one procedure
34
+ * and normalised as a whole (peak 1, floor 0.05). 192 cell entries would make a
35
+ * provenance summary report 192 fitted constants beside ~100 hand-set ones,
36
+ * which reads as a model mostly calibrated when one table and three scalars are,
37
+ * and perturbing one cell of a smoothed density is not a meaningful parameter.
38
+ *
39
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
40
+ * @license MIT
41
+ */
42
+ import type { ProvenanceEntry } from "../model-provenance.js";
43
+ /**
44
+ * FNV-1a (32-bit) over the little-endian IEEE-754 bytes of `values`. The
45
+ * checksum attention.spatialPrior.checksum is registered against. Lives here,
46
+ * beside the registry, because its own constants (the FNV offset basis and
47
+ * prime, from Fowler, Noll and Vo) describe a hash, not the model.
48
+ */
49
+ export declare function tableChecksum(values: readonly number[]): number;
50
+ /** Which element types each persona's fallback table sets, in source order. buildSemanticMap reads each through param(). */
51
+ export declare const ATTENTION_STATIC_MODIFIER_TYPES: Readonly<Record<string, readonly string[]>>;
52
+ /** The values each text pattern weighs, in summation order. */
53
+ export declare const ATTENTION_VALUE_PATTERN_VALUES: Readonly<Record<string, readonly string[]>>;
54
+ export declare const ATTENTION_PROVENANCE: ProvenanceEntry[];
55
+ //# sourceMappingURL=attention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/attention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAO/D;AAqCD,4HAA4H;AAC5H,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAEvF,CAAC;AAeF,+DAA+D;AAC/D,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAEtF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAiJjD,CAAC"}
@@ -0,0 +1,188 @@
1
+ const f = (id, value, source) => ({ id: `attention.${id}`, value, status: "fitted", source });
2
+ const p = (id, value, source) => ({ id: `attention.${id}`, value, status: "published", source });
3
+ const d = (id, value, source) => ({ id: `attention.${id}`, value, status: "definition", source });
4
+ const h = (id, value, source) => ({ id: `attention.${id}`, value, status: "hypothesis", source });
5
+ /**
6
+ * FNV-1a (32-bit) over the little-endian IEEE-754 bytes of `values`. The
7
+ * checksum attention.spatialPrior.checksum is registered against. Lives here,
8
+ * beside the registry, because its own constants (the FNV offset basis and
9
+ * prime, from Fowler, Noll and Vo) describe a hash, not the model.
10
+ */
11
+ export function tableChecksum(values) {
12
+ const bytes = new Uint8Array(values.length * 8);
13
+ const view = new DataView(bytes.buffer);
14
+ values.forEach((v, i) => view.setFloat64(i * 8, v, true));
15
+ let hash = 0x811c9dc5;
16
+ for (const b of bytes)
17
+ hash = Math.imul(hash ^ b, 0x01000193) >>> 0;
18
+ return hash;
19
+ }
20
+ const UEYES_CV = "UEyes web category (495 stimuli, 554 Gazepoint participant logs), fitted jointly with the other two GAZE_CALIBRATION values by coordinate ascent inside nested 5-fold cross-validation (research/study1/run-optimize.ts --freeze-types): held-out AUC-Judd 0.7367, in-sample 0.7372, optimism gap 0.0005, all five folds selected this value (results/2026-08-04_optimize-shipconfig/optimize.json). Free viewing pooled over 62 people, so it is fitted for the average free viewer, not for a task or a persona.";
21
+ // What would fit a Lab channel weight.
22
+ const LAB_WEIGHT = (channel) => `Hand-set weight of the ${channel} in the centre-surround distance. wA = wB = 3 arrived by hand in f36cd88 (2026-04-13) to make chromatic pop-out outrank luminance; run-optimize.ts held all three fixed. A sweep of the three weights on the Lab channel alone, scored against UEyes fixations under the same nested CV, would fit them.`;
23
+ // What would fit a persona-filter constant: per-population gaze, which UEyes does not have.
24
+ const FILTER = (what) => `Hand-set ${what}. UEyes pools 62 unlabelled free viewers, so nothing in hand can fit a persona-specific filter; eye-tracking from a sample of the population the persona models (fixation dispersion and centre bias on the same pages) would fit it.`;
25
+ const VALUE_MOD = (value, param, cite) => `Hand-set coefficient of (${value} - neutral) on the saliency ${param}. ${cite} motivates the direction only, not this number. Fixation dispersion and centre bias measured on the same pages across people with measured Schwartz ${value} scores would fit it.`;
26
+ const TYPE_WEIGHT = (type) => `Hand-set base attention weight of a ${type} element. With the spatial prior and smoothing in place the hand-set 10x spread of these weights contributes nothing measurable: typed beats flat (every element weighted alike) on 165 of 495 UEyes pages, mean -0.0007 AUC (research/study1/results/README.md, 'The element-type weights stop mattering'). A learned table (+0.0265) was fitted and not shipped because free viewing pulls it toward body text and navigation. Fixations under a TASK on pages with labelled element types would fit it.`;
27
+ const TRAIT_MOD = (type, trait, part) => `Hand-set ${part} of the ${type} element modifier as a function of ${trait}. Gaze share on ${type} elements across people with measured ${trait}, on the same pages, would fit it.`;
28
+ /** Fallback element modifiers by persona, used only when no cognitive traits resolve for the name. */
29
+ const STATIC_MODIFIERS = {
30
+ "first-timer": { cta: 1.2, heading: 1.3, navigation: 1.2, search: 1.0, content: 0.6, decorative: 0.4 },
31
+ "power-user": { cta: 0.6, heading: 0.5, navigation: 1.4, search: 1.5, content: 0.3, form: 1.2, decorative: 0.1 },
32
+ "impatient-user": { cta: 1.5, heading: 1.0, navigation: 0.8, search: 1.3, content: 0.2, decorative: 0.1, price: 1.3 },
33
+ "elderly-user": { cta: 1.0, heading: 1.4, navigation: 1.3, search: 0.8, content: 0.8, form: 0.9, decorative: 0.3 },
34
+ "cognitive-adhd": { cta: 0.8, heading: 0.7, navigation: 0.5, image: 1.5, decorative: 1.2, content: 0.3, search: 0.6 },
35
+ "anxious-user": { cta: 0.7, heading: 1.0, price: 1.5, error: 1.5, form: 0.8, decorative: 0.3 },
36
+ "motor-impairment-tremor": { cta: 1.0, heading: 0.8, navigation: 0.6, form: 0.7, search: 0.9, content: 0.5 },
37
+ "dyslexic-user": { cta: 1.1, heading: 1.3, image: 1.3, content: 0.4, navigation: 0.9, decorative: 0.5 },
38
+ "low-vision-magnified": { cta: 1.2, heading: 1.5, navigation: 1.0, content: 0.5, image: 0.8, decorative: 0.2 },
39
+ "mobile-user": { cta: 1.3, heading: 1.0, search: 1.2, navigation: 0.7, content: 0.4, decorative: 0.2 },
40
+ "confident-user": { cta: 0.7, heading: 0.5, navigation: 1.3, search: 1.4, form: 1.2, content: 0.3, decorative: 0.1 },
41
+ };
42
+ /** Which element types each persona's fallback table sets, in source order. buildSemanticMap reads each through param(). */
43
+ export const ATTENTION_STATIC_MODIFIER_TYPES = Object.freeze(Object.fromEntries(Object.entries(STATIC_MODIFIERS).map(([persona, mods]) => [persona, Object.freeze(Object.keys(mods))])));
44
+ /**
45
+ * Schwartz values each text pattern rewards, in the order the boost sums them
46
+ * (the sum is order-sensitive in floating point, so the order is the code's).
47
+ */
48
+ const VALUE_PATTERNS = {
49
+ trust: { security: 1.0, conformity: 0.5 },
50
+ social: { conformity: 1.0, security: 0.6 },
51
+ novelty: { stimulation: 1.0, selfDirection: 0.5 },
52
+ metrics: { achievement: 1.0, power: 0.4 },
53
+ urgency: { stimulation: 0.5, achievement: 0.4 },
54
+ community: { benevolence: 0.8, universalism: 0.6 },
55
+ };
56
+ /** The values each text pattern weighs, in summation order. */
57
+ export const ATTENTION_VALUE_PATTERN_VALUES = Object.freeze(Object.fromEntries(Object.entries(VALUE_PATTERNS).map(([pattern, vals]) => [pattern, Object.freeze(Object.keys(vals))])));
58
+ export const ATTENTION_PROVENANCE = [
59
+ // ── Fitted against UEyes ──
60
+ f("gaze.visualWeight", 0.2, `Share of the blend given to the bottom-up Lab channel (the semantic map takes the rest). ${UEYES_CV}`),
61
+ f("gaze.sigmaCells", 2.5, `Foveal smoothing width in cells of the fitted grid (attention.gaze.cellSize, so 80 capture px). ${UEYES_CV}`),
62
+ f("gaze.spatialPrior", 1, `Strength with which the fitted spatial prior multiplies the map (0 off, 1 full). ${UEYES_CV}`),
63
+ f("spatialPrior.checksum", 4153505348, "Checksum (tableChecksum: FNV-1a over the IEEE-754 bytes) of WEB_SPATIAL_PRIOR in attention-transport.ts, the 12x16 position prior emitted by research/study1/run-optimize.ts --emit-prior from the UEyes web fixations (495 stimuli, 554 logs; smoothed, normalised to peak 1, floored at 0.05). Its strength (attention.gaze.spatialPrior) was chosen under nested 5-fold CV with the prior re-fitted on each training fold; the table shipped is the full-corpus fit. Ablating it in the joint fit drops AUC from 0.7371 to 0.6597 (-0.0774, optimize-shipconfig/optimize.json). Left-to-right desktop web under free viewing only: wrong for RTL, unfitted for mobile, and expected to flatten under a task. The value is a checksum, not a model number; applyGazeCalibration throws when the table no longer hashes to it."),
64
+ f("blend.legacyVisualWeight", 0.05, "Default visual share of blendSaliencyMaps, the optimum of the 2026-08-04 morning sweep WITHOUT the spatial prior or smoothing: research/study1/run-blend-sweep.ts, 0..1 in 0.05 steps over 495 UEyes web stimuli, 5-fold CV chose 0.05 in 5 of 5 folds (AUC 0.6567, +0.0231 over 0.35, 95% CI [+0.0196, +0.0266]). Superseded for the shipped path, which passes attention.gaze.visualWeight; kept as the function's default for callers that blend without the prior."),
65
+ // ── Units, grids and numerical guards ──
66
+ d("gaze.cellSize", 16, "Grid cell, in pixels of the half-resolution analysis image, that every Study 1 fit ran at (run-optimize.ts and run-semantic.ts, CELL = 16). The unit gazeSigmaCells rescales sigma by, and the default grid; one cell spans 32 capture px."),
67
+ d("spatialPrior.rows", 12, "Row count of WEB_SPATIAL_PRIOR, the resolution run-optimize.ts --emit-prior binned fixations into; part of the table's encoding, checked against its length."),
68
+ d("spatialPrior.cols", 16, "Column count of WEB_SPATIAL_PRIOR, the resolution run-optimize.ts --emit-prior binned fixations into; part of the table's encoding, checked against its length."),
69
+ d("lab.downscale", 0.5, "computeLabSaliency analyses the capture at half resolution, and the calibration was fitted at that scale, so a grid cell of n px spans n / 0.5 capture px. A processing resolution, not a claim; changing it moves every fitted width."),
70
+ d("lab.fallbackWidth", 800, "Width assumed for an image whose header reports none; sharp reports dimensions for every PNG and JPEG a capture produces, so it is unreachable in the tools."),
71
+ d("lab.fallbackHeight", 600, "Height assumed for an image whose header reports none; unreachable for the same reason as lab.fallbackWidth."),
72
+ d("lab.channels", 4, "Bytes per pixel of the RGBA buffer sharp returns after ensureAlpha(); the last byte is alpha."),
73
+ d("lab.varianceFloor", 0.01, "Floor on each cell's per-channel Lab variance (0.1 Lab units of SD), so a flat cell's spread is defined. A numerical guard; it does enter the variance term for flat cells, as chain.capacityEpsilon does."),
74
+ d("normFloor", 0.001, "Smallest denominator any normalisation divides by, so a blank map divides by 0.001 instead of 0. A numerical guard."),
75
+ d("blend.legacySemanticWeight", 0.95, "Complement of attention.blend.legacyVisualWeight (1 - 0.05), blendSaliencyMaps' default semantic share; it carries no claim of its own."),
76
+ d("smooth.radiusSigmas", 3, "Truncation of the Gaussian kernel at 3 sigma, the usual numerical cut (beyond 3 sigma lies 0.27% of a 1-D Gaussian's mass). run-optimize.ts used the same cut, so the fitted sigma is conditional on it."),
77
+ d("grid.edgeEpsilon", 1e-6, "Pixel tolerance that keeps a box ending exactly on a cell boundary out of the next cell. A numerical guard."),
78
+ d("value.neutral", 0.5, "Midpoint of the 0-1 Schwartz-value scale. Every value modulation is zero at it, and a value the persona does not carry is taken as it, so an absent value modulates nothing. It defines 'no effect' rather than estimating anything."),
79
+ d("hotspotPool.share", 0.05, "Share of ranked cells kept as the hotspot pool attention-quality samples elements from (see hotspotPoolSize). A sampling window for analysis; it changes no attention value."),
80
+ d("hotspotPool.min", 200, "Lower bound of the hotspot pool, so a coarse grid still yields a usable sample. A sampling window."),
81
+ d("hotspotPool.max", 4000, "Upper bound of the hotspot pool, so a fine grid's pool stays bounded. A sampling window."),
82
+ d("metric.entropyEpsilon", 1e-10, "Added inside log2 when computing entropy, so a zero cell contributes 0 rather than NaN. A numerical guard."),
83
+ d("metric.concentrationShare", 0.2, "Concentration is defined as the share of attention in the top 20% of cells; the definition of the reported metric."),
84
+ d("report.competitors", 5, "How many hotspots are reported as attentionCompetitors; a reporting choice."),
85
+ d("report.divergentRegions", 10, "How many divergent regions attention_compare reports; a reporting choice."),
86
+ d("rounding.hundredths", 100, "Rounding to two decimals on reported saliency values; a display choice."),
87
+ d("rounding.thousandths", 1000, "Rounding to three decimals on entropy, concentration, alignment and region shares; a display choice."),
88
+ d("rounding.tenThousandths", 10000, "Rounding to four decimals on transportCost and attentionDivergence; a display choice."),
89
+ // ── sRGB -> CIE-Lab (published) ──
90
+ d("srgb.channelMax", 255, "Largest 8-bit channel value, mapping a byte to [0, 1]; an encoding."),
91
+ p("srgb.linearKnee", 0.04045, "sRGB electro-optical transfer: below this encoded value the curve is linear. IEC 61966-2-1:1999 (sRGB), the encoding transfer function."),
92
+ p("srgb.linearSlope", 12.92, "Slope of the linear segment of the sRGB transfer (C / 12.92). IEC 61966-2-1:1999 (sRGB), the encoding transfer function."),
93
+ p("srgb.gammaOffset", 0.055, "Offset of the sRGB power segment ((C + 0.055) / 1.055)^2.4. IEC 61966-2-1:1999 (sRGB), the encoding transfer function."),
94
+ p("srgb.gammaScale", 1.055, "Scale of the sRGB power segment. IEC 61966-2-1:1999 (sRGB), the encoding transfer function."),
95
+ p("srgb.gamma", 2.4, "Exponent of the sRGB power segment. IEC 61966-2-1:1999 (sRGB), the encoding transfer function."),
96
+ p("xyz.rX", 0.4124564, "Linear sRGB to CIE XYZ (D65), row X, R coefficient, as tabulated by B. Lindbloom ('RGB/XYZ Matrices', sRGB, D65) from the IEC 61966-2-1 primaries."),
97
+ p("xyz.gX", 0.3575761, "Linear sRGB to CIE XYZ (D65), row X, G coefficient (Lindbloom, sRGB D65)."),
98
+ p("xyz.bX", 0.1804375, "Linear sRGB to CIE XYZ (D65), row X, B coefficient (Lindbloom, sRGB D65)."),
99
+ p("xyz.rY", 0.2126729, "Linear sRGB to CIE XYZ (D65), row Y, R coefficient (Lindbloom, sRGB D65); the Rec. 709 luminance weight."),
100
+ p("xyz.gY", 0.7151522, "Linear sRGB to CIE XYZ (D65), row Y, G coefficient (Lindbloom, sRGB D65)."),
101
+ p("xyz.bY", 0.072175, "Linear sRGB to CIE XYZ (D65), row Y, B coefficient (Lindbloom, sRGB D65)."),
102
+ p("xyz.rZ", 0.0193339, "Linear sRGB to CIE XYZ (D65), row Z, R coefficient (Lindbloom, sRGB D65)."),
103
+ p("xyz.gZ", 0.119192, "Linear sRGB to CIE XYZ (D65), row Z, G coefficient (Lindbloom, sRGB D65)."),
104
+ p("xyz.bZ", 0.9503041, "Linear sRGB to CIE XYZ (D65), row Z, B coefficient (Lindbloom, sRGB D65)."),
105
+ p("white.x", 0.95047, "D65 reference white Xn (2-degree observer, Y normalised to 1), ASTM E308 (D65, 2-degree: 95.047, 100.000, 108.883)."),
106
+ p("white.y", 1, "D65 reference white Yn, the normalisation of Y. CIE 15:2004."),
107
+ p("white.z", 1.08883, "D65 reference white Zn (2-degree observer), ASTM E308 (D65, 2-degree: 95.047, 100.000, 108.883)."),
108
+ p("lab.epsilon", 0.008856, "CIE 1976 L*a*b*: (6/29)^3, below which f(t) is linear. CIE 15:2004, the CIE 1976 L*a*b* formulae."),
109
+ p("lab.kappaSlope", 7.787, "CIE 1976 L*a*b*: slope (1/3)(29/6)^2 of the linear segment of f(t). CIE 15:2004, the CIE 1976 L*a*b* formulae."),
110
+ p("lab.lScale", 116, "CIE 1976 L* = 116 f(Y/Yn) - 16; also the denominator of the linear segment's offset 16/116. CIE 15:2004."),
111
+ p("lab.lOffset", 16, "CIE 1976 L* = 116 f(Y/Yn) - 16. CIE 15:2004."),
112
+ p("lab.aScale", 500, "CIE 1976 a* = 500 (f(X/Xn) - f(Y/Yn)). CIE 15:2004."),
113
+ p("lab.bScale", 200, "CIE 1976 b* = 200 (f(Y/Yn) - f(Z/Zn)). CIE 15:2004."),
114
+ // ── Bottom-up channel (hand-set) ──
115
+ h("lab.weightL", 1, LAB_WEIGHT("luminance difference (the unit the chroma weights are relative to)")),
116
+ h("lab.weightA", 3, LAB_WEIGHT("a* (red-green) difference")),
117
+ h("lab.weightB", 3, LAB_WEIGHT("b* (blue-yellow) difference")),
118
+ h("lab.surroundRadius", 3, "Hand-set surround radius in cells (3 cells = 96 capture px on the fitted grid). run-optimize.ts held it fixed; sweeping it under the same nested CV on UEyes would fit it."),
119
+ h("lab.alphaCutoff", 25, "Hand-set alpha below which a pixel is skipped as transparent. Never binds on an opaque screenshot; saliency on captures with transparent regions scored against gaze would test it."),
120
+ // ── Persona perceptual filter: attention modes ──
121
+ h("mode.centerHeavy.centerBias", 0.7, FILTER("centre-bias strength of the 'center-heavy' attention mode")),
122
+ h("mode.motionAttracted.exponent", 0.5, FILTER("saliency exponent of the 'motion-attracted' mode (a square root, so more cells register)")),
123
+ h("mode.textFocused.threshold", 0.2, FILTER("saliency floor of the 'text-focused' mode, below which cells are suppressed")),
124
+ h("mode.textFocused.bias", -0.1, FILTER("global saliency bias of the 'text-focused' mode")),
125
+ h("mode.largeElements.threshold", 0.3, FILTER("saliency floor of the 'large-elements' mode")),
126
+ // ── Persona perceptual filter: Schwartz-value modulation ──
127
+ h("valueMod.stimulation.exponent", -0.4, VALUE_MOD("stimulation", "exponent (negative: high stimulation disperses attention)", "Anderson 2013 (value-driven attentional capture)")),
128
+ h("valueMod.security.bias", 0.15, VALUE_MOD("security", "global bias", "Pessoa 2009 (motivated attention)")),
129
+ h("valueMod.security.threshold", -0.1, VALUE_MOD("security", "suppression threshold (negative: vigilance lowers it)", "Pessoa 2009")),
130
+ h("valueMod.achievement.exponent", 0.3, VALUE_MOD("achievement", "exponent (positive: attention concentrates)", "Balcetis & Dunning 2006")),
131
+ h("valueMod.conformity.centerBias", 0.3, VALUE_MOD("conformity", "centre bias", "F- and Z-pattern reading conventions")),
132
+ h("valueMod.selfDirection.centerBias", -0.2, VALUE_MOD("selfDirection", "centre bias (negative: explores the periphery)", "the exploration literature")),
133
+ h("valueMod.tradition.threshold", 0.1, VALUE_MOD("tradition", "suppression threshold", "familiar-pattern preference")),
134
+ // ── Persona perceptual filter: clamps and processing speed ──
135
+ h("filter.exponentMin", 0.3, FILTER("lower clamp on the saliency exponent")),
136
+ h("filter.exponentMax", 2, FILTER("upper clamp on the saliency exponent")),
137
+ h("filter.biasLimit", 0.3, FILTER("symmetric clamp on the global saliency bias (+/-)")),
138
+ h("filter.thresholdMax", 0.5, FILTER("upper clamp on the suppression threshold")),
139
+ h("filter.belowThresholdGain", 0.2, FILTER("gain applied to a cell below the suppression threshold")),
140
+ h("filter.slowProcessingBelow", 0.8, FILTER("processing speed below which weak cells are further attenuated")),
141
+ h("filter.speedThresholdBase", 0.3, FILTER("saliency below which a slow processor's cells are attenuated, at processing speed 1")),
142
+ h("filter.speedThresholdSlope", 0.3, FILTER("rise of that saliency threshold per unit of processing-speed deficit")),
143
+ // ── Semantic channel: element types ──
144
+ h("type.cta", 1.0, TYPE_WEIGHT("call-to-action")),
145
+ h("type.heading", 0.8, TYPE_WEIGHT("heading")),
146
+ h("type.form", 0.7, TYPE_WEIGHT("form-field")),
147
+ h("type.search", 0.7, TYPE_WEIGHT("search")),
148
+ h("type.image", 0.5, TYPE_WEIGHT("image")),
149
+ h("type.navigation", 0.4, TYPE_WEIGHT("navigation")),
150
+ h("type.link", 0.3, TYPE_WEIGHT("link")),
151
+ h("type.content", 0.2, TYPE_WEIGHT("body-text")),
152
+ h("type.decorative", 0.1, TYPE_WEIGHT("decorative")),
153
+ h("type.price", 0.9, TYPE_WEIGHT("price")),
154
+ h("type.error", 0.9, TYPE_WEIGHT("error-message")),
155
+ h("type.fallback", 0.2, "Hand-set weight of an element whose type is not in the table (equal to body text). The share of gaze such elements draw under a task, on pages where they are labelled, would test it."),
156
+ // ── Semantic channel: trait-driven element modifiers ──
157
+ h("traitMod.missingTrait", 0.5, "Trait value assumed when the persona does not carry the trait (the midpoint, as chain.missingTraitCapacity). Measured trait distributions, or refusing to modulate on an absent trait, would replace it."),
158
+ h("traitMod.cta.base", 1.0, TRAIT_MOD("call-to-action", "patience", "value at full patience")),
159
+ h("traitMod.cta.slope", 0.5, TRAIT_MOD("call-to-action", "patience", "rise per unit of impatience")),
160
+ h("traitMod.search.base", 0.7, TRAIT_MOD("search", "patience", "value at full patience")),
161
+ h("traitMod.search.slope", 0.6, TRAIT_MOD("search", "patience", "rise per unit of impatience")),
162
+ h("traitMod.content.base", 0.2, TRAIT_MOD("body-text", "patience", "value at zero patience")),
163
+ h("traitMod.content.slope", 0.4, TRAIT_MOD("body-text", "patience", "rise per unit of patience")),
164
+ h("traitMod.heading.base", 0.8, TRAIT_MOD("heading", "curiosity", "value at zero curiosity")),
165
+ h("traitMod.heading.slope", 0.4, TRAIT_MOD("heading", "curiosity", "rise per unit of curiosity")),
166
+ h("traitMod.image.base", 0.5, TRAIT_MOD("image", "curiosity", "value at zero curiosity")),
167
+ h("traitMod.image.slope", 0.5, TRAIT_MOD("image", "curiosity", "rise per unit of curiosity")),
168
+ h("traitMod.navigation", 0.7, "Hand-set navigation modifier, deliberately independent of site familiarity (Alexa, 2026-08-05); 0.7 is the earlier familiarity formula at familiarity 0.5. Gaze share on navigation under a task, across first-time and returning visitors, would test whether it should vary."),
169
+ h("traitMod.reading.threshold", 0.6, TRAIT_MOD("body-text", "readingTendency", "readingTendency above which the reading formula replaces the patience one")),
170
+ h("traitMod.reading.base", 0.4, TRAIT_MOD("body-text", "readingTendency", "value at zero readingTendency (once above the threshold)")),
171
+ h("traitMod.reading.slope", 0.4, TRAIT_MOD("body-text", "readingTendency", "rise per unit of readingTendency")),
172
+ h("traitMod.error.base", 0.5, TRAIT_MOD("error-message", "selfEfficacy", "value at full self-efficacy")),
173
+ h("traitMod.error.slope", 0.5, TRAIT_MOD("error-message", "selfEfficacy", "rise per unit of self-efficacy deficit")),
174
+ h("traitMod.price.base", 0.5, TRAIT_MOD("price", "riskTolerance", "value at full risk tolerance")),
175
+ h("traitMod.price.slope", 0.5, TRAIT_MOD("price", "riskTolerance", "rise per unit of risk aversion")),
176
+ h("traitMod.decorative.base", 0.1, TRAIT_MOD("decorative", "metacognitivePlanning", "value at full planning")),
177
+ h("traitMod.decorative.slope", 0.4, TRAIT_MOD("decorative", "metacognitivePlanning", "rise per unit of planning deficit")),
178
+ h("traitMod.form.base", 0.5, TRAIT_MOD("form-field", "proceduralFluency", "value at zero fluency")),
179
+ h("traitMod.form.slope", 0.3, TRAIT_MOD("form-field", "proceduralFluency", "rise per unit of fluency")),
180
+ // ── Semantic channel: fallback modifiers by persona name ──
181
+ ...Object.entries(STATIC_MODIFIERS).flatMap(([persona, mods]) => Object.entries(mods).map(([type, value]) => h(`personaMod.${persona}.${type}`, value, `Hand-set ${type} modifier for ${persona}, used only when no cognitive traits resolve for that name (every built-in persona carries traits, so the shipped tools reach this only if the persona lookup fails). Gaze share on ${type} elements under a task, in a sample of the population ${persona} models, would fit it.`))),
182
+ // ── Semantic channel: relevance and values ──
183
+ h("relevance.gain", 2, "Hand-set gain on relevance: a fully relevant element (judge score 1, or every goal keyword matched) gets 1 + 2 = 3x weight. Gaze share on goal-relevant targets against non-targets under a stated task would fit it."),
184
+ h("goal.minKeywordLength", 3, "Hand-set shortest goal word that counts as a keyword (shorter ones are dropped as stop-word-like). Agreement of the keyword matcher with judged relevance on a labelled set of goals would test it."),
185
+ h("normPercentile", 0.95, "Hand-set percentile the semantic map is normalised against, so a boosted element clips instead of compressing the rest of the field. Sweeping it under the UEyes nested CV would fit it; run-optimize.ts held it fixed."),
186
+ ...Object.entries(VALUE_PATTERNS).flatMap(([pattern, vals]) => Object.entries(vals).map(([value, w]) => h(`valuePattern.${pattern}.${value}`, w, `Hand-set weight with which ${value} (above neutral) boosts an element whose text matches the '${pattern}' pattern. Gaze share on ${pattern}-cue elements across people with measured Schwartz ${value} scores would fit it.`))),
187
+ ];
188
+ //# sourceMappingURL=attention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.js","sourceRoot":"","sources":["../../../src/visual/provenance/attention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Provenance entries for the cognitive transport chain's constants
3
+ * (cognitive-transport-chain.ts). See ../model-provenance.ts for the statuses.
4
+ *
5
+ * Stage B: the motor, decision, procedure and reading demands are law times
6
+ * (demand-laws.ts, provenance/laws.ts: Fitts, novice search, KLM, Brysbaert)
7
+ * against one time budget, law.timeBudget; the seven hand-set curve constants
8
+ * they replaced (demand.interactive.*, demand.choice.halfSaturation,
9
+ * demand.text.readingCapacity) are gone. What remains here are the shares of
10
+ * those demands that land on each trait, and the rest of the chain.
11
+ *
12
+ * Stage C (research/stage-c-design.md): cognitiveLoad's four abilities take the
13
+ * decision demand and frustration's patience the reading demand, each whole,
14
+ * so no share is registered for them: the claim is the persona value, read as
15
+ * a tolerated reference time and registered with it (provenance/personas.ts).
16
+ * The 17 hand-set shares they replaced are gone: 11 text and 4 navigation
17
+ * terms of cognitiveLoad (demand.info.*, demand.text.comprehension,
18
+ * demand.wordLength.*, demand.sentenceLength.workingMemory and .comprehension,
19
+ * demand.lexicalDiversity.*, demand.longWords.*, demand.technical.*,
20
+ * demand.nav.*) and frustration's two text terms (demand.text.patience,
21
+ * demand.sentenceLength.patience). Text is priced by the reading time, and
22
+ * navigation depth, 1 on 92% of the reference pages, is the path's.
23
+ *
24
+ * Nothing in this chain is fitted or published today. Every curve constant,
25
+ * weight, rate, cap and modulation coefficient was set by hand, so it is a
26
+ * `hypothesis` whose `source` names the data that would test or fit it. The
27
+ * only `definition` entries are pure encoding choices with no empirical
28
+ * claim: a numerical epsilon and output rounding. The scale totalCTC is
29
+ * reported on is the reference set, registered in provenance/ctc-reference.ts.
30
+ *
31
+ * The chain reads these through `param()` at function entry, so a tool that
32
+ * runs it under `withProvenance` reports exactly which hand-set numbers its
33
+ * answer rests on, and tests/ctc-provenance.test.ts fails on an id that is
34
+ * registered but never read, or read but never registered.
35
+ *
36
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
37
+ * @license MIT
38
+ */
39
+ import type { ProvenanceEntry } from "../model-provenance.js";
40
+ export declare const CHAIN_PROVENANCE: ProvenanceEntry[];
41
+ //# sourceMappingURL=chain.d.ts.map