@hexpro/qr-code-studio 0.0.0-stage → 0.1.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 (1341) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +21 -0
  3. package/README.md +62 -2
  4. package/dist/app/bulk.d.ts +21 -0
  5. package/dist/app/bulk.d.ts.map +1 -0
  6. package/dist/app/bulk.js +564 -0
  7. package/dist/app/bulk.js.map +1 -0
  8. package/dist/app/check.d.ts +23 -0
  9. package/dist/app/check.d.ts.map +1 -0
  10. package/dist/app/check.js +306 -0
  11. package/dist/app/check.js.map +1 -0
  12. package/dist/app/content.d.ts +19 -0
  13. package/dist/app/content.d.ts.map +1 -0
  14. package/dist/app/content.js +634 -0
  15. package/dist/app/content.js.map +1 -0
  16. package/dist/app/context.d.ts +25 -0
  17. package/dist/app/context.d.ts.map +1 -0
  18. package/dist/app/context.js +11 -0
  19. package/dist/app/context.js.map +1 -0
  20. package/dist/app/controls.d.ts +95 -0
  21. package/dist/app/controls.d.ts.map +1 -0
  22. package/dist/app/controls.js +278 -0
  23. package/dist/app/controls.js.map +1 -0
  24. package/dist/app/design-panels.d.ts +27 -0
  25. package/dist/app/design-panels.d.ts.map +1 -0
  26. package/dist/app/design-panels.js +1196 -0
  27. package/dist/app/design-panels.js.map +1 -0
  28. package/dist/app/dom.d.ts +74 -0
  29. package/dist/app/dom.d.ts.map +1 -0
  30. package/dist/app/dom.js +129 -0
  31. package/dist/app/dom.js.map +1 -0
  32. package/dist/app/images.d.ts +22 -0
  33. package/dist/app/images.d.ts.map +1 -0
  34. package/dist/app/images.js +50 -0
  35. package/dist/app/images.js.map +1 -0
  36. package/dist/app/library-view.d.ts +24 -0
  37. package/dist/app/library-view.d.ts.map +1 -0
  38. package/dist/app/library-view.js +260 -0
  39. package/dist/app/library-view.js.map +1 -0
  40. package/dist/app/main.d.ts +17 -0
  41. package/dist/app/main.d.ts.map +1 -0
  42. package/dist/app/main.js +518 -0
  43. package/dist/app/main.js.map +1 -0
  44. package/dist/app/measure.d.ts +26 -0
  45. package/dist/app/measure.d.ts.map +1 -0
  46. package/dist/app/measure.js +53 -0
  47. package/dist/app/measure.js.map +1 -0
  48. package/dist/app/proof.d.ts +30 -0
  49. package/dist/app/proof.d.ts.map +1 -0
  50. package/dist/app/proof.js +378 -0
  51. package/dist/app/proof.js.map +1 -0
  52. package/dist/app/save.d.ts +27 -0
  53. package/dist/app/save.d.ts.map +1 -0
  54. package/dist/app/save.js +331 -0
  55. package/dist/app/save.js.map +1 -0
  56. package/dist/app/scan.d.ts +25 -0
  57. package/dist/app/scan.d.ts.map +1 -0
  58. package/dist/app/scan.js +421 -0
  59. package/dist/app/scan.js.map +1 -0
  60. package/dist/app/shortcuts.d.ts +12 -0
  61. package/dist/app/shortcuts.d.ts.map +1 -0
  62. package/dist/app/shortcuts.js +17 -0
  63. package/dist/app/shortcuts.js.map +1 -0
  64. package/dist/app/text.d.ts +22 -0
  65. package/dist/app/text.d.ts.map +1 -0
  66. package/dist/app/text.js +50 -0
  67. package/dist/app/text.js.map +1 -0
  68. package/dist/batch/csv.d.ts +56 -0
  69. package/dist/batch/csv.d.ts.map +1 -0
  70. package/dist/batch/csv.js +327 -0
  71. package/dist/batch/csv.js.map +1 -0
  72. package/dist/batch/errors.d.ts +60 -0
  73. package/dist/batch/errors.d.ts.map +1 -0
  74. package/dist/batch/errors.js +60 -0
  75. package/dist/batch/errors.js.map +1 -0
  76. package/dist/batch/filename.d.ts +65 -0
  77. package/dist/batch/filename.d.ts.map +1 -0
  78. package/dist/batch/filename.js +205 -0
  79. package/dist/batch/filename.js.map +1 -0
  80. package/dist/batch/index.d.ts +17 -0
  81. package/dist/batch/index.d.ts.map +1 -0
  82. package/dist/batch/index.js +11 -0
  83. package/dist/batch/index.js.map +1 -0
  84. package/dist/batch/issues.d.ts +45 -0
  85. package/dist/batch/issues.d.ts.map +1 -0
  86. package/dist/batch/issues.js +47 -0
  87. package/dist/batch/issues.js.map +1 -0
  88. package/dist/batch/manifest.d.ts +43 -0
  89. package/dist/batch/manifest.d.ts.map +1 -0
  90. package/dist/batch/manifest.js +82 -0
  91. package/dist/batch/manifest.js.map +1 -0
  92. package/dist/batch/plan.d.ts +33 -0
  93. package/dist/batch/plan.d.ts.map +1 -0
  94. package/dist/batch/plan.js +254 -0
  95. package/dist/batch/plan.js.map +1 -0
  96. package/dist/batch/run.d.ts +68 -0
  97. package/dist/batch/run.d.ts.map +1 -0
  98. package/dist/batch/run.js +548 -0
  99. package/dist/batch/run.js.map +1 -0
  100. package/dist/batch/template.d.ts +54 -0
  101. package/dist/batch/template.d.ts.map +1 -0
  102. package/dist/batch/template.js +119 -0
  103. package/dist/batch/template.js.map +1 -0
  104. package/dist/batch/text-decoding.d.ts +49 -0
  105. package/dist/batch/text-decoding.d.ts.map +1 -0
  106. package/dist/batch/text-decoding.js +160 -0
  107. package/dist/batch/text-decoding.js.map +1 -0
  108. package/dist/batch/types.d.ts +240 -0
  109. package/dist/batch/types.d.ts.map +1 -0
  110. package/dist/batch/types.js +35 -0
  111. package/dist/batch/types.js.map +1 -0
  112. package/dist/batch/verify.d.ts +45 -0
  113. package/dist/batch/verify.d.ts.map +1 -0
  114. package/dist/batch/verify.js +72 -0
  115. package/dist/batch/verify.js.map +1 -0
  116. package/dist/batch/zip.d.ts +39 -0
  117. package/dist/batch/zip.d.ts.map +1 -0
  118. package/dist/batch/zip.js +201 -0
  119. package/dist/batch/zip.js.map +1 -0
  120. package/dist/conformance/finder.d.ts +67 -0
  121. package/dist/conformance/finder.d.ts.map +1 -0
  122. package/dist/conformance/finder.js +125 -0
  123. package/dist/conformance/finder.js.map +1 -0
  124. package/dist/conformance/frame.d.ts +28 -0
  125. package/dist/conformance/frame.d.ts.map +1 -0
  126. package/dist/conformance/frame.js +134 -0
  127. package/dist/conformance/frame.js.map +1 -0
  128. package/dist/conformance/index.d.ts +15 -0
  129. package/dist/conformance/index.d.ts.map +1 -0
  130. package/dist/conformance/index.js +8 -0
  131. package/dist/conformance/index.js.map +1 -0
  132. package/dist/conformance/module-shape.d.ts +35 -0
  133. package/dist/conformance/module-shape.d.ts.map +1 -0
  134. package/dist/conformance/module-shape.js +139 -0
  135. package/dist/conformance/module-shape.js.map +1 -0
  136. package/dist/conformance/payload-type.d.ts +48 -0
  137. package/dist/conformance/payload-type.d.ts.map +1 -0
  138. package/dist/conformance/payload-type.js +113 -0
  139. package/dist/conformance/payload-type.js.map +1 -0
  140. package/dist/conformance/preset.d.ts +37 -0
  141. package/dist/conformance/preset.d.ts.map +1 -0
  142. package/dist/conformance/preset.js +171 -0
  143. package/dist/conformance/preset.js.map +1 -0
  144. package/dist/conformance/region-captures.d.ts +41 -0
  145. package/dist/conformance/region-captures.d.ts.map +1 -0
  146. package/dist/conformance/region-captures.js +69 -0
  147. package/dist/conformance/region-captures.js.map +1 -0
  148. package/dist/conformance/region-shape.d.ts +43 -0
  149. package/dist/conformance/region-shape.d.ts.map +1 -0
  150. package/dist/conformance/region-shape.js +214 -0
  151. package/dist/conformance/region-shape.js.map +1 -0
  152. package/dist/conformance/sample.d.ts +13 -0
  153. package/dist/conformance/sample.d.ts.map +1 -0
  154. package/dist/conformance/sample.js +75 -0
  155. package/dist/conformance/sample.js.map +1 -0
  156. package/dist/conformance/types.d.ts +16 -0
  157. package/dist/conformance/types.d.ts.map +1 -0
  158. package/dist/conformance/types.js +10 -0
  159. package/dist/conformance/types.js.map +1 -0
  160. package/dist/core/bch.d.ts +36 -0
  161. package/dist/core/bch.d.ts.map +1 -0
  162. package/dist/core/bch.js +92 -0
  163. package/dist/core/bch.js.map +1 -0
  164. package/dist/core/bit-matrix.d.ts +56 -0
  165. package/dist/core/bit-matrix.d.ts.map +1 -0
  166. package/dist/core/bit-matrix.js +150 -0
  167. package/dist/core/bit-matrix.js.map +1 -0
  168. package/dist/core/bits.d.ts +53 -0
  169. package/dist/core/bits.d.ts.map +1 -0
  170. package/dist/core/bits.js +128 -0
  171. package/dist/core/bits.js.map +1 -0
  172. package/dist/core/checksums.d.ts +22 -0
  173. package/dist/core/checksums.d.ts.map +1 -0
  174. package/dist/core/checksums.js +64 -0
  175. package/dist/core/checksums.js.map +1 -0
  176. package/dist/core/deflate.d.ts +51 -0
  177. package/dist/core/deflate.d.ts.map +1 -0
  178. package/dist/core/deflate.js +851 -0
  179. package/dist/core/deflate.js.map +1 -0
  180. package/dist/core/errors.d.ts +123 -0
  181. package/dist/core/errors.d.ts.map +1 -0
  182. package/dist/core/errors.js +168 -0
  183. package/dist/core/errors.js.map +1 -0
  184. package/dist/core/field.d.ts +58 -0
  185. package/dist/core/field.d.ts.map +1 -0
  186. package/dist/core/field.js +184 -0
  187. package/dist/core/field.js.map +1 -0
  188. package/dist/core/huffman.d.ts +31 -0
  189. package/dist/core/huffman.d.ts.map +1 -0
  190. package/dist/core/huffman.js +131 -0
  191. package/dist/core/huffman.js.map +1 -0
  192. package/dist/core/image.d.ts +18 -0
  193. package/dist/core/image.d.ts.map +1 -0
  194. package/dist/core/image.js +2 -0
  195. package/dist/core/image.js.map +1 -0
  196. package/dist/core/index.d.ts +25 -0
  197. package/dist/core/index.d.ts.map +1 -0
  198. package/dist/core/index.js +15 -0
  199. package/dist/core/index.js.map +1 -0
  200. package/dist/core/issue.d.ts +39 -0
  201. package/dist/core/issue.d.ts.map +1 -0
  202. package/dist/core/issue.js +24 -0
  203. package/dist/core/issue.js.map +1 -0
  204. package/dist/core/math.d.ts +56 -0
  205. package/dist/core/math.d.ts.map +1 -0
  206. package/dist/core/math.js +609 -0
  207. package/dist/core/math.js.map +1 -0
  208. package/dist/core/prng.d.ts +27 -0
  209. package/dist/core/prng.d.ts.map +1 -0
  210. package/dist/core/prng.js +111 -0
  211. package/dist/core/prng.js.map +1 -0
  212. package/dist/core/reed-solomon.d.ts +69 -0
  213. package/dist/core/reed-solomon.d.ts.map +1 -0
  214. package/dist/core/reed-solomon.js +308 -0
  215. package/dist/core/reed-solomon.js.map +1 -0
  216. package/dist/core/registry.d.ts +45 -0
  217. package/dist/core/registry.d.ts.map +1 -0
  218. package/dist/core/registry.js +80 -0
  219. package/dist/core/registry.js.map +1 -0
  220. package/dist/core/result.d.ts +33 -0
  221. package/dist/core/result.d.ts.map +1 -0
  222. package/dist/core/result.js +52 -0
  223. package/dist/core/result.js.map +1 -0
  224. package/dist/core/zip.d.ts +36 -0
  225. package/dist/core/zip.d.ts.map +1 -0
  226. package/dist/core/zip.js +234 -0
  227. package/dist/core/zip.js.map +1 -0
  228. package/dist/decode/alignment.d.ts +34 -0
  229. package/dist/decode/alignment.d.ts.map +1 -0
  230. package/dist/decode/alignment.js +179 -0
  231. package/dist/decode/alignment.js.map +1 -0
  232. package/dist/decode/binarise.d.ts +95 -0
  233. package/dist/decode/binarise.d.ts.map +1 -0
  234. package/dist/decode/binarise.js +399 -0
  235. package/dist/decode/binarise.js.map +1 -0
  236. package/dist/decode/decoder.d.ts +75 -0
  237. package/dist/decode/decoder.d.ts.map +1 -0
  238. package/dist/decode/decoder.js +773 -0
  239. package/dist/decode/decoder.js.map +1 -0
  240. package/dist/decode/erasures.d.ts +26 -0
  241. package/dist/decode/erasures.d.ts.map +1 -0
  242. package/dist/decode/erasures.js +34 -0
  243. package/dist/decode/erasures.js.map +1 -0
  244. package/dist/decode/failure.d.ts +15 -0
  245. package/dist/decode/failure.d.ts.map +1 -0
  246. package/dist/decode/failure.js +22 -0
  247. package/dist/decode/failure.js.map +1 -0
  248. package/dist/decode/finder.d.ts +114 -0
  249. package/dist/decode/finder.d.ts.map +1 -0
  250. package/dist/decode/finder.js +441 -0
  251. package/dist/decode/finder.js.map +1 -0
  252. package/dist/decode/frame.d.ts +49 -0
  253. package/dist/decode/frame.d.ts.map +1 -0
  254. package/dist/decode/frame.js +228 -0
  255. package/dist/decode/frame.js.map +1 -0
  256. package/dist/decode/grey.d.ts +87 -0
  257. package/dist/decode/grey.d.ts.map +1 -0
  258. package/dist/decode/grey.js +226 -0
  259. package/dist/decode/grey.js.map +1 -0
  260. package/dist/decode/index.d.ts +4 -0
  261. package/dist/decode/index.d.ts.map +1 -0
  262. package/dist/decode/index.js +3 -0
  263. package/dist/decode/index.js.map +1 -0
  264. package/dist/decode/locate-qr.d.ts +80 -0
  265. package/dist/decode/locate-qr.d.ts.map +1 -0
  266. package/dist/decode/locate-qr.js +295 -0
  267. package/dist/decode/locate-qr.js.map +1 -0
  268. package/dist/decode/locate-single.d.ts +47 -0
  269. package/dist/decode/locate-single.d.ts.map +1 -0
  270. package/dist/decode/locate-single.js +169 -0
  271. package/dist/decode/locate-single.js.map +1 -0
  272. package/dist/decode/plain.d.ts +70 -0
  273. package/dist/decode/plain.d.ts.map +1 -0
  274. package/dist/decode/plain.js +460 -0
  275. package/dist/decode/plain.js.map +1 -0
  276. package/dist/decode/sample.d.ts +56 -0
  277. package/dist/decode/sample.d.ts.map +1 -0
  278. package/dist/decode/sample.js +154 -0
  279. package/dist/decode/sample.js.map +1 -0
  280. package/dist/decode/strict.d.ts +255 -0
  281. package/dist/decode/strict.d.ts.map +1 -0
  282. package/dist/decode/strict.js +597 -0
  283. package/dist/decode/strict.js.map +1 -0
  284. package/dist/decode/tiled.d.ts +137 -0
  285. package/dist/decode/tiled.d.ts.map +1 -0
  286. package/dist/decode/tiled.js +452 -0
  287. package/dist/decode/tiled.js.map +1 -0
  288. package/dist/decode/transform.d.ts +48 -0
  289. package/dist/decode/transform.d.ts.map +1 -0
  290. package/dist/decode/transform.js +180 -0
  291. package/dist/decode/transform.js.map +1 -0
  292. package/dist/decode/types.d.ts +163 -0
  293. package/dist/decode/types.d.ts.map +1 -0
  294. package/dist/decode/types.js +10 -0
  295. package/dist/decode/types.js.map +1 -0
  296. package/dist/design/base64.d.ts +16 -0
  297. package/dist/design/base64.d.ts.map +1 -0
  298. package/dist/design/base64.js +97 -0
  299. package/dist/design/base64.js.map +1 -0
  300. package/dist/design/canonical.d.ts +13 -0
  301. package/dist/design/canonical.d.ts.map +1 -0
  302. package/dist/design/canonical.js +100 -0
  303. package/dist/design/canonical.js.map +1 -0
  304. package/dist/design/caption.d.ts +54 -0
  305. package/dist/design/caption.d.ts.map +1 -0
  306. package/dist/design/caption.js +175 -0
  307. package/dist/design/caption.js.map +1 -0
  308. package/dist/design/catalogue/draw.d.ts +77 -0
  309. package/dist/design/catalogue/draw.d.ts.map +1 -0
  310. package/dist/design/catalogue/draw.js +260 -0
  311. package/dist/design/catalogue/draw.js.map +1 -0
  312. package/dist/design/catalogue/fills.d.ts +9 -0
  313. package/dist/design/catalogue/fills.d.ts.map +1 -0
  314. package/dist/design/catalogue/fills.js +64 -0
  315. package/dist/design/catalogue/fills.js.map +1 -0
  316. package/dist/design/catalogue/frames.d.ts +18 -0
  317. package/dist/design/catalogue/frames.d.ts.map +1 -0
  318. package/dist/design/catalogue/frames.js +451 -0
  319. package/dist/design/catalogue/frames.js.map +1 -0
  320. package/dist/design/catalogue/icons.d.ts +21 -0
  321. package/dist/design/catalogue/icons.d.ts.map +1 -0
  322. package/dist/design/catalogue/icons.js +293 -0
  323. package/dist/design/catalogue/icons.js.map +1 -0
  324. package/dist/design/catalogue/module-shapes.d.ts +21 -0
  325. package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
  326. package/dist/design/catalogue/module-shapes.js +266 -0
  327. package/dist/design/catalogue/module-shapes.js.map +1 -0
  328. package/dist/design/catalogue/presets.d.ts +31 -0
  329. package/dist/design/catalogue/presets.d.ts.map +1 -0
  330. package/dist/design/catalogue/presets.js +696 -0
  331. package/dist/design/catalogue/presets.js.map +1 -0
  332. package/dist/design/catalogue/region-shapes.d.ts +41 -0
  333. package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
  334. package/dist/design/catalogue/region-shapes.js +399 -0
  335. package/dist/design/catalogue/region-shapes.js.map +1 -0
  336. package/dist/design/catalogue/schema.d.ts +14 -0
  337. package/dist/design/catalogue/schema.d.ts.map +1 -0
  338. package/dist/design/catalogue/schema.js +58 -0
  339. package/dist/design/catalogue/schema.js.map +1 -0
  340. package/dist/design/constraints.d.ts +25 -0
  341. package/dist/design/constraints.d.ts.map +1 -0
  342. package/dist/design/constraints.js +194 -0
  343. package/dist/design/constraints.js.map +1 -0
  344. package/dist/design/document.d.ts +64 -0
  345. package/dist/design/document.d.ts.map +1 -0
  346. package/dist/design/document.js +66 -0
  347. package/dist/design/document.js.map +1 -0
  348. package/dist/design/finder.d.ts +79 -0
  349. package/dist/design/finder.d.ts.map +1 -0
  350. package/dist/design/finder.js +270 -0
  351. package/dist/design/finder.js.map +1 -0
  352. package/dist/design/index.d.ts +18 -0
  353. package/dist/design/index.d.ts.map +1 -0
  354. package/dist/design/index.js +15 -0
  355. package/dist/design/index.js.map +1 -0
  356. package/dist/design/link.d.ts +41 -0
  357. package/dist/design/link.d.ts.map +1 -0
  358. package/dist/design/link.js +131 -0
  359. package/dist/design/link.js.map +1 -0
  360. package/dist/design/logo.d.ts +57 -0
  361. package/dist/design/logo.d.ts.map +1 -0
  362. package/dist/design/logo.js +376 -0
  363. package/dist/design/logo.js.map +1 -0
  364. package/dist/design/migrate.d.ts +31 -0
  365. package/dist/design/migrate.d.ts.map +1 -0
  366. package/dist/design/migrate.js +87 -0
  367. package/dist/design/migrate.js.map +1 -0
  368. package/dist/design/neighbours.d.ts +24 -0
  369. package/dist/design/neighbours.d.ts.map +1 -0
  370. package/dist/design/neighbours.js +50 -0
  371. package/dist/design/neighbours.js.map +1 -0
  372. package/dist/design/paint.d.ts +47 -0
  373. package/dist/design/paint.d.ts.map +1 -0
  374. package/dist/design/paint.js +115 -0
  375. package/dist/design/paint.js.map +1 -0
  376. package/dist/design/params.d.ts +30 -0
  377. package/dist/design/params.d.ts.map +1 -0
  378. package/dist/design/params.js +85 -0
  379. package/dist/design/params.js.map +1 -0
  380. package/dist/design/preset-size.d.ts +14 -0
  381. package/dist/design/preset-size.d.ts.map +1 -0
  382. package/dist/design/preset-size.js +14 -0
  383. package/dist/design/preset-size.js.map +1 -0
  384. package/dist/design/registries.d.ts +9 -0
  385. package/dist/design/registries.d.ts.map +1 -0
  386. package/dist/design/registries.js +24 -0
  387. package/dist/design/registries.js.map +1 -0
  388. package/dist/design/scene.d.ts +38 -0
  389. package/dist/design/scene.d.ts.map +1 -0
  390. package/dist/design/scene.js +694 -0
  391. package/dist/design/scene.js.map +1 -0
  392. package/dist/design/swiss-cross.d.ts +54 -0
  393. package/dist/design/swiss-cross.d.ts.map +1 -0
  394. package/dist/design/swiss-cross.js +95 -0
  395. package/dist/design/swiss-cross.js.map +1 -0
  396. package/dist/design/types.d.ts +389 -0
  397. package/dist/design/types.d.ts.map +1 -0
  398. package/dist/design/types.js +29 -0
  399. package/dist/design/types.js.map +1 -0
  400. package/dist/design/validate.d.ts +48 -0
  401. package/dist/design/validate.d.ts.map +1 -0
  402. package/dist/design/validate.js +986 -0
  403. package/dist/design/validate.js.map +1 -0
  404. package/dist/dom/camera.d.ts +94 -0
  405. package/dist/dom/camera.d.ts.map +1 -0
  406. package/dist/dom/camera.js +288 -0
  407. package/dist/dom/camera.js.map +1 -0
  408. package/dist/dom/file-library.d.ts +297 -0
  409. package/dist/dom/file-library.d.ts.map +1 -0
  410. package/dist/dom/file-library.js +703 -0
  411. package/dist/dom/file-library.js.map +1 -0
  412. package/dist/dom/image.d.ts +77 -0
  413. package/dist/dom/image.d.ts.map +1 -0
  414. package/dist/dom/image.js +253 -0
  415. package/dist/dom/image.js.map +1 -0
  416. package/dist/dom/index.d.ts +19 -0
  417. package/dist/dom/index.d.ts.map +1 -0
  418. package/dist/dom/index.js +10 -0
  419. package/dist/dom/index.js.map +1 -0
  420. package/dist/dom/library/index.d.ts +4 -0
  421. package/dist/dom/library/index.d.ts.map +1 -0
  422. package/dist/dom/library/index.js +2 -0
  423. package/dist/dom/library/index.js.map +1 -0
  424. package/dist/dom/library/indexeddb.d.ts +71 -0
  425. package/dist/dom/library/indexeddb.d.ts.map +1 -0
  426. package/dist/dom/library/indexeddb.js +365 -0
  427. package/dist/dom/library/indexeddb.js.map +1 -0
  428. package/dist/dom/logo.d.ts +36 -0
  429. package/dist/dom/logo.d.ts.map +1 -0
  430. package/dist/dom/logo.js +99 -0
  431. package/dist/dom/logo.js.map +1 -0
  432. package/dist/dom/orientation.d.ts +32 -0
  433. package/dist/dom/orientation.d.ts.map +1 -0
  434. package/dist/dom/orientation.js +152 -0
  435. package/dist/dom/orientation.js.map +1 -0
  436. package/dist/dom/output.d.ts +58 -0
  437. package/dist/dom/output.d.ts.map +1 -0
  438. package/dist/dom/output.js +93 -0
  439. package/dist/dom/output.js.map +1 -0
  440. package/dist/dom/print.d.ts +52 -0
  441. package/dist/dom/print.d.ts.map +1 -0
  442. package/dist/dom/print.js +101 -0
  443. package/dist/dom/print.js.map +1 -0
  444. package/dist/dom/raster-encoder.d.ts +43 -0
  445. package/dist/dom/raster-encoder.d.ts.map +1 -0
  446. package/dist/dom/raster-encoder.js +102 -0
  447. package/dist/dom/raster-encoder.js.map +1 -0
  448. package/dist/dom/resample.d.ts +20 -0
  449. package/dist/dom/resample.d.ts.map +1 -0
  450. package/dist/dom/resample.js +107 -0
  451. package/dist/dom/resample.js.map +1 -0
  452. package/dist/dom/types.d.ts +54 -0
  453. package/dist/dom/types.d.ts.map +1 -0
  454. package/dist/dom/types.js +13 -0
  455. package/dist/dom/types.js.map +1 -0
  456. package/dist/encode/bitstream.d.ts +14 -0
  457. package/dist/encode/bitstream.d.ts.map +1 -0
  458. package/dist/encode/bitstream.js +31 -0
  459. package/dist/encode/bitstream.js.map +1 -0
  460. package/dist/encode/encode.d.ts +21 -0
  461. package/dist/encode/encode.d.ts.map +1 -0
  462. package/dist/encode/encode.js +65 -0
  463. package/dist/encode/encode.js.map +1 -0
  464. package/dist/encode/index.d.ts +5 -0
  465. package/dist/encode/index.d.ts.map +1 -0
  466. package/dist/encode/index.js +4 -0
  467. package/dist/encode/index.js.map +1 -0
  468. package/dist/encode/plan.d.ts +61 -0
  469. package/dist/encode/plan.d.ts.map +1 -0
  470. package/dist/encode/plan.js +177 -0
  471. package/dist/encode/plan.js.map +1 -0
  472. package/dist/encode/structured-append.d.ts +35 -0
  473. package/dist/encode/structured-append.d.ts.map +1 -0
  474. package/dist/encode/structured-append.js +153 -0
  475. package/dist/encode/structured-append.js.map +1 -0
  476. package/dist/fonts/latin.d.ts +118 -0
  477. package/dist/fonts/latin.d.ts.map +1 -0
  478. package/dist/fonts/latin.js +137 -0
  479. package/dist/fonts/latin.js.map +1 -0
  480. package/dist/geometry/flatten.d.ts +60 -0
  481. package/dist/geometry/flatten.d.ts.map +1 -0
  482. package/dist/geometry/flatten.js +177 -0
  483. package/dist/geometry/flatten.js.map +1 -0
  484. package/dist/geometry/index.d.ts +10 -0
  485. package/dist/geometry/index.d.ts.map +1 -0
  486. package/dist/geometry/index.js +6 -0
  487. package/dist/geometry/index.js.map +1 -0
  488. package/dist/geometry/matrix.d.ts +50 -0
  489. package/dist/geometry/matrix.d.ts.map +1 -0
  490. package/dist/geometry/matrix.js +113 -0
  491. package/dist/geometry/matrix.js.map +1 -0
  492. package/dist/geometry/measure.d.ts +35 -0
  493. package/dist/geometry/measure.d.ts.map +1 -0
  494. package/dist/geometry/measure.js +206 -0
  495. package/dist/geometry/measure.js.map +1 -0
  496. package/dist/geometry/path.d.ts +137 -0
  497. package/dist/geometry/path.d.ts.map +1 -0
  498. package/dist/geometry/path.js +401 -0
  499. package/dist/geometry/path.js.map +1 -0
  500. package/dist/geometry/trace.d.ts +29 -0
  501. package/dist/geometry/trace.d.ts.map +1 -0
  502. package/dist/geometry/trace.js +166 -0
  503. package/dist/geometry/trace.js.map +1 -0
  504. package/dist/index.d.ts +20 -0
  505. package/dist/index.d.ts.map +1 -0
  506. package/dist/index.js +15 -0
  507. package/dist/index.js.map +1 -0
  508. package/dist/inspect/explain.d.ts +32 -0
  509. package/dist/inspect/explain.d.ts.map +1 -0
  510. package/dist/inspect/explain.js +99 -0
  511. package/dist/inspect/explain.js.map +1 -0
  512. package/dist/inspect/gs1.d.ts +38 -0
  513. package/dist/inspect/gs1.d.ts.map +1 -0
  514. package/dist/inspect/gs1.js +130 -0
  515. package/dist/inspect/gs1.js.map +1 -0
  516. package/dist/inspect/index.d.ts +9 -0
  517. package/dist/inspect/index.d.ts.map +1 -0
  518. package/dist/inspect/index.js +6 -0
  519. package/dist/inspect/index.js.map +1 -0
  520. package/dist/inspect/inspect.d.ts +29 -0
  521. package/dist/inspect/inspect.d.ts.map +1 -0
  522. package/dist/inspect/inspect.js +98 -0
  523. package/dist/inspect/inspect.js.map +1 -0
  524. package/dist/inspect/keys.d.ts +54 -0
  525. package/dist/inspect/keys.d.ts.map +1 -0
  526. package/dist/inspect/keys.js +63 -0
  527. package/dist/inspect/keys.js.map +1 -0
  528. package/dist/inspect/sets.d.ts +27 -0
  529. package/dist/inspect/sets.d.ts.map +1 -0
  530. package/dist/inspect/sets.js +67 -0
  531. package/dist/inspect/sets.js.map +1 -0
  532. package/dist/inspect/types.d.ts +81 -0
  533. package/dist/inspect/types.d.ts.map +1 -0
  534. package/dist/inspect/types.js +16 -0
  535. package/dist/inspect/types.js.map +1 -0
  536. package/dist/messages/en/app.d.ts +11 -0
  537. package/dist/messages/en/app.d.ts.map +1 -0
  538. package/dist/messages/en/app.js +395 -0
  539. package/dist/messages/en/app.js.map +1 -0
  540. package/dist/messages/en/batch.d.ts +18 -0
  541. package/dist/messages/en/batch.d.ts.map +1 -0
  542. package/dist/messages/en/batch.js +42 -0
  543. package/dist/messages/en/batch.js.map +1 -0
  544. package/dist/messages/en/decode.d.ts +9 -0
  545. package/dist/messages/en/decode.d.ts.map +1 -0
  546. package/dist/messages/en/decode.js +21 -0
  547. package/dist/messages/en/decode.js.map +1 -0
  548. package/dist/messages/en/design.d.ts +13 -0
  549. package/dist/messages/en/design.d.ts.map +1 -0
  550. package/dist/messages/en/design.js +228 -0
  551. package/dist/messages/en/design.js.map +1 -0
  552. package/dist/messages/en/dom.d.ts +11 -0
  553. package/dist/messages/en/dom.d.ts.map +1 -0
  554. package/dist/messages/en/dom.js +14 -0
  555. package/dist/messages/en/dom.js.map +1 -0
  556. package/dist/messages/en/encode.d.ts +13 -0
  557. package/dist/messages/en/encode.d.ts.map +1 -0
  558. package/dist/messages/en/encode.js +20 -0
  559. package/dist/messages/en/encode.js.map +1 -0
  560. package/dist/messages/en/index.d.ts +48 -0
  561. package/dist/messages/en/index.d.ts.map +1 -0
  562. package/dist/messages/en/index.js +73 -0
  563. package/dist/messages/en/index.js.map +1 -0
  564. package/dist/messages/en/inspect.d.ts +13 -0
  565. package/dist/messages/en/inspect.d.ts.map +1 -0
  566. package/dist/messages/en/inspect.js +84 -0
  567. package/dist/messages/en/inspect.js.map +1 -0
  568. package/dist/messages/en/library.d.ts +12 -0
  569. package/dist/messages/en/library.d.ts.map +1 -0
  570. package/dist/messages/en/library.js +27 -0
  571. package/dist/messages/en/library.js.map +1 -0
  572. package/dist/messages/en/micro.d.ts +9 -0
  573. package/dist/messages/en/micro.d.ts.map +1 -0
  574. package/dist/messages/en/micro.js +13 -0
  575. package/dist/messages/en/micro.js.map +1 -0
  576. package/dist/messages/en/own-link.d.ts +7 -0
  577. package/dist/messages/en/own-link.d.ts.map +1 -0
  578. package/dist/messages/en/own-link.js +29 -0
  579. package/dist/messages/en/own-link.js.map +1 -0
  580. package/dist/messages/en/payload.d.ts +13 -0
  581. package/dist/messages/en/payload.d.ts.map +1 -0
  582. package/dist/messages/en/payload.js +427 -0
  583. package/dist/messages/en/payload.js.map +1 -0
  584. package/dist/messages/en/rmqr.d.ts +9 -0
  585. package/dist/messages/en/rmqr.d.ts.map +1 -0
  586. package/dist/messages/en/rmqr.js +12 -0
  587. package/dist/messages/en/rmqr.js.map +1 -0
  588. package/dist/messages/en/studio.d.ts +18 -0
  589. package/dist/messages/en/studio.d.ts.map +1 -0
  590. package/dist/messages/en/studio.js +117 -0
  591. package/dist/messages/en/studio.js.map +1 -0
  592. package/dist/messages/en/symbology.d.ts +13 -0
  593. package/dist/messages/en/symbology.d.ts.map +1 -0
  594. package/dist/messages/en/symbology.js +21 -0
  595. package/dist/messages/en/symbology.js.map +1 -0
  596. package/dist/messages/en/text.d.ts +23 -0
  597. package/dist/messages/en/text.d.ts.map +1 -0
  598. package/dist/messages/en/text.js +47 -0
  599. package/dist/messages/en/text.js.map +1 -0
  600. package/dist/messages/en/verify.d.ts +13 -0
  601. package/dist/messages/en/verify.d.ts.map +1 -0
  602. package/dist/messages/en/verify.js +117 -0
  603. package/dist/messages/en/verify.js.map +1 -0
  604. package/dist/messages/format.d.ts +30 -0
  605. package/dist/messages/format.d.ts.map +1 -0
  606. package/dist/messages/format.js +170 -0
  607. package/dist/messages/format.js.map +1 -0
  608. package/dist/own-link/index.d.ts +5 -0
  609. package/dist/own-link/index.d.ts.map +1 -0
  610. package/dist/own-link/index.js +3 -0
  611. package/dist/own-link/index.js.map +1 -0
  612. package/dist/own-link/query.d.ts +10 -0
  613. package/dist/own-link/query.d.ts.map +1 -0
  614. package/dist/own-link/query.js +33 -0
  615. package/dist/own-link/query.js.map +1 -0
  616. package/dist/own-link/redirects.d.ts +54 -0
  617. package/dist/own-link/redirects.d.ts.map +1 -0
  618. package/dist/own-link/redirects.js +271 -0
  619. package/dist/own-link/redirects.js.map +1 -0
  620. package/dist/own-link/utm.d.ts +24 -0
  621. package/dist/own-link/utm.d.ts.map +1 -0
  622. package/dist/own-link/utm.js +82 -0
  623. package/dist/own-link/utm.js.map +1 -0
  624. package/dist/payload/banking.d.ts +39 -0
  625. package/dist/payload/banking.d.ts.map +1 -0
  626. package/dist/payload/banking.js +87 -0
  627. package/dist/payload/banking.js.map +1 -0
  628. package/dist/payload/base58.d.ts +21 -0
  629. package/dist/payload/base58.d.ts.map +1 -0
  630. package/dist/payload/base58.js +75 -0
  631. package/dist/payload/base58.js.map +1 -0
  632. package/dist/payload/bech32.d.ts +59 -0
  633. package/dist/payload/bech32.d.ts.map +1 -0
  634. package/dist/payload/bech32.js +137 -0
  635. package/dist/payload/bech32.js.map +1 -0
  636. package/dist/payload/check-digits.d.ts +49 -0
  637. package/dist/payload/check-digits.d.ts.map +1 -0
  638. package/dist/payload/check-digits.js +101 -0
  639. package/dist/payload/check-digits.js.map +1 -0
  640. package/dist/payload/content/bitcoin.d.ts +34 -0
  641. package/dist/payload/content/bitcoin.d.ts.map +1 -0
  642. package/dist/payload/content/bitcoin.js +137 -0
  643. package/dist/payload/content/bitcoin.js.map +1 -0
  644. package/dist/payload/content/email.d.ts +19 -0
  645. package/dist/payload/content/email.d.ts.map +1 -0
  646. package/dist/payload/content/email.js +137 -0
  647. package/dist/payload/content/email.js.map +1 -0
  648. package/dist/payload/content/epc.d.ts +32 -0
  649. package/dist/payload/content/epc.d.ts.map +1 -0
  650. package/dist/payload/content/epc.js +160 -0
  651. package/dist/payload/content/epc.js.map +1 -0
  652. package/dist/payload/content/event.d.ts +35 -0
  653. package/dist/payload/content/event.d.ts.map +1 -0
  654. package/dist/payload/content/event.js +242 -0
  655. package/dist/payload/content/event.js.map +1 -0
  656. package/dist/payload/content/facetime.d.ts +14 -0
  657. package/dist/payload/content/facetime.d.ts.map +1 -0
  658. package/dist/payload/content/facetime.js +56 -0
  659. package/dist/payload/content/facetime.js.map +1 -0
  660. package/dist/payload/content/geo.d.ts +24 -0
  661. package/dist/payload/content/geo.d.ts.map +1 -0
  662. package/dist/payload/content/geo.js +139 -0
  663. package/dist/payload/content/geo.js.map +1 -0
  664. package/dist/payload/content/gs1-digital-link.d.ts +34 -0
  665. package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
  666. package/dist/payload/content/gs1-digital-link.js +171 -0
  667. package/dist/payload/content/gs1-digital-link.js.map +1 -0
  668. package/dist/payload/content/lightning.d.ts +22 -0
  669. package/dist/payload/content/lightning.d.ts.map +1 -0
  670. package/dist/payload/content/lightning.js +90 -0
  671. package/dist/payload/content/lightning.js.map +1 -0
  672. package/dist/payload/content/mecard.d.ts +23 -0
  673. package/dist/payload/content/mecard.d.ts.map +1 -0
  674. package/dist/payload/content/mecard.js +111 -0
  675. package/dist/payload/content/mecard.js.map +1 -0
  676. package/dist/payload/content/phone.d.ts +17 -0
  677. package/dist/payload/content/phone.d.ts.map +1 -0
  678. package/dist/payload/content/phone.js +39 -0
  679. package/dist/payload/content/phone.js.map +1 -0
  680. package/dist/payload/content/pix.d.ts +36 -0
  681. package/dist/payload/content/pix.d.ts.map +1 -0
  682. package/dist/payload/content/pix.js +191 -0
  683. package/dist/payload/content/pix.js.map +1 -0
  684. package/dist/payload/content/signal.d.ts +17 -0
  685. package/dist/payload/content/signal.d.ts.map +1 -0
  686. package/dist/payload/content/signal.js +43 -0
  687. package/dist/payload/content/signal.js.map +1 -0
  688. package/dist/payload/content/sms.d.ts +18 -0
  689. package/dist/payload/content/sms.d.ts.map +1 -0
  690. package/dist/payload/content/sms.js +64 -0
  691. package/dist/payload/content/sms.js.map +1 -0
  692. package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
  693. package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
  694. package/dist/payload/content/swiss-qr-bill.js +325 -0
  695. package/dist/payload/content/swiss-qr-bill.js.map +1 -0
  696. package/dist/payload/content/telegram.d.ts +18 -0
  697. package/dist/payload/content/telegram.d.ts.map +1 -0
  698. package/dist/payload/content/telegram.js +105 -0
  699. package/dist/payload/content/telegram.js.map +1 -0
  700. package/dist/payload/content/text.d.ts +9 -0
  701. package/dist/payload/content/text.d.ts.map +1 -0
  702. package/dist/payload/content/text.js +18 -0
  703. package/dist/payload/content/text.js.map +1 -0
  704. package/dist/payload/content/upi.d.ts +21 -0
  705. package/dist/payload/content/upi.d.ts.map +1 -0
  706. package/dist/payload/content/upi.js +89 -0
  707. package/dist/payload/content/upi.js.map +1 -0
  708. package/dist/payload/content/url.d.ts +31 -0
  709. package/dist/payload/content/url.d.ts.map +1 -0
  710. package/dist/payload/content/url.js +120 -0
  711. package/dist/payload/content/url.js.map +1 -0
  712. package/dist/payload/content/vcard.d.ts +42 -0
  713. package/dist/payload/content/vcard.d.ts.map +1 -0
  714. package/dist/payload/content/vcard.js +302 -0
  715. package/dist/payload/content/vcard.js.map +1 -0
  716. package/dist/payload/content/whatsapp.d.ts +17 -0
  717. package/dist/payload/content/whatsapp.d.ts.map +1 -0
  718. package/dist/payload/content/whatsapp.js +72 -0
  719. package/dist/payload/content/whatsapp.js.map +1 -0
  720. package/dist/payload/content/wifi.d.ts +48 -0
  721. package/dist/payload/content/wifi.d.ts.map +1 -0
  722. package/dist/payload/content/wifi.js +240 -0
  723. package/dist/payload/content/wifi.js.map +1 -0
  724. package/dist/payload/content/zatca.d.ts +35 -0
  725. package/dist/payload/content/zatca.d.ts.map +1 -0
  726. package/dist/payload/content/zatca.js +156 -0
  727. package/dist/payload/content/zatca.js.map +1 -0
  728. package/dist/payload/data/hosts.d.ts +39 -0
  729. package/dist/payload/data/hosts.d.ts.map +1 -0
  730. package/dist/payload/data/hosts.js +74 -0
  731. package/dist/payload/data/hosts.js.map +1 -0
  732. package/dist/payload/define.d.ts +57 -0
  733. package/dist/payload/define.d.ts.map +1 -0
  734. package/dist/payload/define.js +87 -0
  735. package/dist/payload/define.js.map +1 -0
  736. package/dist/payload/detect.d.ts +13 -0
  737. package/dist/payload/detect.d.ts.map +1 -0
  738. package/dist/payload/detect.js +32 -0
  739. package/dist/payload/detect.js.map +1 -0
  740. package/dist/payload/emv.d.ts +41 -0
  741. package/dist/payload/emv.d.ts.map +1 -0
  742. package/dist/payload/emv.js +73 -0
  743. package/dist/payload/emv.js.map +1 -0
  744. package/dist/payload/escape.d.ts +66 -0
  745. package/dist/payload/escape.d.ts.map +1 -0
  746. package/dist/payload/escape.js +225 -0
  747. package/dist/payload/escape.js.map +1 -0
  748. package/dist/payload/fields.d.ts +86 -0
  749. package/dist/payload/fields.d.ts.map +1 -0
  750. package/dist/payload/fields.js +368 -0
  751. package/dist/payload/fields.js.map +1 -0
  752. package/dist/payload/hash.d.ts +11 -0
  753. package/dist/payload/hash.d.ts.map +1 -0
  754. package/dist/payload/hash.js +82 -0
  755. package/dist/payload/hash.js.map +1 -0
  756. package/dist/payload/index.d.ts +58 -0
  757. package/dist/payload/index.d.ts.map +1 -0
  758. package/dist/payload/index.js +32 -0
  759. package/dist/payload/index.js.map +1 -0
  760. package/dist/payload/punycode.d.ts +18 -0
  761. package/dist/payload/punycode.d.ts.map +1 -0
  762. package/dist/payload/punycode.js +99 -0
  763. package/dist/payload/punycode.js.map +1 -0
  764. package/dist/payload/registry.d.ts +20 -0
  765. package/dist/payload/registry.d.ts.map +1 -0
  766. package/dist/payload/registry.js +64 -0
  767. package/dist/payload/registry.js.map +1 -0
  768. package/dist/payload/safety.d.ts +13 -0
  769. package/dist/payload/safety.d.ts.map +1 -0
  770. package/dist/payload/safety.js +30 -0
  771. package/dist/payload/safety.js.map +1 -0
  772. package/dist/payload/scripts.d.ts +25 -0
  773. package/dist/payload/scripts.d.ts.map +1 -0
  774. package/dist/payload/scripts.js +90 -0
  775. package/dist/payload/scripts.js.map +1 -0
  776. package/dist/payload/types.d.ts +138 -0
  777. package/dist/payload/types.d.ts.map +1 -0
  778. package/dist/payload/types.js +28 -0
  779. package/dist/payload/types.js.map +1 -0
  780. package/dist/payload/uri.d.ts +24 -0
  781. package/dist/payload/uri.d.ts.map +1 -0
  782. package/dist/payload/uri.js +69 -0
  783. package/dist/payload/uri.js.map +1 -0
  784. package/dist/payload/url-safety.d.ts +31 -0
  785. package/dist/payload/url-safety.d.ts.map +1 -0
  786. package/dist/payload/url-safety.js +221 -0
  787. package/dist/payload/url-safety.js.map +1 -0
  788. package/dist/payload/vectors/bitcoin.d.ts +13 -0
  789. package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
  790. package/dist/payload/vectors/bitcoin.js +83 -0
  791. package/dist/payload/vectors/bitcoin.js.map +1 -0
  792. package/dist/payload/vectors/built-in.d.ts +15 -0
  793. package/dist/payload/vectors/built-in.d.ts.map +1 -0
  794. package/dist/payload/vectors/built-in.js +59 -0
  795. package/dist/payload/vectors/built-in.js.map +1 -0
  796. package/dist/payload/vectors/email.d.ts +8 -0
  797. package/dist/payload/vectors/email.d.ts.map +1 -0
  798. package/dist/payload/vectors/email.js +60 -0
  799. package/dist/payload/vectors/email.js.map +1 -0
  800. package/dist/payload/vectors/epc.d.ts +9 -0
  801. package/dist/payload/vectors/epc.d.ts.map +1 -0
  802. package/dist/payload/vectors/epc.js +38 -0
  803. package/dist/payload/vectors/epc.js.map +1 -0
  804. package/dist/payload/vectors/event.d.ts +9 -0
  805. package/dist/payload/vectors/event.d.ts.map +1 -0
  806. package/dist/payload/vectors/event.js +57 -0
  807. package/dist/payload/vectors/event.js.map +1 -0
  808. package/dist/payload/vectors/facetime.d.ts +9 -0
  809. package/dist/payload/vectors/facetime.d.ts.map +1 -0
  810. package/dist/payload/vectors/facetime.js +19 -0
  811. package/dist/payload/vectors/facetime.js.map +1 -0
  812. package/dist/payload/vectors/geo.d.ts +8 -0
  813. package/dist/payload/vectors/geo.d.ts.map +1 -0
  814. package/dist/payload/vectors/geo.js +22 -0
  815. package/dist/payload/vectors/geo.js.map +1 -0
  816. package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
  817. package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
  818. package/dist/payload/vectors/gs1-digital-link.js +21 -0
  819. package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
  820. package/dist/payload/vectors/hosts.d.ts +12 -0
  821. package/dist/payload/vectors/hosts.d.ts.map +1 -0
  822. package/dist/payload/vectors/hosts.js +50 -0
  823. package/dist/payload/vectors/hosts.js.map +1 -0
  824. package/dist/payload/vectors/index.d.ts +10 -0
  825. package/dist/payload/vectors/index.d.ts.map +1 -0
  826. package/dist/payload/vectors/index.js +9 -0
  827. package/dist/payload/vectors/index.js.map +1 -0
  828. package/dist/payload/vectors/lightning.d.ts +9 -0
  829. package/dist/payload/vectors/lightning.d.ts.map +1 -0
  830. package/dist/payload/vectors/lightning.js +23 -0
  831. package/dist/payload/vectors/lightning.js.map +1 -0
  832. package/dist/payload/vectors/mecard.d.ts +9 -0
  833. package/dist/payload/vectors/mecard.d.ts.map +1 -0
  834. package/dist/payload/vectors/mecard.js +25 -0
  835. package/dist/payload/vectors/mecard.js.map +1 -0
  836. package/dist/payload/vectors/phone.d.ts +9 -0
  837. package/dist/payload/vectors/phone.d.ts.map +1 -0
  838. package/dist/payload/vectors/phone.js +13 -0
  839. package/dist/payload/vectors/phone.js.map +1 -0
  840. package/dist/payload/vectors/pix.d.ts +9 -0
  841. package/dist/payload/vectors/pix.d.ts.map +1 -0
  842. package/dist/payload/vectors/pix.js +21 -0
  843. package/dist/payload/vectors/pix.js.map +1 -0
  844. package/dist/payload/vectors/signal.d.ts +9 -0
  845. package/dist/payload/vectors/signal.d.ts.map +1 -0
  846. package/dist/payload/vectors/signal.js +14 -0
  847. package/dist/payload/vectors/signal.js.map +1 -0
  848. package/dist/payload/vectors/sms.d.ts +9 -0
  849. package/dist/payload/vectors/sms.d.ts.map +1 -0
  850. package/dist/payload/vectors/sms.js +18 -0
  851. package/dist/payload/vectors/sms.js.map +1 -0
  852. package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
  853. package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
  854. package/dist/payload/vectors/swiss-qr-bill.js +72 -0
  855. package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
  856. package/dist/payload/vectors/telegram.d.ts +9 -0
  857. package/dist/payload/vectors/telegram.d.ts.map +1 -0
  858. package/dist/payload/vectors/telegram.js +19 -0
  859. package/dist/payload/vectors/telegram.js.map +1 -0
  860. package/dist/payload/vectors/text.d.ts +9 -0
  861. package/dist/payload/vectors/text.d.ts.map +1 -0
  862. package/dist/payload/vectors/text.js +13 -0
  863. package/dist/payload/vectors/text.js.map +1 -0
  864. package/dist/payload/vectors/upi.d.ts +9 -0
  865. package/dist/payload/vectors/upi.d.ts.map +1 -0
  866. package/dist/payload/vectors/upi.js +14 -0
  867. package/dist/payload/vectors/upi.js.map +1 -0
  868. package/dist/payload/vectors/url.d.ts +8 -0
  869. package/dist/payload/vectors/url.d.ts.map +1 -0
  870. package/dist/payload/vectors/url.js +30 -0
  871. package/dist/payload/vectors/url.js.map +1 -0
  872. package/dist/payload/vectors/vcard.d.ts +9 -0
  873. package/dist/payload/vectors/vcard.d.ts.map +1 -0
  874. package/dist/payload/vectors/vcard.js +47 -0
  875. package/dist/payload/vectors/vcard.js.map +1 -0
  876. package/dist/payload/vectors/whatsapp.d.ts +9 -0
  877. package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
  878. package/dist/payload/vectors/whatsapp.js +19 -0
  879. package/dist/payload/vectors/whatsapp.js.map +1 -0
  880. package/dist/payload/vectors/wifi.d.ts +13 -0
  881. package/dist/payload/vectors/wifi.d.ts.map +1 -0
  882. package/dist/payload/vectors/wifi.js +40 -0
  883. package/dist/payload/vectors/wifi.js.map +1 -0
  884. package/dist/payload/vectors/zatca.d.ts +12 -0
  885. package/dist/payload/vectors/zatca.d.ts.map +1 -0
  886. package/dist/payload/vectors/zatca.js +28 -0
  887. package/dist/payload/vectors/zatca.js.map +1 -0
  888. package/dist/qr-code-studio.html +190 -0
  889. package/dist/registries.d.ts +24 -0
  890. package/dist/registries.d.ts.map +1 -0
  891. package/dist/registries.js +23 -0
  892. package/dist/registries.js.map +1 -0
  893. package/dist/render/base64.d.ts +11 -0
  894. package/dist/render/base64.d.ts.map +1 -0
  895. package/dist/render/base64.js +40 -0
  896. package/dist/render/base64.js.map +1 -0
  897. package/dist/render/colour.d.ts +28 -0
  898. package/dist/render/colour.d.ts.map +1 -0
  899. package/dist/render/colour.js +72 -0
  900. package/dist/render/colour.js.map +1 -0
  901. package/dist/render/conic.d.ts +68 -0
  902. package/dist/render/conic.d.ts.map +1 -0
  903. package/dist/render/conic.js +205 -0
  904. package/dist/render/conic.js.map +1 -0
  905. package/dist/render/coverage.d.ts +154 -0
  906. package/dist/render/coverage.d.ts.map +1 -0
  907. package/dist/render/coverage.js +613 -0
  908. package/dist/render/coverage.js.map +1 -0
  909. package/dist/render/eps.d.ts +41 -0
  910. package/dist/render/eps.d.ts.map +1 -0
  911. package/dist/render/eps.js +377 -0
  912. package/dist/render/eps.js.map +1 -0
  913. package/dist/render/impose.d.ts +130 -0
  914. package/dist/render/impose.d.ts.map +1 -0
  915. package/dist/render/impose.js +288 -0
  916. package/dist/render/impose.js.map +1 -0
  917. package/dist/render/index.d.ts +22 -0
  918. package/dist/render/index.d.ts.map +1 -0
  919. package/dist/render/index.js +13 -0
  920. package/dist/render/index.js.map +1 -0
  921. package/dist/render/paint.d.ts +62 -0
  922. package/dist/render/paint.d.ts.map +1 -0
  923. package/dist/render/paint.js +169 -0
  924. package/dist/render/paint.js.map +1 -0
  925. package/dist/render/pdf-colour.d.ts +34 -0
  926. package/dist/render/pdf-colour.d.ts.map +1 -0
  927. package/dist/render/pdf-colour.js +64 -0
  928. package/dist/render/pdf-colour.js.map +1 -0
  929. package/dist/render/pdf-content.d.ts +90 -0
  930. package/dist/render/pdf-content.d.ts.map +1 -0
  931. package/dist/render/pdf-content.js +367 -0
  932. package/dist/render/pdf-content.js.map +1 -0
  933. package/dist/render/pdf-document.d.ts +38 -0
  934. package/dist/render/pdf-document.d.ts.map +1 -0
  935. package/dist/render/pdf-document.js +110 -0
  936. package/dist/render/pdf-document.js.map +1 -0
  937. package/dist/render/pdf-hash.d.ts +14 -0
  938. package/dist/render/pdf-hash.d.ts.map +1 -0
  939. package/dist/render/pdf-hash.js +71 -0
  940. package/dist/render/pdf-hash.js.map +1 -0
  941. package/dist/render/pdf-syntax.d.ts +45 -0
  942. package/dist/render/pdf-syntax.d.ts.map +1 -0
  943. package/dist/render/pdf-syntax.js +100 -0
  944. package/dist/render/pdf-syntax.js.map +1 -0
  945. package/dist/render/pdf.d.ts +59 -0
  946. package/dist/render/pdf.d.ts.map +1 -0
  947. package/dist/render/pdf.js +267 -0
  948. package/dist/render/pdf.js.map +1 -0
  949. package/dist/render/png-decode.d.ts +33 -0
  950. package/dist/render/png-decode.d.ts.map +1 -0
  951. package/dist/render/png-decode.js +345 -0
  952. package/dist/render/png-decode.js.map +1 -0
  953. package/dist/render/png.d.ts +37 -0
  954. package/dist/render/png.d.ts.map +1 -0
  955. package/dist/render/png.js +350 -0
  956. package/dist/render/png.js.map +1 -0
  957. package/dist/render/raster.d.ts +40 -0
  958. package/dist/render/raster.d.ts.map +1 -0
  959. package/dist/render/raster.js +245 -0
  960. package/dist/render/raster.js.map +1 -0
  961. package/dist/render/scene.d.ts +84 -0
  962. package/dist/render/scene.d.ts.map +1 -0
  963. package/dist/render/scene.js +216 -0
  964. package/dist/render/scene.js.map +1 -0
  965. package/dist/render/sheets.d.ts +26 -0
  966. package/dist/render/sheets.d.ts.map +1 -0
  967. package/dist/render/sheets.js +83 -0
  968. package/dist/render/sheets.js.map +1 -0
  969. package/dist/render/svg.d.ts +54 -0
  970. package/dist/render/svg.d.ts.map +1 -0
  971. package/dist/render/svg.js +324 -0
  972. package/dist/render/svg.js.map +1 -0
  973. package/dist/render/types.d.ts +95 -0
  974. package/dist/render/types.d.ts.map +1 -0
  975. package/dist/render/types.js +9 -0
  976. package/dist/render/types.js.map +1 -0
  977. package/dist/segment/alphanumeric.d.ts +15 -0
  978. package/dist/segment/alphanumeric.d.ts.map +1 -0
  979. package/dist/segment/alphanumeric.js +23 -0
  980. package/dist/segment/alphanumeric.js.map +1 -0
  981. package/dist/segment/eci.d.ts +41 -0
  982. package/dist/segment/eci.d.ts.map +1 -0
  983. package/dist/segment/eci.js +194 -0
  984. package/dist/segment/eci.js.map +1 -0
  985. package/dist/segment/index.d.ts +10 -0
  986. package/dist/segment/index.d.ts.map +1 -0
  987. package/dist/segment/index.js +8 -0
  988. package/dist/segment/index.js.map +1 -0
  989. package/dist/segment/kanji.d.ts +57 -0
  990. package/dist/segment/kanji.d.ts.map +1 -0
  991. package/dist/segment/kanji.js +135 -0
  992. package/dist/segment/kanji.js.map +1 -0
  993. package/dist/segment/profile.d.ts +21 -0
  994. package/dist/segment/profile.d.ts.map +1 -0
  995. package/dist/segment/profile.js +66 -0
  996. package/dist/segment/profile.js.map +1 -0
  997. package/dist/segment/read.d.ts +29 -0
  998. package/dist/segment/read.d.ts.map +1 -0
  999. package/dist/segment/read.js +360 -0
  1000. package/dist/segment/read.js.map +1 -0
  1001. package/dist/segment/segment-text.d.ts +88 -0
  1002. package/dist/segment/segment-text.d.ts.map +1 -0
  1003. package/dist/segment/segment-text.js +422 -0
  1004. package/dist/segment/segment-text.js.map +1 -0
  1005. package/dist/segment/types.d.ts +89 -0
  1006. package/dist/segment/types.d.ts.map +1 -0
  1007. package/dist/segment/types.js +13 -0
  1008. package/dist/segment/types.js.map +1 -0
  1009. package/dist/segment/write.d.ts +36 -0
  1010. package/dist/segment/write.d.ts.map +1 -0
  1011. package/dist/segment/write.js +226 -0
  1012. package/dist/segment/write.js.map +1 -0
  1013. package/dist/studio/assets.d.ts +22 -0
  1014. package/dist/studio/assets.d.ts.map +1 -0
  1015. package/dist/studio/assets.js +66 -0
  1016. package/dist/studio/assets.js.map +1 -0
  1017. package/dist/studio/catalogue.d.ts +34 -0
  1018. package/dist/studio/catalogue.d.ts.map +1 -0
  1019. package/dist/studio/catalogue.js +359 -0
  1020. package/dist/studio/catalogue.js.map +1 -0
  1021. package/dist/studio/contrast.d.ts +16 -0
  1022. package/dist/studio/contrast.d.ts.map +1 -0
  1023. package/dist/studio/contrast.js +28 -0
  1024. package/dist/studio/contrast.js.map +1 -0
  1025. package/dist/studio/document.d.ts +61 -0
  1026. package/dist/studio/document.d.ts.map +1 -0
  1027. package/dist/studio/document.js +208 -0
  1028. package/dist/studio/document.js.map +1 -0
  1029. package/dist/studio/export.d.ts +52 -0
  1030. package/dist/studio/export.d.ts.map +1 -0
  1031. package/dist/studio/export.js +269 -0
  1032. package/dist/studio/export.js.map +1 -0
  1033. package/dist/studio/form.d.ts +15 -0
  1034. package/dist/studio/form.d.ts.map +1 -0
  1035. package/dist/studio/form.js +91 -0
  1036. package/dist/studio/form.js.map +1 -0
  1037. package/dist/studio/history.d.ts +66 -0
  1038. package/dist/studio/history.d.ts.map +1 -0
  1039. package/dist/studio/history.js +109 -0
  1040. package/dist/studio/history.js.map +1 -0
  1041. package/dist/studio/index.d.ts +16 -0
  1042. package/dist/studio/index.d.ts.map +1 -0
  1043. package/dist/studio/index.js +12 -0
  1044. package/dist/studio/index.js.map +1 -0
  1045. package/dist/studio/keys.d.ts +86 -0
  1046. package/dist/studio/keys.d.ts.map +1 -0
  1047. package/dist/studio/keys.js +165 -0
  1048. package/dist/studio/keys.js.map +1 -0
  1049. package/dist/studio/kit.d.ts +44 -0
  1050. package/dist/studio/kit.d.ts.map +1 -0
  1051. package/dist/studio/kit.js +114 -0
  1052. package/dist/studio/kit.js.map +1 -0
  1053. package/dist/studio/logo.d.ts +25 -0
  1054. package/dist/studio/logo.d.ts.map +1 -0
  1055. package/dist/studio/logo.js +49 -0
  1056. package/dist/studio/logo.js.map +1 -0
  1057. package/dist/studio/names.d.ts +18 -0
  1058. package/dist/studio/names.d.ts.map +1 -0
  1059. package/dist/studio/names.js +36 -0
  1060. package/dist/studio/names.js.map +1 -0
  1061. package/dist/studio/patch.d.ts +17 -0
  1062. package/dist/studio/patch.d.ts.map +1 -0
  1063. package/dist/studio/patch.js +64 -0
  1064. package/dist/studio/patch.js.map +1 -0
  1065. package/dist/studio/seams.d.ts +44 -0
  1066. package/dist/studio/seams.d.ts.map +1 -0
  1067. package/dist/studio/seams.js +36 -0
  1068. package/dist/studio/seams.js.map +1 -0
  1069. package/dist/studio/share.d.ts +16 -0
  1070. package/dist/studio/share.d.ts.map +1 -0
  1071. package/dist/studio/share.js +57 -0
  1072. package/dist/studio/share.js.map +1 -0
  1073. package/dist/studio/shuffle.d.ts +38 -0
  1074. package/dist/studio/shuffle.d.ts.map +1 -0
  1075. package/dist/studio/shuffle.js +181 -0
  1076. package/dist/studio/shuffle.js.map +1 -0
  1077. package/dist/studio/slices.d.ts +29 -0
  1078. package/dist/studio/slices.d.ts.map +1 -0
  1079. package/dist/studio/slices.js +84 -0
  1080. package/dist/studio/slices.js.map +1 -0
  1081. package/dist/studio/studio.d.ts +29 -0
  1082. package/dist/studio/studio.d.ts.map +1 -0
  1083. package/dist/studio/studio.js +1298 -0
  1084. package/dist/studio/studio.js.map +1 -0
  1085. package/dist/studio/symbol.d.ts +47 -0
  1086. package/dist/studio/symbol.d.ts.map +1 -0
  1087. package/dist/studio/symbol.js +159 -0
  1088. package/dist/studio/symbol.js.map +1 -0
  1089. package/dist/studio/timers.d.ts +18 -0
  1090. package/dist/studio/timers.d.ts.map +1 -0
  1091. package/dist/studio/timers.js +36 -0
  1092. package/dist/studio/timers.js.map +1 -0
  1093. package/dist/studio/types.d.ts +693 -0
  1094. package/dist/studio/types.d.ts.map +1 -0
  1095. package/dist/studio/types.js +26 -0
  1096. package/dist/studio/types.js.map +1 -0
  1097. package/dist/studio/verify.d.ts +47 -0
  1098. package/dist/studio/verify.d.ts.map +1 -0
  1099. package/dist/studio/verify.js +63 -0
  1100. package/dist/studio/verify.js.map +1 -0
  1101. package/dist/symbology/index.d.ts +8 -0
  1102. package/dist/symbology/index.d.ts.map +1 -0
  1103. package/dist/symbology/index.js +6 -0
  1104. package/dist/symbology/index.js.map +1 -0
  1105. package/dist/symbology/micro/blocks.d.ts +34 -0
  1106. package/dist/symbology/micro/blocks.d.ts.map +1 -0
  1107. package/dist/symbology/micro/blocks.js +63 -0
  1108. package/dist/symbology/micro/blocks.js.map +1 -0
  1109. package/dist/symbology/micro/entry.d.ts +70 -0
  1110. package/dist/symbology/micro/entry.d.ts.map +1 -0
  1111. package/dist/symbology/micro/entry.js +181 -0
  1112. package/dist/symbology/micro/entry.js.map +1 -0
  1113. package/dist/symbology/micro/format.d.ts +31 -0
  1114. package/dist/symbology/micro/format.d.ts.map +1 -0
  1115. package/dist/symbology/micro/format.js +48 -0
  1116. package/dist/symbology/micro/format.js.map +1 -0
  1117. package/dist/symbology/micro/index.d.ts +7 -0
  1118. package/dist/symbology/micro/index.d.ts.map +1 -0
  1119. package/dist/symbology/micro/index.js +5 -0
  1120. package/dist/symbology/micro/index.js.map +1 -0
  1121. package/dist/symbology/micro/layout.d.ts +40 -0
  1122. package/dist/symbology/micro/layout.d.ts.map +1 -0
  1123. package/dist/symbology/micro/layout.js +106 -0
  1124. package/dist/symbology/micro/layout.js.map +1 -0
  1125. package/dist/symbology/micro/mask.d.ts +25 -0
  1126. package/dist/symbology/micro/mask.d.ts.map +1 -0
  1127. package/dist/symbology/micro/mask.js +41 -0
  1128. package/dist/symbology/micro/mask.js.map +1 -0
  1129. package/dist/symbology/micro/modules.d.ts +76 -0
  1130. package/dist/symbology/micro/modules.d.ts.map +1 -0
  1131. package/dist/symbology/micro/modules.js +156 -0
  1132. package/dist/symbology/micro/modules.js.map +1 -0
  1133. package/dist/symbology/micro/profile.d.ts +16 -0
  1134. package/dist/symbology/micro/profile.d.ts.map +1 -0
  1135. package/dist/symbology/micro/profile.js +45 -0
  1136. package/dist/symbology/micro/profile.js.map +1 -0
  1137. package/dist/symbology/micro/read-helpers.d.ts +31 -0
  1138. package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
  1139. package/dist/symbology/micro/read-helpers.js +66 -0
  1140. package/dist/symbology/micro/read-helpers.js.map +1 -0
  1141. package/dist/symbology/micro/tables.d.ts +63 -0
  1142. package/dist/symbology/micro/tables.d.ts.map +1 -0
  1143. package/dist/symbology/micro/tables.js +163 -0
  1144. package/dist/symbology/micro/tables.js.map +1 -0
  1145. package/dist/symbology/qr/blocks.d.ts +58 -0
  1146. package/dist/symbology/qr/blocks.d.ts.map +1 -0
  1147. package/dist/symbology/qr/blocks.js +176 -0
  1148. package/dist/symbology/qr/blocks.js.map +1 -0
  1149. package/dist/symbology/qr/build.d.ts +20 -0
  1150. package/dist/symbology/qr/build.d.ts.map +1 -0
  1151. package/dist/symbology/qr/build.js +91 -0
  1152. package/dist/symbology/qr/build.js.map +1 -0
  1153. package/dist/symbology/qr/entry.d.ts +13 -0
  1154. package/dist/symbology/qr/entry.d.ts.map +1 -0
  1155. package/dist/symbology/qr/entry.js +56 -0
  1156. package/dist/symbology/qr/entry.js.map +1 -0
  1157. package/dist/symbology/qr/index.d.ts +13 -0
  1158. package/dist/symbology/qr/index.d.ts.map +1 -0
  1159. package/dist/symbology/qr/index.js +9 -0
  1160. package/dist/symbology/qr/index.js.map +1 -0
  1161. package/dist/symbology/qr/info.d.ts +29 -0
  1162. package/dist/symbology/qr/info.d.ts.map +1 -0
  1163. package/dist/symbology/qr/info.js +53 -0
  1164. package/dist/symbology/qr/info.js.map +1 -0
  1165. package/dist/symbology/qr/layout.d.ts +37 -0
  1166. package/dist/symbology/qr/layout.d.ts.map +1 -0
  1167. package/dist/symbology/qr/layout.js +174 -0
  1168. package/dist/symbology/qr/layout.js.map +1 -0
  1169. package/dist/symbology/qr/mask.d.ts +35 -0
  1170. package/dist/symbology/qr/mask.d.ts.map +1 -0
  1171. package/dist/symbology/qr/mask.js +113 -0
  1172. package/dist/symbology/qr/mask.js.map +1 -0
  1173. package/dist/symbology/qr/read.d.ts +43 -0
  1174. package/dist/symbology/qr/read.d.ts.map +1 -0
  1175. package/dist/symbology/qr/read.js +219 -0
  1176. package/dist/symbology/qr/read.js.map +1 -0
  1177. package/dist/symbology/qr/tables.d.ts +62 -0
  1178. package/dist/symbology/qr/tables.d.ts.map +1 -0
  1179. package/dist/symbology/qr/tables.js +337 -0
  1180. package/dist/symbology/qr/tables.js.map +1 -0
  1181. package/dist/symbology/registry.d.ts +11 -0
  1182. package/dist/symbology/registry.d.ts.map +1 -0
  1183. package/dist/symbology/registry.js +19 -0
  1184. package/dist/symbology/registry.js.map +1 -0
  1185. package/dist/symbology/rmqr/entry.d.ts +56 -0
  1186. package/dist/symbology/rmqr/entry.d.ts.map +1 -0
  1187. package/dist/symbology/rmqr/entry.js +165 -0
  1188. package/dist/symbology/rmqr/entry.js.map +1 -0
  1189. package/dist/symbology/rmqr/format.d.ts +45 -0
  1190. package/dist/symbology/rmqr/format.d.ts.map +1 -0
  1191. package/dist/symbology/rmqr/format.js +72 -0
  1192. package/dist/symbology/rmqr/format.js.map +1 -0
  1193. package/dist/symbology/rmqr/index.d.ts +5 -0
  1194. package/dist/symbology/rmqr/index.d.ts.map +1 -0
  1195. package/dist/symbology/rmqr/index.js +5 -0
  1196. package/dist/symbology/rmqr/index.js.map +1 -0
  1197. package/dist/symbology/rmqr/layout.d.ts +46 -0
  1198. package/dist/symbology/rmqr/layout.d.ts.map +1 -0
  1199. package/dist/symbology/rmqr/layout.js +196 -0
  1200. package/dist/symbology/rmqr/layout.js.map +1 -0
  1201. package/dist/symbology/rmqr/profile.d.ts +15 -0
  1202. package/dist/symbology/rmqr/profile.d.ts.map +1 -0
  1203. package/dist/symbology/rmqr/profile.js +52 -0
  1204. package/dist/symbology/rmqr/profile.js.map +1 -0
  1205. package/dist/symbology/rmqr/tables.d.ts +62 -0
  1206. package/dist/symbology/rmqr/tables.d.ts.map +1 -0
  1207. package/dist/symbology/rmqr/tables.js +194 -0
  1208. package/dist/symbology/rmqr/tables.js.map +1 -0
  1209. package/dist/symbology/roles.d.ts +19 -0
  1210. package/dist/symbology/roles.d.ts.map +1 -0
  1211. package/dist/symbology/roles.js +35 -0
  1212. package/dist/symbology/roles.js.map +1 -0
  1213. package/dist/symbology/types.d.ts +126 -0
  1214. package/dist/symbology/types.d.ts.map +1 -0
  1215. package/dist/symbology/types.js +11 -0
  1216. package/dist/symbology/types.js.map +1 -0
  1217. package/dist/text/base64.d.ts +11 -0
  1218. package/dist/text/base64.d.ts.map +1 -0
  1219. package/dist/text/base64.js +49 -0
  1220. package/dist/text/base64.js.map +1 -0
  1221. package/dist/text/cmap.d.ts +17 -0
  1222. package/dist/text/cmap.d.ts.map +1 -0
  1223. package/dist/text/cmap.js +161 -0
  1224. package/dist/text/cmap.js.map +1 -0
  1225. package/dist/text/compiled.d.ts +52 -0
  1226. package/dist/text/compiled.d.ts.map +1 -0
  1227. package/dist/text/compiled.js +220 -0
  1228. package/dist/text/compiled.js.map +1 -0
  1229. package/dist/text/errors.d.ts +34 -0
  1230. package/dist/text/errors.d.ts.map +1 -0
  1231. package/dist/text/errors.js +26 -0
  1232. package/dist/text/errors.js.map +1 -0
  1233. package/dist/text/font.d.ts +29 -0
  1234. package/dist/text/font.d.ts.map +1 -0
  1235. package/dist/text/font.js +67 -0
  1236. package/dist/text/font.js.map +1 -0
  1237. package/dist/text/glyf.d.ts +62 -0
  1238. package/dist/text/glyf.d.ts.map +1 -0
  1239. package/dist/text/glyf.js +276 -0
  1240. package/dist/text/glyf.js.map +1 -0
  1241. package/dist/text/index.d.ts +13 -0
  1242. package/dist/text/index.d.ts.map +1 -0
  1243. package/dist/text/index.js +9 -0
  1244. package/dist/text/index.js.map +1 -0
  1245. package/dist/text/kerning.d.ts +36 -0
  1246. package/dist/text/kerning.d.ts.map +1 -0
  1247. package/dist/text/kerning.js +382 -0
  1248. package/dist/text/kerning.js.map +1 -0
  1249. package/dist/text/layout.d.ts +35 -0
  1250. package/dist/text/layout.d.ts.map +1 -0
  1251. package/dist/text/layout.js +287 -0
  1252. package/dist/text/layout.js.map +1 -0
  1253. package/dist/text/outline.d.ts +22 -0
  1254. package/dist/text/outline.d.ts.map +1 -0
  1255. package/dist/text/outline.js +79 -0
  1256. package/dist/text/outline.js.map +1 -0
  1257. package/dist/text/reader.d.ts +43 -0
  1258. package/dist/text/reader.d.ts.map +1 -0
  1259. package/dist/text/reader.js +83 -0
  1260. package/dist/text/reader.js.map +1 -0
  1261. package/dist/text/registry.d.ts +21 -0
  1262. package/dist/text/registry.d.ts.map +1 -0
  1263. package/dist/text/registry.js +32 -0
  1264. package/dist/text/registry.js.map +1 -0
  1265. package/dist/text/truetype.d.ts +44 -0
  1266. package/dist/text/truetype.d.ts.map +1 -0
  1267. package/dist/text/truetype.js +127 -0
  1268. package/dist/text/truetype.js.map +1 -0
  1269. package/dist/text/types.d.ts +106 -0
  1270. package/dist/text/types.d.ts.map +1 -0
  1271. package/dist/text/types.js +11 -0
  1272. package/dist/text/types.js.map +1 -0
  1273. package/dist/verify/camera.d.ts +59 -0
  1274. package/dist/verify/camera.d.ts.map +1 -0
  1275. package/dist/verify/camera.js +76 -0
  1276. package/dist/verify/camera.js.map +1 -0
  1277. package/dist/verify/capture.d.ts +40 -0
  1278. package/dist/verify/capture.d.ts.map +1 -0
  1279. package/dist/verify/capture.js +118 -0
  1280. package/dist/verify/capture.js.map +1 -0
  1281. package/dist/verify/coverage.d.ts +61 -0
  1282. package/dist/verify/coverage.d.ts.map +1 -0
  1283. package/dist/verify/coverage.js +90 -0
  1284. package/dist/verify/coverage.js.map +1 -0
  1285. package/dist/verify/degrade.d.ts +143 -0
  1286. package/dist/verify/degrade.d.ts.map +1 -0
  1287. package/dist/verify/degrade.js +503 -0
  1288. package/dist/verify/degrade.js.map +1 -0
  1289. package/dist/verify/fixes.d.ts +28 -0
  1290. package/dist/verify/fixes.d.ts.map +1 -0
  1291. package/dist/verify/fixes.js +277 -0
  1292. package/dist/verify/fixes.js.map +1 -0
  1293. package/dist/verify/homography.d.ts +32 -0
  1294. package/dist/verify/homography.d.ts.map +1 -0
  1295. package/dist/verify/homography.js +79 -0
  1296. package/dist/verify/homography.js.map +1 -0
  1297. package/dist/verify/index.d.ts +17 -0
  1298. package/dist/verify/index.d.ts.map +1 -0
  1299. package/dist/verify/index.js +11 -0
  1300. package/dist/verify/index.js.map +1 -0
  1301. package/dist/verify/inks.d.ts +39 -0
  1302. package/dist/verify/inks.d.ts.map +1 -0
  1303. package/dist/verify/inks.js +101 -0
  1304. package/dist/verify/inks.js.map +1 -0
  1305. package/dist/verify/job.d.ts +89 -0
  1306. package/dist/verify/job.d.ts.map +1 -0
  1307. package/dist/verify/job.js +314 -0
  1308. package/dist/verify/job.js.map +1 -0
  1309. package/dist/verify/keys.d.ts +92 -0
  1310. package/dist/verify/keys.d.ts.map +1 -0
  1311. package/dist/verify/keys.js +95 -0
  1312. package/dist/verify/keys.js.map +1 -0
  1313. package/dist/verify/ladders.d.ts +68 -0
  1314. package/dist/verify/ladders.d.ts.map +1 -0
  1315. package/dist/verify/ladders.js +154 -0
  1316. package/dist/verify/ladders.js.map +1 -0
  1317. package/dist/verify/prepare.d.ts +78 -0
  1318. package/dist/verify/prepare.d.ts.map +1 -0
  1319. package/dist/verify/prepare.js +307 -0
  1320. package/dist/verify/prepare.js.map +1 -0
  1321. package/dist/verify/preset.d.ts +111 -0
  1322. package/dist/verify/preset.d.ts.map +1 -0
  1323. package/dist/verify/preset.js +200 -0
  1324. package/dist/verify/preset.js.map +1 -0
  1325. package/dist/verify/read.d.ts +23 -0
  1326. package/dist/verify/read.d.ts.map +1 -0
  1327. package/dist/verify/read.js +55 -0
  1328. package/dist/verify/read.js.map +1 -0
  1329. package/dist/verify/region.d.ts +37 -0
  1330. package/dist/verify/region.d.ts.map +1 -0
  1331. package/dist/verify/region.js +80 -0
  1332. package/dist/verify/region.js.map +1 -0
  1333. package/dist/verify/static.d.ts +56 -0
  1334. package/dist/verify/static.d.ts.map +1 -0
  1335. package/dist/verify/static.js +277 -0
  1336. package/dist/verify/static.js.map +1 -0
  1337. package/dist/verify/types.d.ts +173 -0
  1338. package/dist/verify/types.d.ts.map +1 -0
  1339. package/dist/verify/types.js +36 -0
  1340. package/dist/verify/types.js.map +1 -0
  1341. package/package.json +191 -5
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Reading a TrueType font file, for fonts the website lets a person add.
3
+ *
4
+ * Only what drawing a caption needs is read: the table directory, `head`,
5
+ * `hhea`, `maxp`, `hmtx`, `loca`, `glyf`, `cmap` (formats 4 and 12), and
6
+ * kerning from GPOS or `kern`. Hinting, names, substitution and everything
7
+ * else are left alone, which also means nothing in them can trip the parser.
8
+ * A font with PostScript outlines (`OTTO`), a collection, or a WOFF wrapper is
9
+ * refused as a format this reader does not handle.
10
+ *
11
+ * The parser is strict and does its checking up front. Every table is
12
+ * bounded by the directory, every glyph is decoded once, the composite graph
13
+ * is walked with a depth and size limit, the character map and the kerning
14
+ * subtables are checked in full, and anything out of place throws
15
+ * `FontMalformedError` ('font/malformed'). The work is bounded by the size of
16
+ * the file, and a font that parses can draw every glyph it has without
17
+ * another check failing.
18
+ */
19
+ import type { Glyphs } from './glyf.js';
20
+ import type { Font } from './types.js';
21
+ /** The largest file this reader will look at: a full CJK face is about a quarter of it. */
22
+ export declare const MAX_FONT_BYTES: number;
23
+ export interface ParseFontOptions {
24
+ /** The id it is registered under: kebab-case. */
25
+ readonly id: string;
26
+ /** What a font picker calls it. Defaults to 'text.font.registered'. */
27
+ readonly labelKey?: string;
28
+ }
29
+ /**
30
+ * Parse a TrueType font. Throws `FontMalformedError` for anything this reader
31
+ * cannot use; throws a TypeError for an argument of the wrong kind.
32
+ */
33
+ export declare function parseTrueType(bytes: Uint8Array, options: ParseFontOptions): Font;
34
+ /**
35
+ * The font, with the glyph records behind it.
36
+ *
37
+ * For the build script, which keeps composite glyphs as composites when it
38
+ * compiles the built-in family, and so needs them unresolved.
39
+ */
40
+ export declare function parseTrueTypeTables(bytes: Uint8Array, options: ParseFontOptions): {
41
+ readonly font: Font;
42
+ readonly glyphs: Glyphs;
43
+ };
44
+ //# sourceMappingURL=truetype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truetype.d.ts","sourceRoot":"","sources":["../../src/text/truetype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,2FAA2F;AAC3F,eAAO,MAAM,cAAc,QAAmB,CAAC;AAI/C,MAAM,WAAW,gBAAgB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0BD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,gBAAgB,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8DlD"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Reading a TrueType font file, for fonts the website lets a person add.
3
+ *
4
+ * Only what drawing a caption needs is read: the table directory, `head`,
5
+ * `hhea`, `maxp`, `hmtx`, `loca`, `glyf`, `cmap` (formats 4 and 12), and
6
+ * kerning from GPOS or `kern`. Hinting, names, substitution and everything
7
+ * else are left alone, which also means nothing in them can trip the parser.
8
+ * A font with PostScript outlines (`OTTO`), a collection, or a WOFF wrapper is
9
+ * refused as a format this reader does not handle.
10
+ *
11
+ * The parser is strict and does its checking up front. Every table is
12
+ * bounded by the directory, every glyph is decoded once, the composite graph
13
+ * is walked with a depth and size limit, the character map and the kerning
14
+ * subtables are checked in full, and anything out of place throws
15
+ * `FontMalformedError` ('font/malformed'). The work is bounded by the size of
16
+ * the file, and a font that parses can draw every glyph it has without
17
+ * another check failing.
18
+ */
19
+ import { malformed } from './errors.js';
20
+ import { makeFont } from './font.js';
21
+ import { parseCmap } from './cmap.js';
22
+ import { parseGlyphs, resolveGlyph } from './glyf.js';
23
+ import { parseKerning } from './kerning.js';
24
+ import { Table } from './reader.js';
25
+ /** The largest file this reader will look at: a full CJK face is about a quarter of it. */
26
+ export const MAX_FONT_BYTES = 64 * 1024 * 1024;
27
+ const KEBAB = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
28
+ function directory(bytes) {
29
+ const file = new Table(bytes, 0, bytes.length, 'file');
30
+ const version = file.u32(0);
31
+ // 0x00010000, or 'true' as some old Apple fonts write it.
32
+ if (version !== 0x00010000 && version !== 0x74727565)
33
+ malformed('file', 'unsupported');
34
+ const count = file.u16(4);
35
+ const tables = new Map();
36
+ for (let i = 0; i < count; i += 1) {
37
+ const at = 12 + i * 16;
38
+ const tag = file.tagAt(at);
39
+ const offset = file.u32(at + 8);
40
+ const length = file.u32(at + 12);
41
+ // Checksums are not checked: browsers do not, and fonts in the wild get
42
+ // them wrong without anything else being wrong.
43
+ const table = file.slice(offset, length);
44
+ if (!tables.has(tag))
45
+ tables.set(tag, new Table(bytes, table.start, length, tag));
46
+ }
47
+ return tables;
48
+ }
49
+ function required(tables, tag) {
50
+ return tables.get(tag) ?? malformed(tag, 'missing-table');
51
+ }
52
+ /**
53
+ * Parse a TrueType font. Throws `FontMalformedError` for anything this reader
54
+ * cannot use; throws a TypeError for an argument of the wrong kind.
55
+ */
56
+ export function parseTrueType(bytes, options) {
57
+ return parseTrueTypeTables(bytes, options).font;
58
+ }
59
+ /**
60
+ * The font, with the glyph records behind it.
61
+ *
62
+ * For the build script, which keeps composite glyphs as composites when it
63
+ * compiles the built-in family, and so needs them unresolved.
64
+ */
65
+ export function parseTrueTypeTables(bytes, options) {
66
+ if (!(bytes instanceof Uint8Array))
67
+ throw new TypeError('parseTrueType: bytes is a Uint8Array.');
68
+ if (typeof options !== 'object' || options === null || typeof options.id !== 'string') {
69
+ throw new TypeError('parseTrueType: options gives at least the id.');
70
+ }
71
+ if (!KEBAB.test(options.id))
72
+ throw new TypeError('parseTrueType: the id must be kebab-case.');
73
+ const labelKey = options.labelKey ?? 'text.font.registered';
74
+ if (typeof labelKey !== 'string')
75
+ throw new TypeError('parseTrueType: labelKey is a string.');
76
+ if (bytes.length > MAX_FONT_BYTES)
77
+ malformed('file', 'too-large');
78
+ const tables = directory(bytes);
79
+ const head = required(tables, 'head');
80
+ if (head.u16(0) !== 1 || head.u32(12) !== 0x5f0f3cf5)
81
+ malformed('head', 'unsupported');
82
+ const unitsPerEm = head.u16(18);
83
+ if (unitsPerEm < 16 || unitsPerEm > 16384)
84
+ malformed('head', 'out-of-range');
85
+ const locaFormat = head.i16(50);
86
+ if (locaFormat !== 0 && locaFormat !== 1)
87
+ malformed('head', 'out-of-range');
88
+ const maxp = required(tables, 'maxp');
89
+ const maxpVersion = maxp.u32(0);
90
+ if (maxpVersion !== 0x00005000 && maxpVersion !== 0x00010000)
91
+ malformed('maxp', 'unsupported');
92
+ const glyphCount = maxp.u16(4);
93
+ if (glyphCount === 0)
94
+ malformed('maxp', 'out-of-range');
95
+ const hhea = required(tables, 'hhea');
96
+ hhea.need(0, 36);
97
+ const ascender = hhea.i16(4);
98
+ const descender = hhea.i16(6);
99
+ const lineGap = hhea.i16(8);
100
+ const metrics = hhea.u16(34);
101
+ if (metrics === 0 || metrics > glyphCount)
102
+ malformed('hhea', 'out-of-range');
103
+ const hmtx = required(tables, 'hmtx');
104
+ hmtx.need(0, metrics * 4 + (glyphCount - metrics) * 2);
105
+ const advances = new Uint16Array(glyphCount);
106
+ for (let i = 0; i < glyphCount; i += 1) {
107
+ advances[i] = hmtx.u16(Math.min(i, metrics - 1) * 4);
108
+ }
109
+ const glyphs = parseGlyphs(required(tables, 'glyf'), required(tables, 'loca'), glyphCount, locaFormat === 1);
110
+ const glyphIndex = parseCmap(required(tables, 'cmap'), glyphCount);
111
+ const kerning = parseKerning(tables.get('GPOS') ?? null, tables.get('kern') ?? null);
112
+ const font = makeFont({
113
+ id: options.id,
114
+ labelKey,
115
+ unitsPerEm,
116
+ ascender,
117
+ descender,
118
+ lineGap,
119
+ glyphCount,
120
+ glyphIndex,
121
+ advance: (glyph) => advances[glyph],
122
+ kerning,
123
+ outline: (glyph) => resolveGlyph(glyphs, glyph),
124
+ });
125
+ return { font, glyphs };
126
+ }
127
+ //# sourceMappingURL=truetype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truetype.js","sourceRoot":"","sources":["../../src/text/truetype.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * The shapes the text layer hands out: a font, a glyph's outline, and a laid
3
+ * out caption.
4
+ *
5
+ * A caption in an export is never live text. It is drawn as filled paths, so
6
+ * a PDF or an SVG of a design looks the same on a machine that has never seen
7
+ * the font, the scan check sees exactly what is printed, and nothing in a
8
+ * file can be selected, searched or copied out of it.
9
+ */
10
+ import type { MessageKey } from '../core/issue.js';
11
+ import type { Registry } from '../core/registry.js';
12
+ import type { Path } from '../geometry/path.js';
13
+ /**
14
+ * One glyph's contours as the font stores them: TrueType quadratic points in
15
+ * font units, y up, composite glyphs already resolved into their components.
16
+ */
17
+ export interface GlyphOutline {
18
+ /** x, y pairs. */
19
+ readonly points: Float64Array;
20
+ /** 1 where the point is on the curve, 0 where it is a quadratic control point. */
21
+ readonly onCurve: Uint8Array;
22
+ /** One past the last point of each contour, in order. */
23
+ readonly ends: readonly number[];
24
+ }
25
+ /**
26
+ * A font the layout can draw with.
27
+ *
28
+ * Glyphs are numbered as the font numbers them, and glyph 0 is the font's
29
+ * "missing" glyph, which this package never draws: a code point the font has
30
+ * no glyph for is reported, never substituted.
31
+ */
32
+ export interface Font {
33
+ /** Kebab-case, unique within a registry. Travels in design files. */
34
+ readonly id: string;
35
+ /** What a font picker calls it. */
36
+ readonly labelKey: MessageKey;
37
+ /** Font units to the em. */
38
+ readonly unitsPerEm: number;
39
+ /** The line box above the baseline, in font units (positive). */
40
+ readonly ascender: number;
41
+ /** The line box below the baseline, in font units (negative or zero). */
42
+ readonly descender: number;
43
+ readonly lineGap: number;
44
+ readonly glyphCount: number;
45
+ /** The glyph for a code point, or 0 when the font has none. */
46
+ glyphIndex(codePoint: number): number;
47
+ /** How far the pen moves after the glyph, in font units. */
48
+ advance(glyph: number): number;
49
+ /** The adjustment to the pen between two glyphs, in font units, added after `left`'s advance. */
50
+ kerning(left: number, right: number): number;
51
+ outline(glyph: number): GlyphOutline;
52
+ /** The outline as a path in font units, y up, quadratic. The same object on every call. */
53
+ path(glyph: number): Path;
54
+ }
55
+ /** The built-in family and any font the website registers at runtime. */
56
+ export type FontRegistry = Registry<Font>;
57
+ export type TextAlign = 'start' | 'centre' | 'end';
58
+ export interface TextBox {
59
+ readonly x: number;
60
+ readonly y: number;
61
+ readonly width: number;
62
+ readonly height: number;
63
+ }
64
+ export interface LayoutOptions {
65
+ /** Where `fontId` is looked up. Defaults to the built-in family. */
66
+ readonly fonts?: FontRegistry;
67
+ readonly fontId: string;
68
+ /** The em size in box units. */
69
+ readonly size: number;
70
+ readonly box: TextBox;
71
+ /** Horizontal alignment within the box. Default 'centre'. */
72
+ readonly align?: TextAlign;
73
+ /** Lines beyond this are left out and the result overflows. Default 1. */
74
+ readonly maxLines?: number;
75
+ /** Baseline to baseline, as a multiple of the size. Default 1.2. */
76
+ readonly lineHeight?: number;
77
+ /** Shrink the size until the text fits, down to `minSize`. Default false. */
78
+ readonly shrinkToFit?: boolean;
79
+ /** The floor for `shrinkToFit`. Default half of `size`. */
80
+ readonly minSize?: number;
81
+ }
82
+ export interface LayoutLine {
83
+ /** The line's text, as it was given (after NFC), without the spaces it was broken at. */
84
+ readonly text: string;
85
+ /** Where the line starts and ends in the normalised text, in UTF-16 code units. */
86
+ readonly start: number;
87
+ readonly end: number;
88
+ /** The pen position at the start of the line, in box units. */
89
+ readonly x: number;
90
+ /** The baseline, in box units. */
91
+ readonly baseline: number;
92
+ /** The advance width of the line, in box units. */
93
+ readonly width: number;
94
+ }
95
+ export interface LayoutResult {
96
+ /** One path a line, in box units, y down. */
97
+ readonly paths: readonly Path[];
98
+ readonly lines: readonly LayoutLine[];
99
+ /** Code points the font has no glyph for, each once, in the order they first appear. */
100
+ readonly missing: readonly number[];
101
+ /** True when the text does not fit the box at the size used, or was cut to `maxLines`. */
102
+ readonly overflow: boolean;
103
+ /** The size the text was laid out at, after any shrinking. */
104
+ readonly size: number;
105
+ }
106
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/text/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The shapes the text layer hands out: a font, a glyph's outline, and a laid
3
+ * out caption.
4
+ *
5
+ * A caption in an export is never live text. It is drawn as filled paths, so
6
+ * a PDF or an SVG of a design looks the same on a machine that has never seen
7
+ * the font, the scan check sees exactly what is printed, and nothing in a
8
+ * file can be selected, searched or copied out of it.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/text/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * The phone camera the scan check assumes, and what it implies about
3
+ * distance.
4
+ *
5
+ * Every number here is a calibration target, not a measurement of one phone.
6
+ * The owner's scan session (printed test sheets read by the phones people
7
+ * carry, at measured distances) is what moves them, and each says what it
8
+ * stands for so that session knows what it is checking.
9
+ *
10
+ * The model: a phone in its scanning mode analyses a frame about 1920 pixels
11
+ * across from its main camera, whose horizontal field of view is about 65
12
+ * degrees. At a distance D the frame spans 2 D tan(32.5 deg) of the page, so
13
+ * a module m millimetres wide covers m * 1920 / (2 D tan(32.5 deg)) pixels.
14
+ * A reader needs at least four pixels a module, so the furthest the code
15
+ * scans from is m * 1920 / (4 * 2 * tan(32.5 deg)), about 377 module widths.
16
+ *
17
+ * And it cannot be held closer than its lens focuses, about 10 cm for the
18
+ * main camera of most phones, so a module is too small to scan at all when
19
+ * the phone would have to be closer than that to see it at the pixels a
20
+ * module the design needs.
21
+ */
22
+ export declare const CAMERA: Readonly<{
23
+ /**
24
+ * Horizontal field of view of a phone's main camera, in degrees. 65 is
25
+ * near the middle of the 26 mm equivalent lenses phones ship (about 63 to
26
+ * 70 degrees across the long edge).
27
+ */
28
+ fieldOfViewDegrees: 65;
29
+ /** Pixels across the frame a scanner analyses: a 1080p stream, long edge. */
30
+ frameWidthPx: 1920;
31
+ /**
32
+ * Pixels a module a phone reader needs, at the least. ZXing and the
33
+ * platform readers sample one pixel per module once the grid is found;
34
+ * below about four the finder's 1:1:3:1:1 runs blur into each other and
35
+ * the grid is not found at all.
36
+ */
37
+ minPxPerModule: 4;
38
+ /** The closest a phone's main camera focuses, in millimetres. */
39
+ minFocusMm: 100;
40
+ /**
41
+ * Within this a person has to hold the phone uncomfortably close, in
42
+ * millimetres: the module size check warns, and printing larger is offered.
43
+ */
44
+ comfortMm: 150;
45
+ }>;
46
+ /** tan of half the field of view, from core's sine and cosine. */
47
+ export declare function halfFieldTangent(): number;
48
+ /** Pixels a module covers at `distanceMm`. */
49
+ export declare function pxPerModuleAt(moduleMm: number, distanceMm: number): number;
50
+ /** The distance at which a module covers `pxPerModule` pixels. */
51
+ export declare function distanceFor(moduleMm: number, pxPerModule: number): number;
52
+ /**
53
+ * The furthest the code scans from: where a module covers the pixels a
54
+ * reader needs, or more when the design needs more (a thin dot, say).
55
+ */
56
+ export declare function maxDistanceMm(moduleMm: number, pxPerModule?: number): number;
57
+ /** The smallest module a phone can resolve at its closest focus, for a design that needs `pxPerModule`. */
58
+ export declare function minModuleMm(pxPerModule?: number): number;
59
+ //# sourceMappingURL=camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/verify/camera.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,eAAO,MAAM,MAAM;IAClB;;;;OAIG;;IAEH,6EAA6E;;IAE7E;;;;;OAKG;;IAEH,iEAAiE;;IAEjE;;;OAGG;;EAEF,CAAC;AAIH,kEAAkE;AAClE,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA8B,GACzC,MAAM,CAER;AAED,2GAA2G;AAC3G,wBAAgB,WAAW,CAAC,WAAW,GAAE,MAA8B,GAAG,MAAM,CAG/E"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * The phone camera the scan check assumes, and what it implies about
3
+ * distance.
4
+ *
5
+ * Every number here is a calibration target, not a measurement of one phone.
6
+ * The owner's scan session (printed test sheets read by the phones people
7
+ * carry, at measured distances) is what moves them, and each says what it
8
+ * stands for so that session knows what it is checking.
9
+ *
10
+ * The model: a phone in its scanning mode analyses a frame about 1920 pixels
11
+ * across from its main camera, whose horizontal field of view is about 65
12
+ * degrees. At a distance D the frame spans 2 D tan(32.5 deg) of the page, so
13
+ * a module m millimetres wide covers m * 1920 / (2 D tan(32.5 deg)) pixels.
14
+ * A reader needs at least four pixels a module, so the furthest the code
15
+ * scans from is m * 1920 / (4 * 2 * tan(32.5 deg)), about 377 module widths.
16
+ *
17
+ * And it cannot be held closer than its lens focuses, about 10 cm for the
18
+ * main camera of most phones, so a module is too small to scan at all when
19
+ * the phone would have to be closer than that to see it at the pixels a
20
+ * module the design needs.
21
+ */
22
+ import { PI, cos, sin } from '../core/math.js';
23
+ export const CAMERA = Object.freeze({
24
+ /**
25
+ * Horizontal field of view of a phone's main camera, in degrees. 65 is
26
+ * near the middle of the 26 mm equivalent lenses phones ship (about 63 to
27
+ * 70 degrees across the long edge).
28
+ */
29
+ fieldOfViewDegrees: 65,
30
+ /** Pixels across the frame a scanner analyses: a 1080p stream, long edge. */
31
+ frameWidthPx: 1920,
32
+ /**
33
+ * Pixels a module a phone reader needs, at the least. ZXing and the
34
+ * platform readers sample one pixel per module once the grid is found;
35
+ * below about four the finder's 1:1:3:1:1 runs blur into each other and
36
+ * the grid is not found at all.
37
+ */
38
+ minPxPerModule: 4,
39
+ /** The closest a phone's main camera focuses, in millimetres. */
40
+ minFocusMm: 100,
41
+ /**
42
+ * Within this a person has to hold the phone uncomfortably close, in
43
+ * millimetres: the module size check warns, and printing larger is offered.
44
+ */
45
+ comfortMm: 150,
46
+ });
47
+ let tangent;
48
+ /** tan of half the field of view, from core's sine and cosine. */
49
+ export function halfFieldTangent() {
50
+ if (tangent === undefined) {
51
+ const half = (CAMERA.fieldOfViewDegrees / 2) * (PI / 180);
52
+ tangent = sin(half) / cos(half);
53
+ }
54
+ return tangent;
55
+ }
56
+ /** Pixels a module covers at `distanceMm`. */
57
+ export function pxPerModuleAt(moduleMm, distanceMm) {
58
+ return (moduleMm * CAMERA.frameWidthPx) / (2 * distanceMm * halfFieldTangent());
59
+ }
60
+ /** The distance at which a module covers `pxPerModule` pixels. */
61
+ export function distanceFor(moduleMm, pxPerModule) {
62
+ return (moduleMm * CAMERA.frameWidthPx) / (pxPerModule * 2 * halfFieldTangent());
63
+ }
64
+ /**
65
+ * The furthest the code scans from: where a module covers the pixels a
66
+ * reader needs, or more when the design needs more (a thin dot, say).
67
+ */
68
+ export function maxDistanceMm(moduleMm, pxPerModule = CAMERA.minPxPerModule) {
69
+ return distanceFor(moduleMm, Math.max(pxPerModule, CAMERA.minPxPerModule));
70
+ }
71
+ /** The smallest module a phone can resolve at its closest focus, for a design that needs `pxPerModule`. */
72
+ export function minModuleMm(pxPerModule = CAMERA.minPxPerModule) {
73
+ const needed = Math.max(pxPerModule, CAMERA.minPxPerModule);
74
+ return (needed * 2 * CAMERA.minFocusMm * halfFieldTangent()) / CAMERA.frameWidthPx;
75
+ }
76
+ //# sourceMappingURL=camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/verify/camera.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,EAAE,EAAE;IACtB,6EAA6E;IAC7E,YAAY,EAAE,IAAI;IAClB;;;;;OAKG;IACH,cAAc,EAAE,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,GAAG;IACf;;;OAGG;IACH,SAAS,EAAE,GAAG;CACd,CAAC,CAAC;AAEH,IAAI,OAA2B,CAAC;AAEhC,kEAAkE;AAClE,MAAM,UAAU,gBAAgB;IAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAC1D,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,UAAkB;IACjE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,gBAAgB,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,WAAmB;IAChE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC5B,QAAgB,EAChB,cAAsB,MAAM,CAAC,cAAc;IAE3C,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,WAAW,CAAC,cAAsB,MAAM,CAAC,cAAc;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;AACpF,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * One simulated photograph of a printed design.
3
+ *
4
+ * The order is the order things happen to a real code. First the print:
5
+ * ink spreads or starves, or fades. Then the camera's view: the artwork on a
6
+ * sheet of paper, turned a little in the frame (nobody holds a phone
7
+ * square), tilted when the axis is angle, at the pixels a module the
8
+ * distance gives, each pixel integrating the light over its own area. Then
9
+ * the lens and sensor: the lens's softness and any defocus, any motion, light
10
+ * that is dim or uneven, glare, and noise, rounded to bytes once at the end.
11
+ *
12
+ * Every random choice comes from a stream forked off the job's seed by axis
13
+ * and seed index and never by level, so the levels of one seed are the same
14
+ * photograph with more of one kind of damage, which is what makes a ladder
15
+ * mean something.
16
+ */
17
+ import type { RgbaImage } from '../core/image.js';
18
+ import type { Quad } from './homography.js';
19
+ import type { Master } from './prepare.js';
20
+ import type { CaptureAxis } from './types.js';
21
+ export interface CaptureSpec {
22
+ readonly axis: CaptureAxis | 'baseline';
23
+ /** In the axis's unit; ignored for the baseline. */
24
+ readonly level: number;
25
+ /** 0 to 7. */
26
+ readonly seed: number;
27
+ /** Capture pixels a module. For distance, the level itself. */
28
+ readonly pxPerModule: number;
29
+ }
30
+ export interface CaptureFrame {
31
+ readonly image: RgbaImage;
32
+ /** Where the artwork's corners landed, clockwise from top left, in capture pixels. */
33
+ readonly quad: Quad;
34
+ }
35
+ /**
36
+ * The capture for one level of one axis and one seed. `sceneWidth` and
37
+ * `sceneHeight` are the artwork's size in modules.
38
+ */
39
+ export declare function renderCapture(master: Master, sceneWidth: number, sceneHeight: number, jobSeed: number, spec: CaptureSpec): CaptureFrame;
40
+ //# sourceMappingURL=capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/verify/capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAqBlD,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAWnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IACxC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,cAAc;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AA4CD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,GACf,YAAY,CAgEd"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * One simulated photograph of a printed design.
3
+ *
4
+ * The order is the order things happen to a real code. First the print:
5
+ * ink spreads or starves, or fades. Then the camera's view: the artwork on a
6
+ * sheet of paper, turned a little in the frame (nobody holds a phone
7
+ * square), tilted when the axis is angle, at the pixels a module the
8
+ * distance gives, each pixel integrating the light over its own area. Then
9
+ * the lens and sensor: the lens's softness and any defocus, any motion, light
10
+ * that is dim or uneven, glare, and noise, rounded to bytes once at the end.
11
+ *
12
+ * Every random choice comes from a stream forked off the job's seed by axis
13
+ * and seed index and never by level, so the levels of one seed are the same
14
+ * photograph with more of one kind of damage, which is what makes a ladder
15
+ * mean something.
16
+ */
17
+ import { PI, cos, sin } from '../core/math.js';
18
+ import { createPrng } from '../core/prng.js';
19
+ import { addNoise, dim, fade, gaussianBlur, glare, lightFalloff, motionBlur, quantise, spreadInk, starveInk, tiltedQuad, toRgba, turnedQuad, warpInto, } from './degrade.js';
20
+ import { BASELINE_LABEL, BASE_BLUR_PX, BASE_NOISE, GLARE_RADIUS, LADDERS, MAX_ROLL_DEGREES, PAPER_MODULES, TILT_CAMERA_DISTANCE, } from './ladders.js';
21
+ const DEGREES = PI / 180;
22
+ function labelOf(axis) {
23
+ if (axis === 'baseline')
24
+ return BASELINE_LABEL;
25
+ return LADDERS.find((ladder) => ladder.axis === axis).label;
26
+ }
27
+ function draws(jobSeed, spec) {
28
+ const stream = createPrng(jobSeed).fork(labelOf(spec.axis)).fork(spec.seed);
29
+ const geometry = stream.fork(1);
30
+ return {
31
+ roll: (geometry.next() * 2 - 1) * MAX_ROLL_DEGREES * DEGREES,
32
+ phaseX: geometry.next(),
33
+ phaseY: geometry.next(),
34
+ direction: geometry.next() * PI,
35
+ spotX: geometry.next(),
36
+ spotY: geometry.next(),
37
+ noise: stream.fork(2),
38
+ };
39
+ }
40
+ /** The print, after the axis's print damage. */
41
+ function printed(master, spec) {
42
+ if (spec.axis === 'ink') {
43
+ const radius = spec.level * master.scaleX;
44
+ return spec.seed % 2 === 0 ? spreadInk(master.plane, radius) : starveInk(master.plane, radius);
45
+ }
46
+ if (spec.axis === 'contrast')
47
+ return fade(master.plane, spec.level);
48
+ return master.plane;
49
+ }
50
+ /**
51
+ * The capture for one level of one axis and one seed. `sceneWidth` and
52
+ * `sceneHeight` are the artwork's size in modules.
53
+ */
54
+ export function renderCapture(master, sceneWidth, sceneHeight, jobSeed, spec) {
55
+ const d = draws(jobSeed, spec);
56
+ const ppm = spec.pxPerModule;
57
+ const width = sceneWidth * ppm;
58
+ const height = sceneHeight * ppm;
59
+ const margin = PAPER_MODULES * ppm;
60
+ // Where the artwork lands in the frame.
61
+ let corners;
62
+ if (spec.axis === 'angle') {
63
+ const tilted = tiltedQuad(width, height, spec.level * DEGREES, d.direction, TILT_CAMERA_DISTANCE);
64
+ corners = rotatePoints(tilted, d.roll);
65
+ }
66
+ else {
67
+ corners = [...turnedQuad(width, height, d.roll)];
68
+ }
69
+ const minX = Math.min(...corners.map((p) => p.x));
70
+ const minY = Math.min(...corners.map((p) => p.y));
71
+ const maxX = Math.max(...corners.map((p) => p.x));
72
+ const maxY = Math.max(...corners.map((p) => p.y));
73
+ const canvasWidth = Math.ceil(maxX - minX + 2 * margin + 1);
74
+ const canvasHeight = Math.ceil(maxY - minY + 2 * margin + 1);
75
+ const quad = corners.map((p) => ({
76
+ x: p.x - minX + margin + d.phaseX,
77
+ y: p.y - minY + margin + d.phaseY,
78
+ }));
79
+ const source = printed(master, spec);
80
+ const supersample = Math.min(6, Math.max(2, Math.ceil(master.scaleX / ppm)));
81
+ let frame = warpInto(source, quad, canvasWidth, canvasHeight, supersample);
82
+ // The lens, and any defocus.
83
+ const focus = spec.axis === 'focus' ? spec.level * ppm : 0;
84
+ frame = gaussianBlur(frame, Math.sqrt(BASE_BLUR_PX * BASE_BLUR_PX + focus * focus));
85
+ if (spec.axis === 'motion')
86
+ frame = motionBlur(frame, spec.level * ppm, d.direction);
87
+ if (spec.axis === 'light') {
88
+ // Less light reaches the sensor, unevenly; the sensor adds its noise and
89
+ // rounds to whole levels at that exposure, and then the phone's auto
90
+ // exposure lifts the picture back up, noise, rounding and all.
91
+ const near = 1 - 0.5 * spec.level;
92
+ const far = 1 - spec.level;
93
+ frame = lightFalloff(frame, near, far, d.direction * 2);
94
+ frame = quantise(addNoise(frame, BASE_NOISE, d.noise.fork(1)));
95
+ frame = dim(frame, 2 / (near + far));
96
+ }
97
+ if (spec.axis === 'glare') {
98
+ // Somewhere over the middle half of the artwork.
99
+ const cx = (quad[0].x + quad[1].x + quad[2].x + quad[3].x) / 4;
100
+ const cy = (quad[0].y + quad[1].y + quad[2].y + quad[3].y) / 4;
101
+ const radius = GLARE_RADIUS * Math.min(width, height);
102
+ frame = glare(frame, spec.level, {
103
+ cx: cx + (d.spotX - 0.5) * 0.5 * width,
104
+ cy: cy + (d.spotY - 0.5) * 0.5 * height,
105
+ rx: radius,
106
+ ry: radius * 0.75,
107
+ });
108
+ }
109
+ frame = addNoise(frame, spec.axis === 'noise' ? spec.level : BASE_NOISE, d.noise);
110
+ return { image: toRgba(frame), quad };
111
+ }
112
+ /** Points turned by `radians` about the origin. */
113
+ function rotatePoints(points, radians) {
114
+ const c = cos(radians);
115
+ const s = sin(radians);
116
+ return points.map((p) => ({ x: p.x * c - p.y * s, y: p.x * s + p.y * c }));
117
+ }
118
+ //# sourceMappingURL=capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/verify/capture.ts"],"names":[],"mappings":"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"}