@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,597 @@
1
+ /**
2
+ * The strict profile, strict-v1: what the scan check reads with.
3
+ *
4
+ * The scan check's promise is that a design it passes scans on the phones
5
+ * people use, so this reader has to be at least as hard to satisfy as any of
6
+ * them. Whatever it reads, zxing-cpp and jsQR must read too, which
7
+ * tests/decode/conservative.test.ts holds it to over a seeded corpus of
8
+ * damaged captures, styled-conservative.test.ts over every design preset
9
+ * photographed, tilted and damaged, and tilt.test.ts over large symbols at
10
+ * an angle; the verify layer's own captures of every preset, on all nine of
11
+ * its axes, were the survey that set the newer rules below. Against the
12
+ * scanner, it gives up:
13
+ *
14
+ * - every threshold but one: the hybrid binariser the common readers use
15
+ * (`binariseHybridMean`), at the picture's own scale;
16
+ * - every sample but one: the pixel under each module's centre;
17
+ * - the other polarity: only the design's own, dark-on-light unless told;
18
+ * - mirror images, erasures, and any format information more than one bit
19
+ * out or with its copies disagreeing (the symbology's strict read);
20
+ * - slack in the finders: their runs within 0.35 of a module of 1:1:3:1:1
21
+ * along the axes, and within half a module on both diagonals (see
22
+ * `STRICT_FINDER_TOLERANCE`);
23
+ * - guessing: one finder triple and one grid, the size and (from version 2)
24
+ * the alignment pattern whose grid lays the timing patterns down
25
+ * straightest, or no grid at all; a grid whose timing pattern does not
26
+ * read is not read, and from version 7 its version information has to
27
+ * agree with its size;
28
+ *
29
+ * and then asks these things of a symbol that did read, all about the picture
30
+ * rather than the symbol:
31
+ *
32
+ * - Its modules must be at least 2.25 pixels across
33
+ * (`STRICT_MIN_MODULE_PIXELS`), and drawn out no more than 1.8 times one
34
+ * way over the other, a tilt of about 56 degrees
35
+ * (`STRICT_MAX_FORESHORTENING`).
36
+ * - The thresholded picture must not break up into speckle. Noise that leaves
37
+ * the symbol itself readable turns a flat background into isolated dark
38
+ * pixels, and a reader that finds finder patterns by their run ratios finds
39
+ * them everywhere in it and picks the wrong three: measured against jsQR
40
+ * over the corpus, that is where it fails, from about one pixel in sixteen.
41
+ * More than one in fifty is refused.
42
+ * - The grid a plain reader would lay must read to the same bytes (see
43
+ * `plain.ts`).
44
+ * - For Micro QR and rMQR, the fixed patterns (finders, separators, timing
45
+ * and alignment patterns) must read the same under both of the thresholds
46
+ * the common readers use, the block mean jsQR and ZXing take and zxing-cpp's
47
+ * (`binariseLocalAverage`), wherever the picture around them keeps its
48
+ * contrast. Where they differ on a module whose neighbourhood has gone
49
+ * pale, the picture has lost the pattern, nearly always to glare, and a
50
+ * reader that finds its way by it is lost too. Where they differ on a
51
+ * module whose neighbourhood keeps its contrast, the centre sits on a drawn
52
+ * edge, which styled designs do on purpose. QR leaves this out: the rules
53
+ * below model what zxing-cpp makes of its own threshold, and over verify's
54
+ * captures and the plain corpus they caught everything this did.
55
+ * - The finders' rings must be ones zxing-cpp can trace: no ring of dots,
56
+ * at a slant or under a smear no circle, and on a steep tilt no ring
57
+ * nearly round at its corners (see `finderRingsTraceable`);
58
+ * and their centres ones it can settle on (see `finderCentresClosed`).
59
+ * - From version 7, the grid zxing-cpp lays in tiles, cornered on the
60
+ * finders' rings, must read as well (see `tiled.ts`).
61
+ *
62
+ * The reserve of ceil(0.25 t) unused corrections per block is the last part
63
+ * of the profile and is not here: the verify layer applies it, from
64
+ * `MatrixRead.errorsPerBlock` and `capacityPerBlock`.
65
+ */
66
+ import { PI, cos, hypot, sin } from '../core/math.js';
67
+ import { ROLE_CODES } from '../symbology/roles.js';
68
+ import { binariseHybridMean } from './binarise.js';
69
+ import { STRICT_FINDER_TOLERANCE, findFinderPatterns } from './finder.js';
70
+ import { apply, moduleWidth } from './transform.js';
71
+ import { ringPoints } from './tiled.js';
72
+ /**
73
+ * The fewest pixels a module the strict profile reads at. Nyquist is two, and
74
+ * between two and two and a quarter zxing-cpp starts to miss symbols jsQR and
75
+ * this reader still read (2 of 71 in the 20,000-capture corpus); above it, it
76
+ * missed none. The scan check draws at more than this, so the floor costs a
77
+ * design nothing.
78
+ */
79
+ export const STRICT_MIN_MODULE_PIXELS = 2.25;
80
+ /**
81
+ * The most a module may be drawn out one way over the other at the middle of
82
+ * the symbol: 1.8, a tilt of about 56 degrees. Past it the readers find the
83
+ * far corner by tracing the finders' sides a long way across a steep
84
+ * perspective, and zxing-cpp put it tens of pixels out on a symbol tilted 60
85
+ * degrees that the strict reader read: one of the 127 it read there, and none
86
+ * of the 586 at 50 degrees (1.56).
87
+ */
88
+ export const STRICT_MAX_FORESHORTENING = 1.8;
89
+ /**
90
+ * How much longer a module is drawn one way than the other at (u, v): the
91
+ * ratio of the largest to the smallest stretch of the transform's derivative
92
+ * there, 1 for a square module and 1 / cos t for a tilt of t.
93
+ */
94
+ export function foreshortening(transform, u, v) {
95
+ const [a11, a21, a31, a12, a22, a32, a13, a23, a33] = transform;
96
+ const d = a13 * u + a23 * v + a33;
97
+ const x = (a11 * u + a21 * v + a31) / d;
98
+ const y = (a12 * u + a22 * v + a32) / d;
99
+ // The columns of the derivative: where a step in u, and one in v, goes.
100
+ const ux = (a11 - x * a13) / d;
101
+ const uy = (a12 - y * a13) / d;
102
+ const vx = (a21 - x * a23) / d;
103
+ const vy = (a22 - y * a23) / d;
104
+ const a = ux * ux + uy * uy;
105
+ const b = vx * vx + vy * vy;
106
+ const c = ux * vx + uy * vy;
107
+ const spread = Math.sqrt((a - b) * (a - b) + 4 * c * c);
108
+ return Math.sqrt((a + b + spread) / (a + b - spread));
109
+ }
110
+ /**
111
+ * Whether the strict profile samples a grid at all: modules wide enough, and
112
+ * not drawn out past `STRICT_MAX_FORESHORTENING`, at the middle of the symbol.
113
+ *
114
+ * Version 7 and up once had a floor of three pixels a module of their own:
115
+ * below it the tiled grid (see tiled.ts), laid on a midrange threshold, let
116
+ * through symbols zxing-cpp missed. Laid on zxing-cpp's own threshold and
117
+ * from each centre zxing-cpp could take, it catches them: over verify's
118
+ * captures at 2.5 pixels a module it let none through, so the one floor
119
+ * serves every version.
120
+ */
121
+ export function strictSamples(transform, width, height) {
122
+ const u = width / 2;
123
+ const v = height / 2;
124
+ return (moduleWidth(transform, u, v) >= STRICT_MIN_MODULE_PIXELS &&
125
+ foreshortening(transform, u, v) <= STRICT_MAX_FORESHORTENING);
126
+ }
127
+ /** The most speckle, as a fraction of all pixels, the strict profile accepts. */
128
+ export const STRICT_MAX_SPECKLE = 0.02;
129
+ /**
130
+ * The fraction of pixels that are dark with at most one dark neighbour of
131
+ * four: isolated specks. A symbol's own modules are at least two pixels
132
+ * across at any size the strict reader samples, so none of its pixels is one.
133
+ */
134
+ export function speckle(image) {
135
+ const { width, height, bits } = image;
136
+ if (width < 3 || height < 3)
137
+ return 0;
138
+ let isolated = 0;
139
+ for (let y = 1; y < height - 1; y += 1) {
140
+ for (let x = 1; x < width - 1; x += 1) {
141
+ const at = y * width + x;
142
+ if (bits[at] === 0)
143
+ continue;
144
+ const neighbours = bits[at - 1] +
145
+ bits[at + 1] +
146
+ bits[at - width] +
147
+ bits[at + width];
148
+ if (neighbours <= 1)
149
+ isolated += 1;
150
+ }
151
+ }
152
+ return isolated / (width * height);
153
+ }
154
+ const FIXED_ROLES = new Set([
155
+ ROLE_CODES.finder,
156
+ ROLE_CODES.separator,
157
+ ROLE_CODES.timing,
158
+ ROLE_CODES.alignment,
159
+ ROLE_CODES['sub-finder'],
160
+ ROLE_CODES['corner-finder'],
161
+ ]);
162
+ /**
163
+ * Below this share of the symbol's own contrast, the picture around a
164
+ * fixed-pattern module has lost the contrast that tells dark from light.
165
+ *
166
+ * Measured, not chosen: where the two thresholds split on a fixed-pattern
167
+ * module under glare, the 3 by 3 modules around it span 0.28 to 0.53 of the
168
+ * symbol's range; where they split on a styled design (a round finder centre
169
+ * whose corner module's centre sits on the curve, a dot or a rounded corner
170
+ * in the timing pattern), 0.96 to 1.03. Three quarters sits between them with
171
+ * room either side.
172
+ */
173
+ export const WASHED_OUT = 0.75;
174
+ /** Samples across each module of the 3 by 3 neighbourhood, a side. */
175
+ const NEIGHBOURHOOD_STEPS = 4;
176
+ function pixelAt(transform, u, v) {
177
+ const [a11, a21, a31, a12, a22, a32, a13, a23, a33] = transform;
178
+ const d = a13 * u + a23 * v + a33;
179
+ return {
180
+ x: Math.floor((a11 * u + a21 * v + a31) / d),
181
+ y: Math.floor((a12 * u + a22 * v + a32) / d),
182
+ };
183
+ }
184
+ function greyAt(grey, transform, u, v) {
185
+ const { x, y } = pixelAt(transform, u, v);
186
+ if (x < 0 || y < 0 || x >= grey.width || y >= grey.height)
187
+ return undefined;
188
+ return grey.data[y * grey.width + x];
189
+ }
190
+ /**
191
+ * The symbol's own contrast: the spread between the 5th and 95th percentile
192
+ * grey of its module centres.
193
+ */
194
+ function symbolRange(grey, transform, layout) {
195
+ const histogram = new Uint32Array(256);
196
+ let total = 0;
197
+ for (let y = 0; y < layout.height; y += 1) {
198
+ for (let x = 0; x < layout.width; x += 1) {
199
+ const level = greyAt(grey, transform, x + 0.5, y + 0.5);
200
+ if (level === undefined)
201
+ continue;
202
+ histogram[level] = histogram[level] + 1;
203
+ total += 1;
204
+ }
205
+ }
206
+ const percentile = (fraction) => {
207
+ let seen = 0;
208
+ let level = 0;
209
+ for (; level < 255; level += 1) {
210
+ seen += histogram[level];
211
+ if (seen >= total * fraction)
212
+ break;
213
+ }
214
+ return level;
215
+ };
216
+ return percentile(0.95) - percentile(0.05);
217
+ }
218
+ /** The spread of grey over the 3 by 3 modules centred on module (x, y). */
219
+ function neighbourhoodRange(grey, transform, x, y) {
220
+ let low = 255;
221
+ let high = 0;
222
+ const steps = 3 * NEIGHBOURHOOD_STEPS;
223
+ for (let j = 0; j <= steps; j += 1) {
224
+ for (let i = 0; i <= steps; i += 1) {
225
+ const level = greyAt(grey, transform, x - 1 + i / NEIGHBOURHOOD_STEPS, y - 1 + j / NEIGHBOURHOOD_STEPS);
226
+ if (level === undefined)
227
+ continue;
228
+ if (level < low)
229
+ low = level;
230
+ if (level > high)
231
+ high = level;
232
+ }
233
+ }
234
+ return high - low;
235
+ }
236
+ /**
237
+ * Whether the fixed-pattern modules read the same in two thresholded
238
+ * versions of one picture, at the pixel under each centre, wherever the
239
+ * picture there still has its contrast.
240
+ *
241
+ * A module the two split on is forgiven when the 3 by 3 modules around it
242
+ * span at least `WASHED_OUT` of the symbol's range: then the split is a
243
+ * centre that sits on a drawn edge, which a styled design puts there on
244
+ * purpose and every reader resolves by its neighbours. Where the
245
+ * neighbourhood itself has gone pale, the split is the picture losing the
246
+ * pattern, and that refuses.
247
+ */
248
+ export function fixedPatternsAgree(a, b, grey, transform, layout) {
249
+ let range;
250
+ for (let y = 0; y < layout.height; y += 1) {
251
+ for (let x = 0; x < layout.width; x += 1) {
252
+ if (!FIXED_ROLES.has(layout.roles[y * layout.width + x]))
253
+ continue;
254
+ // The strict grid has every module centre on the picture.
255
+ const { x: px, y: py } = pixelAt(transform, x + 0.5, y + 0.5);
256
+ const at = py * a.width + px;
257
+ if (a.bits[at] === b.bits[at])
258
+ continue;
259
+ range ??= symbolRange(grey, transform, layout);
260
+ if (neighbourhoodRange(grey, transform, x, y) < range * WASHED_OUT)
261
+ return false;
262
+ }
263
+ }
264
+ return true;
265
+ }
266
+ /**
267
+ * Past this ratio between the largest and smallest finder, the symbol is seen
268
+ * at a slant, and zxing-cpp stops trusting the finders' centres alone: it
269
+ * traces the straight outer sides of the finders' rings and intersects them
270
+ * to find the far corner. Its switch is at a tenth by its own measure; by
271
+ * this one, taken through the fitted grid, it starts failing round rings at
272
+ * about 1.06 (a tilt of 8 to 10 degrees), so the strict reader asks for
273
+ * traceable sides from half that.
274
+ */
275
+ export const STRICT_SLANT = 1.03;
276
+ /** A finder whose diagonal reach is less than this times its axial reach has no corners to its ring: a circle. */
277
+ const MIN_CORNER_RATIO = 1.06;
278
+ /** The most a ring's outer side may wander, in modules, over its middle stretch, to count as a straight line. */
279
+ const MAX_SIDE_WANDER = 0.12;
280
+ /** The middle stretch of a side, in modules either side of its centre. */
281
+ const SIDE_STRETCH = 1.2;
282
+ const SIDE_STEP = 0.2;
283
+ const EDGE_STEP = 0.02;
284
+ /** Bilinear grey at a point given in module coordinates, or NaN off the picture. */
285
+ function greyAtModule(grey, transform, u, v) {
286
+ const [a11, a21, a31, a12, a22, a32, a13, a23, a33] = transform;
287
+ const d = a13 * u + a23 * v + a33;
288
+ const x = (a11 * u + a21 * v + a31) / d - 0.5;
289
+ const y = (a12 * u + a22 * v + a32) / d - 0.5;
290
+ const x0 = Math.floor(x);
291
+ const y0 = Math.floor(y);
292
+ if (x0 < 0 || y0 < 0 || x0 + 1 >= grey.width || y0 + 1 >= grey.height)
293
+ return Number.NaN;
294
+ const fx = x - x0;
295
+ const fy = y - y0;
296
+ const at = (px, py) => grey.data[py * grey.width + px];
297
+ return (at(x0, y0) * (1 - fx) * (1 - fy) +
298
+ at(x0 + 1, y0) * fx * (1 - fy) +
299
+ at(x0, y0 + 1) * (1 - fx) * fy +
300
+ at(x0 + 1, y0 + 1) * fx * fy);
301
+ }
302
+ /**
303
+ * How far out a finder's ring reaches along a ray from (u, v) in direction
304
+ * (du, dv), in module units, to sub-module precision: the last point between
305
+ * `from` and `to` where the grey crosses from dark to light, halfway between
306
+ * the darkest and lightest on the ray.
307
+ */
308
+ function ringReach(grey, transform, u, v, du, dv, from, to) {
309
+ const levels = [];
310
+ for (let t = from; t <= to; t += EDGE_STEP) {
311
+ levels.push(greyAtModule(grey, transform, u + du * t, v + dv * t));
312
+ }
313
+ let low = 255;
314
+ let high = 0;
315
+ for (const level of levels) {
316
+ if (Number.isNaN(level))
317
+ return Number.NaN;
318
+ if (level < low)
319
+ low = level;
320
+ if (level > high)
321
+ high = level;
322
+ }
323
+ const middle = (low + high) / 2;
324
+ for (let i = levels.length - 2; i >= 0; i -= 1) {
325
+ const here = levels[i];
326
+ const next = levels[i + 1];
327
+ if (here < middle && next >= middle) {
328
+ return from + (i + (middle - here) / (next - here)) * EDGE_STEP;
329
+ }
330
+ }
331
+ return Number.NaN;
332
+ }
333
+ /** One module's width in pixels at a point of the symbol. */
334
+ function moduleWidthAt(transform, u, v) {
335
+ const here = apply(transform, u, v);
336
+ const across = apply(transform, u + 1, v);
337
+ const down = apply(transform, u, v + 1);
338
+ return ((Math.abs(across.x - here.x) +
339
+ Math.abs(across.y - here.y) +
340
+ Math.abs(down.x - here.x) +
341
+ Math.abs(down.y - here.y)) /
342
+ 2);
343
+ }
344
+ /** The ring of the finder centred on module (u, v), or null where it runs off the picture. */
345
+ export function ringShape(grey, transform, u, v) {
346
+ let wander = 0;
347
+ let across = 0;
348
+ for (const [du, dv] of [
349
+ [1, 0],
350
+ [-1, 0],
351
+ [0, 1],
352
+ [0, -1],
353
+ ]) {
354
+ const side = [];
355
+ for (let t = -SIDE_STRETCH; t <= SIDE_STRETCH + 1e-9; t += SIDE_STEP) {
356
+ // Offset along the side, perpendicular to the ray.
357
+ side.push(ringReach(grey, transform, u + dv * t, v + du * t, du, dv, 2, 4.4));
358
+ }
359
+ if (side.some((reach) => Number.isNaN(reach)))
360
+ return null;
361
+ wander = Math.max(wander, Math.max(...side) - Math.min(...side));
362
+ across += side[Math.floor(side.length / 2)] / 4;
363
+ }
364
+ let diagonal = 0;
365
+ for (const [du, dv] of [
366
+ [1, 1],
367
+ [1, -1],
368
+ [-1, 1],
369
+ [-1, -1],
370
+ ]) {
371
+ const reach = ringReach(grey, transform, u, v, du / Math.SQRT2, dv / Math.SQRT2, 2, 5.6);
372
+ if (Number.isNaN(reach))
373
+ return null;
374
+ diagonal += reach / 4;
375
+ }
376
+ return { wander, corner: diagonal / across };
377
+ }
378
+ /**
379
+ * Past this difference, in modules, between the widest and narrowest blur of
380
+ * a finder's outer edge across sixteen directions, the camera moved during
381
+ * the exposure. Measured, not chosen: square on and under a defocus the
382
+ * difference is under 0.3 of a module for every preset; a smear of 0.75 of a
383
+ * module puts it at 0.45 and more, and each of the 23 round and dotted
384
+ * finders zxing-cpp missed under a smear that the strict reader read was at
385
+ * 0.52 or more.
386
+ */
387
+ export const STRICT_MAX_SMEAR = 0.45;
388
+ /** Sixteen directions round a finder's centre, turned a little so none runs along a side. */
389
+ const SMEAR_RAYS = Array.from({ length: 16 }, (_, k) => {
390
+ const angle = (k * PI) / 8 + 0.1;
391
+ return [cos(angle), sin(angle)];
392
+ });
393
+ /** Where the outer edge of a finder's ring is looked for: the dark ring from 2.6 modules out, its separator to 4.4. */
394
+ const SMEAR_FROM = 2.6;
395
+ const SMEAR_TO = 4.4;
396
+ /** The samples of the dark ring's own level, and of the separator's, along each ray. */
397
+ const SMEAR_DARK = 30;
398
+ const SMEAR_LIGHT = 60;
399
+ /** Less contrast than this between the ring and its separator, in grey levels, is no edge to measure. */
400
+ const SMEAR_MIN_CONTRAST = 8;
401
+ /**
402
+ * How wide, in modules, the outer edge of a finder's ring is blurred along a
403
+ * ray from its centre: from a tenth of the way between the ring's level and
404
+ * the separator's to nine tenths. NaN where the ray leaves the picture or
405
+ * finds too little contrast for an edge.
406
+ */
407
+ function edgeBlur(grey, transform, u, v, du, dv) {
408
+ const levels = [];
409
+ for (let i = 0; SMEAR_FROM + i * EDGE_STEP <= SMEAR_TO + 1e-9; i += 1) {
410
+ const t = SMEAR_FROM + i * EDGE_STEP;
411
+ levels.push(greyAtModule(grey, transform, u + du * t, v + dv * t));
412
+ }
413
+ if (levels.some((level) => Number.isNaN(level)))
414
+ return Number.NaN;
415
+ const low = Math.min(...levels.slice(0, SMEAR_DARK));
416
+ const high = Math.max(...levels.slice(SMEAR_LIGHT));
417
+ if (high - low < SMEAR_MIN_CONTRAST)
418
+ return Number.NaN;
419
+ // The last rise through a level between the two: there is always one, from
420
+ // the ring's darkest sample, below it, to the separator's lightest, above.
421
+ const crossing = (share) => {
422
+ const level = low + share * (high - low);
423
+ let i = levels.length - 1;
424
+ while (!(levels[i - 1] < level && levels[i] >= level))
425
+ i -= 1;
426
+ const before = levels[i - 1];
427
+ const after = levels[i];
428
+ return SMEAR_FROM + (i - 1 + (level - before) / (after - before)) * EDGE_STEP;
429
+ };
430
+ return crossing(0.9) - crossing(0.1);
431
+ }
432
+ /**
433
+ * How unevenly a finder's outer edge is blurred: the widest blur over the
434
+ * sixteen directions less the narrowest, in modules. A lens blurs evenly; a
435
+ * moving camera smears one way. Infinite where no two directions measure.
436
+ */
437
+ export function finderSmear(grey, transform, u, v) {
438
+ const widths = SMEAR_RAYS.map(([du, dv]) => edgeBlur(grey, transform, u, v, du, dv)).filter((width) => !Number.isNaN(width));
439
+ if (widths.length < 2)
440
+ return Number.POSITIVE_INFINITY;
441
+ return Math.max(...widths) - Math.min(...widths);
442
+ }
443
+ /** Whether a finder's dark ring walks closed, inner and outer edge both, in zxing-cpp's threshold (see tiled.ts). */
444
+ function ringClosed(bits, transform, u, v) {
445
+ const centre = apply(transform, u, v);
446
+ const width = Math.round(7 * moduleWidth(transform, u, v));
447
+ return (ringPoints(bits, centre, width, 2, false).length > 0 &&
448
+ ringPoints(bits, centre, width, 3, true).length > 0);
449
+ }
450
+ /**
451
+ * Whether each of a QR symbol's finders has a centre zxing-cpp can settle on,
452
+ * in its own threshold `bits`: one dark patch whose edge, walked from the
453
+ * centre's pixel, goes all the way round it, with the middle of the walk on
454
+ * a dark pixel.
455
+ *
456
+ * zxing-cpp, having found a finder by its runs, settles its centre by walking
457
+ * the edge of the dark centre and taking the middle of the walk, and drops the
458
+ * finder when the walk does not close round the centre or its middle is
459
+ * light. Glare that leaves a light hole in the centre does that: a two-tone
460
+ * design under glare that jsQR and the strict reader read was one zxing-cpp
461
+ * found no symbol in at all, with its bottom left finder's centre holed in
462
+ * zxing-cpp's threshold and solid in the strict reader's own.
463
+ *
464
+ * Asked first of a midrange threshold, this refused 7 in 1,000 symbols over
465
+ * verify's captures that zxing-cpp read, most of them two-tone designs whose
466
+ * finder centres that threshold holed and zxing-cpp's does not; asked of
467
+ * `binariseLocalAverage`, the two-tone shortfalls went with it.
468
+ */
469
+ export function finderCentresClosed(bits, transform, size) {
470
+ return [
471
+ [3.5, 3.5],
472
+ [size - 3.5, 3.5],
473
+ [3.5, size - 3.5],
474
+ ].every(([u, v]) => {
475
+ const centre = apply(transform, u, v);
476
+ const reach = Math.round((7 * moduleWidth(transform, u, v) * 2) / 3);
477
+ const walk = ringPoints(bits, centre, reach, 1, false);
478
+ if (walk.length === 0)
479
+ return false;
480
+ // The middle of the walk, where zxing-cpp puts the centre, has to be dark.
481
+ let x = 0;
482
+ let y = 0;
483
+ for (const p of walk) {
484
+ x += p.x / walk.length;
485
+ y += p.y / walk.length;
486
+ }
487
+ return bits.bits[Math.floor(y) * bits.width + Math.floor(x)] === 1;
488
+ });
489
+ }
490
+ /**
491
+ * Whether a QR symbol's finder rings are ones zxing-cpp can trace.
492
+ *
493
+ * zxing-cpp, once the finders differ in size by a tenth, finds the symbol's
494
+ * far corner by tracing the straight outer sides of the finders' rings and
495
+ * intersecting them. A circular ring has no straight side, and a ring of dots
496
+ * has a scalloped one. Over the styled corpus zxing-cpp read none of the
497
+ * circle-ringed presets tilted 15 degrees and every one of them square on;
498
+ * the dot-ringed one it missed a quarter of the time even square on, and
499
+ * most of the time tilted. jsQR, which never looks at the sides, read them
500
+ * all, and so did the strict reader until it asked this.
501
+ *
502
+ * Measured through the fitted grid, so slant and roll drop out: over the
503
+ * middle 2.4 modules of each side, a straight side wanders 0.03 to 0.06 of a
504
+ * module (squares, rounded and extra-rounded corners, squircles, leaves,
505
+ * octagons, cushions) and a circle or a ring of dots 0.20 to 0.25. A circle
506
+ * reaches no further along its diagonals than its axes; every cornered ring,
507
+ * dots included, at least 1.12 times further.
508
+ *
509
+ * So a ring of dots, cornered and scalloped, is refused outright, and a
510
+ * circle when the symbol is seen at a slant.
511
+ *
512
+ * A camera that moves during the exposure does to a round ring what a slant
513
+ * does: over verify's captures zxing-cpp missed round rings smeared by a
514
+ * module or more one time in four that jsQR and the strict reader read, and
515
+ * square ones next to never. A smear also hides a ring of dots, joining them
516
+ * along it and leaving them apart across it, so that the ring measures
517
+ * straight and zxing-cpp still misses it. Smeared past `STRICT_MAX_SMEAR`,
518
+ * then, every ring has to be straight, cornered and, in zxing-cpp's own
519
+ * threshold `bits`, one closed ring. And tilted steeply, past
520
+ * `STRICT_STEEP_FORESHORTENING`, a ring's corners have to be well short of
521
+ * round (`STEEP_CORNER_RATIO`).
522
+ */
523
+ export function finderRingsTraceable(grey, bits, transform, size) {
524
+ const centres = [
525
+ [3.5, 3.5],
526
+ [size - 3.5, 3.5],
527
+ [3.5, size - 3.5],
528
+ ];
529
+ const widths = centres.map(([u, v]) => moduleWidthAt(transform, u, v));
530
+ const slanted = Math.max(...widths) > Math.min(...widths) * STRICT_SLANT;
531
+ const smeared = centres.some(([u, v]) => finderSmear(grey, transform, u, v) > STRICT_MAX_SMEAR);
532
+ const steep = foreshortening(transform, size / 2, size / 2) > STRICT_STEEP_FORESHORTENING;
533
+ for (const [u, v] of centres) {
534
+ const ring = ringShape(grey, transform, u, v);
535
+ // A ring that cannot be measured is not one a reader can trace either.
536
+ if (ring === null)
537
+ return false;
538
+ const kind = kindOf(ring);
539
+ if (kind === 'dotted')
540
+ return false;
541
+ if ((slanted || smeared) && kind === 'round')
542
+ return false;
543
+ if (steep && ring.corner < STEEP_CORNER_RATIO)
544
+ return false;
545
+ if (smeared && !ringClosed(bits, transform, u, v))
546
+ return false;
547
+ }
548
+ return true;
549
+ }
550
+ /**
551
+ * Past this foreshortening, a tilt of about 37 degrees, zxing-cpp's traced
552
+ * finder sides need corners well short of round (`STEEP_CORNER_RATIO`).
553
+ */
554
+ export const STRICT_STEEP_FORESHORTENING = 1.25;
555
+ /**
556
+ * The least a ring's diagonal reach may be over its axial reach on a steep
557
+ * tilt. Measured, not chosen: over 7,395 symbols the strict reader read
558
+ * from verify's captures of every preset tilted 25 to 50 degrees, the 16
559
+ * zxing-cpp missed were all extra-rounded rings (1.12) at 40 degrees and
560
+ * more; squircles, octagons and scooped rings (1.17 to 1.20) and everything
561
+ * squarer it read.
562
+ */
563
+ const STEEP_CORNER_RATIO = 1.15;
564
+ function kindOf(ring) {
565
+ if (ring.corner < MIN_CORNER_RATIO)
566
+ return 'round';
567
+ return ring.wander <= MAX_SIDE_WANDER ? 'cornered' : 'dotted';
568
+ }
569
+ /**
570
+ * What a finder's ring is to a reader that traces its sides, by its shape
571
+ * (see `finderRingsTraceable`): `cornered`, straight-sided with corners, which
572
+ * every reader follows; `round`, without corners, which zxing-cpp loses at a
573
+ * slant or under a smear; `dotted`, cornered but scalloped, which it loses
574
+ * anywhere. Null where the ring cannot be measured on the picture.
575
+ *
576
+ * The design layer can ask this of a ring and centre it draws, through the
577
+ * grid it drew them on, to know before any photograph how the strict profile
578
+ * will take them.
579
+ */
580
+ export function ringKind(grey, transform, u, v) {
581
+ const ring = ringShape(grey, transform, u, v);
582
+ return ring === null ? null : kindOf(ring);
583
+ }
584
+ /**
585
+ * Whether the strict profile's finder search, thresholding a picture as the
586
+ * strict reader does, finds a finder centred within a module of `centre`.
587
+ *
588
+ * The design layer's conformance test measures a ring and centre with
589
+ * sub-pixel edges at four pixels a module; the strict reader measures whole
590
+ * pixels from the pixels nearest a centre it knows to a fraction of one. This
591
+ * is the strict reader's own measure, for a caller that wants the verdict of
592
+ * the reader that will judge the finder rather than a model of it.
593
+ */
594
+ export function strictFindsFinder(image, centre, modulePixels) {
595
+ return findFinderPatterns(binariseHybridMean(image), STRICT_FINDER_TOLERANCE).some((pattern) => hypot(pattern.x - centre.x, pattern.y - centre.y) < modulePixels);
596
+ }
597
+ //# sourceMappingURL=strict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/decode/strict.ts"],"names":[],"mappings":"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"}