ranger-compiler 3.5.1 → 3.5.2

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 (338) hide show
  1. package/CHANGELOG.md +1064 -20
  2. package/LICENSE +3 -1
  3. package/README.md +123 -28
  4. package/dist/Lang.rgr +1188 -290
  5. package/dist/api.d.ts +2343 -879
  6. package/dist/api.js +79923 -56921
  7. package/dist/lib/JSON.rgr +102 -91
  8. package/dist/lib/Shell.rgr +4 -4
  9. package/dist/lib/apple/AppleToolchain.rgr +4 -4
  10. package/dist/lib/apple/README.md +5 -4
  11. package/dist/lib/apple/apple_test.rgr +1 -1
  12. package/dist/lib/core/README.md +1 -1
  13. package/dist/lib/evg/EVG.rgr +12 -0
  14. package/dist/lib/evg/EVGA11yFromTree.rgr +302 -0
  15. package/dist/lib/evg/EVGA11yTree.rgr +894 -0
  16. package/dist/lib/evg/EVGBox.rgr +267 -0
  17. package/dist/lib/evg/EVGBoxShorthandTest.rgr +220 -0
  18. package/dist/lib/evg/EVGCodepoint.rgr +316 -0
  19. package/dist/lib/evg/EVGColor.rgr +700 -0
  20. package/dist/lib/evg/EVGCommands.rgr +177 -0
  21. package/dist/lib/evg/EVGComponent.rgr +331 -0
  22. package/dist/lib/evg/EVGComponentTest.rgr +387 -0
  23. package/dist/lib/evg/EVGConnector.rgr +541 -0
  24. package/dist/lib/evg/EVGConnectorTest.rgr +306 -0
  25. package/dist/lib/evg/EVGDisplayList.rgr +4186 -0
  26. package/dist/lib/evg/EVGEasing.rgr +370 -0
  27. package/dist/lib/evg/EVGEffectTest.rgr +253 -0
  28. package/dist/lib/evg/EVGElement.rgr +4914 -0
  29. package/dist/lib/evg/EVGFixedTest.rgr +289 -0
  30. package/dist/lib/evg/EVGFlexRulesTest.rgr +317 -0
  31. package/dist/lib/evg/EVGFlexWrapTest.rgr +246 -0
  32. package/dist/lib/evg/EVGFling.rgr +244 -0
  33. package/dist/lib/evg/EVGFocus.rgr +400 -0
  34. package/dist/lib/evg/EVGFocusTest.rgr +399 -0
  35. package/dist/lib/evg/EVGGradient.rgr +322 -0
  36. package/dist/lib/evg/EVGGrapheme.rgr +190 -0
  37. package/dist/lib/evg/EVGGrid.rgr +975 -0
  38. package/dist/lib/evg/EVGHitTest.rgr +208 -0
  39. package/dist/lib/evg/EVGHoles.rgr +294 -0
  40. package/dist/lib/evg/EVGHostMeasurerTest.rgr +281 -0
  41. package/dist/lib/evg/EVGHostTextMeasurer.rgr +331 -0
  42. package/dist/lib/evg/EVGHostTree.rgr +834 -0
  43. package/dist/lib/evg/EVGHostTreeTest.rgr +447 -0
  44. package/dist/lib/evg/EVGImageDecode.rgr +117 -0
  45. package/dist/lib/evg/EVGImageMeasurer.rgr +86 -0
  46. package/dist/lib/evg/EVGInspect.rgr +883 -0
  47. package/dist/lib/evg/EVGInvalidateTest.rgr +432 -0
  48. package/dist/lib/evg/EVGJsonTest.rgr +535 -0
  49. package/dist/lib/evg/EVGLayout.rgr +4220 -0
  50. package/dist/lib/evg/EVGMeasure.rgr +1267 -0
  51. package/dist/lib/evg/EVGOverlayTest.rgr +626 -0
  52. package/dist/lib/evg/EVGPatch.rgr +1721 -0
  53. package/dist/lib/evg/EVGPatchTest.rgr +692 -0
  54. package/dist/lib/evg/EVGPopoverTest.rgr +395 -0
  55. package/dist/lib/evg/EVGReconcile.rgr +226 -0
  56. package/dist/lib/evg/EVGReconcileTest.rgr +421 -0
  57. package/dist/lib/evg/EVGReject.rgr +126 -0
  58. package/dist/lib/evg/EVGRelayoutTest.rgr +375 -0
  59. package/dist/lib/evg/EVGRtlLayoutTest.rgr +319 -0
  60. package/dist/lib/evg/EVGRuler.rgr +232 -0
  61. package/dist/lib/evg/EVGRulerTest.rgr +172 -0
  62. package/dist/lib/evg/EVGSelectChrome.rgr +178 -0
  63. package/dist/lib/evg/EVGStyleCacheTest.rgr +419 -0
  64. package/dist/lib/evg/EVGStyleSheet.rgr +2148 -0
  65. package/dist/lib/evg/EVGStyleStateTest.rgr +407 -0
  66. package/dist/lib/evg/EVGStyleVarTest.rgr +471 -0
  67. package/dist/lib/evg/EVGText.rgr +105 -0
  68. package/dist/lib/evg/EVGTextEngine.rgr +536 -0
  69. package/dist/lib/evg/EVGTextMeasurer.rgr +720 -0
  70. package/dist/lib/evg/EVGTimingTest.rgr +1417 -0
  71. package/dist/lib/evg/EVGToolbar.rgr +1369 -0
  72. package/dist/lib/evg/EVGTransition.rgr +728 -0
  73. package/dist/lib/evg/EVGTreeJson.rgr +721 -0
  74. package/dist/lib/evg/EVGUnit.rgr +554 -0
  75. package/dist/lib/evg/EVGViewportUnitTest.rgr +236 -0
  76. package/dist/lib/evg/EvgApp.rgr +189 -0
  77. package/dist/lib/evg/EvgBitmapTracer.rgr +4277 -0
  78. package/dist/lib/evg/EvgBitmapTracerTest.rgr +2119 -0
  79. package/dist/lib/evg/EvgHost.rgr +451 -0
  80. package/dist/lib/evg/EvgTest.rgr +91 -0
  81. package/dist/lib/evg/EvgTraceColor.rgr +236 -0
  82. package/dist/lib/evg/EvgTraceCurve.rgr +648 -0
  83. package/dist/lib/evg/EvgTraceFit.rgr +767 -0
  84. package/dist/lib/evg/EvgTracePath.rgr +435 -0
  85. package/dist/lib/evg/EvgTraceTypes.rgr +559 -0
  86. package/dist/lib/evg/EvgViewport.rgr +313 -0
  87. package/dist/lib/evg/FxDemoDoc.rgr +185 -0
  88. package/dist/lib/evg/HOSTS.md +227 -0
  89. package/dist/lib/evg/ISSUES.md +835 -0
  90. package/dist/lib/evg/PLAN_ACCESSIBILITY.md +650 -0
  91. package/dist/lib/evg/PLAN_CSS_LAYOUT_AND_FONTS.md +1124 -0
  92. package/dist/lib/evg/PLAN_EFFECTS.md +431 -0
  93. package/dist/lib/evg/PLAN_EVG.md +518 -0
  94. package/dist/lib/evg/PLAN_EVG_RENDERER.md +1674 -0
  95. package/dist/lib/evg/PLAN_INSPECTOR.md +788 -0
  96. package/dist/lib/evg/PLAN_LINKS_AND_FORMS.md +157 -0
  97. package/dist/lib/evg/PLAN_NATIVE_HOSTS.md +671 -0
  98. package/dist/lib/evg/PLAN_VECTOR_IR.md +664 -0
  99. package/dist/lib/evg/PLAN_VIEW_TRANSFORM.md +322 -0
  100. package/dist/lib/evg/PathBuilder.rgr +333 -0
  101. package/dist/lib/evg/README.md +1236 -0
  102. package/dist/lib/evg/SPEC.md +1252 -0
  103. package/dist/lib/evg/SVGPathParser.rgr +1199 -0
  104. package/dist/lib/evg/SvgParser.rgr +1736 -0
  105. package/dist/lib/evg/TODO_EVG_RENDERER.md +595 -0
  106. package/dist/lib/evg/VectorShapes.rgr +331 -0
  107. package/dist/lib/evg/VectorStroke.rgr +107 -0
  108. package/dist/lib/evg/VectorViewBox.rgr +380 -0
  109. package/dist/lib/evg/agent/README.md +290 -0
  110. package/dist/lib/evg/agent/evg_agent.rgr +899 -0
  111. package/dist/lib/evg/agent/fixtures/broken.evg.json +7 -0
  112. package/dist/lib/evg/agent/fixtures/card.evg.json +9 -0
  113. package/dist/lib/evg/agent/fixtures/connector.css +63 -0
  114. package/dist/lib/evg/agent/fixtures/connector.evg.json +14 -0
  115. package/dist/lib/evg/agent/fixtures/drawn.evg.json +129 -0
  116. package/dist/lib/evg/agent/fixtures/gradient.evg.json +4 -0
  117. package/dist/lib/evg/agent/fixtures/popover.css +99 -0
  118. package/dist/lib/evg/agent/fixtures/popover.evg.json +30 -0
  119. package/dist/lib/evg/agent/roundtrip.sh +74 -0
  120. package/dist/lib/evg/agent/smoke.sh +230 -0
  121. package/dist/lib/evg/android/README.md +97 -0
  122. package/dist/lib/evg/android/androidstubs/AndroidStubs.kt +175 -0
  123. package/dist/lib/evg/android/androidstubs/Annotation.kt +10 -0
  124. package/dist/lib/evg/android/androidstubs/App.kt +30 -0
  125. package/dist/lib/evg/android/androidstubs/Content.kt +41 -0
  126. package/dist/lib/evg/android/androidstubs/ContentRes.kt +12 -0
  127. package/dist/lib/evg/android/androidstubs/InputMethod.kt +46 -0
  128. package/dist/lib/evg/android/androidstubs/Net.kt +6 -0
  129. package/dist/lib/evg/android/androidstubs/Os.kt +30 -0
  130. package/dist/lib/evg/android/androidstubs/Util.kt +15 -0
  131. package/dist/lib/evg/android/androidstubs/View.kt +113 -0
  132. package/dist/lib/evg/android/androidstubs/Widget.kt +16 -0
  133. package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/AndroidEvgSurface.kt +323 -0
  134. package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/AndroidTextMeasurer.kt +56 -0
  135. package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/RippleEffect.kt +262 -0
  136. package/dist/lib/evg/android/src/awt/kotlin/fi/ranger/evg/AwtEvgSurface.kt +238 -0
  137. package/dist/lib/evg/android/src/awt/kotlin/fi/ranger/evg/AwtTextMeasurer.kt +85 -0
  138. package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgEngineThread.kt +115 -0
  139. package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgPainter.kt +231 -0
  140. package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgSurface.kt +117 -0
  141. package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/RecordingSurface.kt +94 -0
  142. package/dist/lib/evg/apple/README.md +128 -0
  143. package/dist/lib/evg/apple/Sources/CoreGraphicsEvgSurface.swift +329 -0
  144. package/dist/lib/evg/apple/Sources/CoreTextMeasurer.swift +70 -0
  145. package/dist/lib/evg/apple/Sources/EvgEngineQueue.swift +105 -0
  146. package/dist/lib/evg/apple/Sources/EvgPainter.swift +225 -0
  147. package/dist/lib/evg/apple/Sources/EvgSurface.swift +163 -0
  148. package/dist/lib/evg/apple/Sources/RecordingSurface.swift +110 -0
  149. package/dist/lib/evg/bench/EvgLayoutBench.rgr +34 -0
  150. package/dist/lib/evg/bench/README.md +64 -0
  151. package/dist/lib/evg/bench/layout-bench.mjs +316 -0
  152. package/dist/lib/evg/bench/layout-cases.mjs +510 -0
  153. package/dist/lib/evg/bench/layout-conformance.mjs +254 -0
  154. package/dist/lib/evg/bin/.gitignore +17 -0
  155. package/dist/lib/evg/evg_test.rgr +313 -0
  156. package/dist/lib/evg/gl/README.md +198 -0
  157. package/dist/lib/evg/gl/a11y-paint-check.mjs +73 -0
  158. package/dist/lib/evg/gl/blur-check.mjs +399 -0
  159. package/dist/lib/evg/gl/boxmodel.json +1 -0
  160. package/dist/lib/evg/gl/demo.html +46 -0
  161. package/dist/lib/evg/gl/effect-presets.css +285 -0
  162. package/dist/lib/evg/gl/effect-presets.js +63 -0
  163. package/dist/lib/evg/gl/effect-shots.mjs +135 -0
  164. package/dist/lib/evg/gl/evg-a11y.js +566 -0
  165. package/dist/lib/evg/gl/evg-binary.js +160 -0
  166. package/dist/lib/evg/gl/evg-engine.js +296 -0
  167. package/dist/lib/evg/gl/evg-fx.js +237 -0
  168. package/dist/lib/evg/gl/evg-gestures.js +209 -0
  169. package/dist/lib/evg/gl/evg-list.js +167 -0
  170. package/dist/lib/evg/gl/evg-measure.js +186 -0
  171. package/dist/lib/evg/gl/evg-textinput.js +303 -0
  172. package/dist/lib/evg/gl/evg-view.js +144 -0
  173. package/dist/lib/evg/gl/evg-webgl.js +3942 -0
  174. package/dist/lib/evg/gl/fx-check.mjs +998 -0
  175. package/dist/lib/evg/gl/fx-demo.html +166 -0
  176. package/dist/lib/evg/gl/fx-demo.js +2 -0
  177. package/dist/lib/evg/gl/fx-serve.mjs +47 -0
  178. package/dist/lib/evg/gl/gestures-check.mjs +189 -0
  179. package/dist/lib/evg/gl/list-binary-check.mjs +152 -0
  180. package/dist/lib/evg/gl/measure-check.mjs +135 -0
  181. package/dist/lib/evg/gl/rotation-check.mjs +207 -0
  182. package/dist/lib/evg/gl/shift-check.mjs +113 -0
  183. package/dist/lib/evg/gl/stroke-check.mjs +168 -0
  184. package/dist/lib/evg/gl/text-snap-check.mjs +139 -0
  185. package/dist/lib/evg/gl/view-check.mjs +343 -0
  186. package/dist/lib/evg/gl/view-policy-check.mjs +184 -0
  187. package/dist/lib/evg/html/evg-dom.js +318 -0
  188. package/dist/lib/evg/html/evg-html.js +600 -0
  189. package/dist/lib/evg/inspect/README.md +415 -0
  190. package/dist/lib/evg/inspect/browser-smoke.mjs +115 -0
  191. package/dist/lib/evg/inspect/evg-inspect.js +947 -0
  192. package/dist/lib/evg/inspect/shots/css.png +0 -0
  193. package/dist/lib/evg/inspect/shots/dashboard.png +0 -0
  194. package/dist/lib/evg/inspect/shots/pptx-slide.png +0 -0
  195. package/dist/lib/evg/inspect/shots/state.png +0 -0
  196. package/dist/lib/evg/inspect/shots.mjs +226 -0
  197. package/dist/lib/evg/oracle/css-blur.json +576 -0
  198. package/dist/lib/evg/oracle/css-box.json +157 -0
  199. package/dist/lib/evg/oracle/css-timing.json +709 -0
  200. package/dist/lib/evg/oracle/css_blur_oracle.mjs +529 -0
  201. package/dist/lib/evg/oracle/css_box_oracle.mjs +106 -0
  202. package/dist/lib/evg/oracle/css_timing_oracle.mjs +389 -0
  203. package/dist/lib/evg/original/EVGColor.clj +310 -0
  204. package/dist/lib/evg/original/EVGColorContext.rgr +178 -0
  205. package/dist/lib/evg/original/SVGPath.rgr +627 -0
  206. package/dist/lib/evg/original/Vec2.crgr +103 -0
  207. package/dist/lib/evg/ranger.json +9 -0
  208. package/dist/lib/evg/showcase/README.md +246 -0
  209. package/dist/lib/evg/showcase/assets/emblem.svg +30 -0
  210. package/dist/lib/evg/showcase/assets/rosette.svg +22 -0
  211. package/dist/lib/evg/showcase/build.mjs +651 -0
  212. package/dist/lib/evg/showcase/pages/album.tsx +30 -0
  213. package/dist/lib/evg/showcase/pages/boxmodel.tsx +37 -0
  214. package/dist/lib/evg/showcase/pages/cards.tsx +41 -0
  215. package/dist/lib/evg/showcase/pages/chart_api.tsx +170 -0
  216. package/dist/lib/evg/showcase/pages/charts.tsx +219 -0
  217. package/dist/lib/evg/showcase/pages/drawing.tsx +160 -0
  218. package/dist/lib/evg/showcase/pages/emoji.tsx +91 -0
  219. package/dist/lib/evg/showcase/pages/flex.tsx +46 -0
  220. package/dist/lib/evg/showcase/pages/more.tsx +332 -0
  221. package/dist/lib/evg/showcase/pages/plots.tsx +262 -0
  222. package/dist/lib/evg/showcase/pages/svg.tsx +63 -0
  223. package/dist/lib/evg/showcase/pages/tables.tsx +209 -0
  224. package/dist/lib/evg/showcase/pages/typography.tsx +43 -0
  225. package/dist/lib/evg/showcase/pages/units.tsx +35 -0
  226. package/dist/lib/evg/showcase/pages/variants.tsx +233 -0
  227. package/dist/lib/evg/showcase/pages/vector.tsx +75 -0
  228. package/dist/lib/evg/showcase/pages/views.tsx +223 -0
  229. package/dist/lib/evg/showcase/tests/chart_api_smoke.mjs +339 -0
  230. package/dist/lib/evg/showcase/tests/gl_smoke.mjs +125 -0
  231. package/dist/lib/evg/showcase/themes/chart_api-default.css +15 -0
  232. package/dist/lib/evg/showcase/themes/charts-default.css +29 -0
  233. package/dist/lib/evg/showcase/themes/drawing-default.css +35 -0
  234. package/dist/lib/evg/showcase/themes/more-default.css +128 -0
  235. package/dist/lib/evg/showcase/themes/plots-default.css +18 -0
  236. package/dist/lib/evg/showcase/themes/showcase.css +508 -0
  237. package/dist/lib/evg/showcase/themes/tables-default.css +123 -0
  238. package/dist/lib/evg/showcase/themes/variants-default.css +15 -0
  239. package/dist/lib/evg/showcase/themes/views-default.css +15 -0
  240. package/dist/lib/evg/tools/bench_vs_potrace.mjs +290 -0
  241. package/dist/lib/evg/tools/evg_image_tool.rgr +488 -0
  242. package/dist/lib/evg/tools/evg_trace_bench.rgr +114 -0
  243. package/dist/lib/evg/tools/evg_trace_cli.rgr +662 -0
  244. package/dist/lib/evg/tools/evg_trace_cpp_bench.rgr +83 -0
  245. package/dist/lib/evg/tools/run_trace_bench.sh +74 -0
  246. package/dist/lib/evg/tools/run_trace_cli_smoke.sh +128 -0
  247. package/dist/lib/evg/web/responsive/EvgResponsiveCheck.rgr +271 -0
  248. package/dist/lib/evg/web/responsive/EvgResponsiveDemo.rgr +531 -0
  249. package/dist/lib/evg/web/responsive/README.md +97 -0
  250. package/dist/lib/evg/web/responsive/build.mjs +90 -0
  251. package/dist/lib/evg/web/responsive/dom-check.mjs +169 -0
  252. package/dist/lib/evg/web/responsive/index.html +177 -0
  253. package/dist/lib/evg/web/responsive/smoke.mjs +221 -0
  254. package/dist/lib/evg/web/tools/assets-client.mjs +95 -0
  255. package/dist/lib/evg/web/tools/boot-bench.mjs +189 -0
  256. package/dist/lib/evg/web/tools/inline-assets.mjs +119 -0
  257. package/dist/lib/evg/web/tools/minify.mjs +60 -0
  258. package/dist/lib/evg/web/tracer/build.mjs +87 -0
  259. package/dist/lib/evg/web/tracer/index.html +2805 -0
  260. package/dist/lib/evg/web/tracer/sample.png +0 -0
  261. package/dist/lib/evg/web/tracer/smoke.mjs +1162 -0
  262. package/dist/lib/evgr/Cargo.lock +21 -0
  263. package/dist/lib/evgr/Cargo.toml +19 -0
  264. package/dist/lib/evgr/README.md +140 -0
  265. package/dist/lib/evgr/bench/NativeBench.rgr +246 -0
  266. package/dist/lib/evgr/bench/compare.mjs +252 -0
  267. package/dist/lib/evgr/bench/speed.mjs +277 -0
  268. package/dist/lib/evgr/bin/.gitignore +3 -0
  269. package/dist/lib/evgr/src/bin/bench.rs +106 -0
  270. package/dist/lib/evgr/src/bin/smoke.rs +13 -0
  271. package/dist/lib/evgr/src/grid.rs +730 -0
  272. package/dist/lib/evgr/src/lib.rs +1003 -0
  273. package/dist/lib/evgr/src/style.rs +468 -0
  274. package/dist/lib/evgr/src/text.rs +83 -0
  275. package/dist/lib/image/BitReader.rgr +171 -0
  276. package/dist/lib/image/Buffer.rgr +173 -0
  277. package/dist/lib/image/DCT.rgr +283 -0
  278. package/dist/lib/image/Deflate.rgr +339 -0
  279. package/dist/lib/image/HuffmanDecoder.rgr +181 -0
  280. package/dist/lib/image/ImageBuffer.rgr +706 -0
  281. package/dist/lib/image/JPEGDecoder.rgr +808 -0
  282. package/dist/lib/image/PNGDecoder.rgr +544 -0
  283. package/dist/lib/image/PNGEncoder.rgr +388 -0
  284. package/dist/lib/image/PPMImage.rgr +224 -0
  285. package/dist/lib/image/ProgressiveJPEGDecoder.rgr +1154 -0
  286. package/dist/lib/image/README.md +33 -0
  287. package/dist/lib/image/RasterBuffer.rgr +294 -0
  288. package/dist/lib/image/VP8BoolDecoder.rgr +163 -0
  289. package/dist/lib/image/WebPDecoder.rgr +433 -0
  290. package/dist/lib/image/WebPLossless.rgr +1035 -0
  291. package/dist/lib/image/WebPLossy.rgr +1929 -0
  292. package/dist/lib/image/ranger.json +9 -0
  293. package/dist/lib/image/testdata/webp/anim_2f_24x16.webp +0 -0
  294. package/dist/lib/image/testdata/webp/fixtures.txt +33 -0
  295. package/dist/lib/image/testdata/webp/gen_fixtures.py +261 -0
  296. package/dist/lib/image/testdata/webp/ll_1x1.webp +0 -0
  297. package/dist/lib/image/testdata/webp/ll_alpha_29x21.webp +0 -0
  298. package/dist/lib/image/testdata/webp/ll_gradient_64x64.webp +0 -0
  299. package/dist/lib/image/testdata/webp/ll_meta_32x32.webp +0 -0
  300. package/dist/lib/image/testdata/webp/ll_noise_17x9.webp +0 -0
  301. package/dist/lib/image/testdata/webp/ll_pal11_23x11.webp +0 -0
  302. package/dist/lib/image/testdata/webp/ll_pal2_19x7.webp +0 -0
  303. package/dist/lib/image/testdata/webp/ll_pal40_16x16.webp +0 -0
  304. package/dist/lib/image/testdata/webp/ll_pal4_13x5.webp +0 -0
  305. package/dist/lib/image/testdata/webp/ll_photo_40x30.webp +0 -0
  306. package/dist/lib/image/testdata/webp/ll_predictors_64x32.webp +0 -0
  307. package/dist/lib/image/testdata/webp/ly_1x1.webp +0 -0
  308. package/dist/lib/image/testdata/webp/ly_alph_raw_f0_21x13.webp +0 -0
  309. package/dist/lib/image/testdata/webp/ly_alph_raw_f1_21x13.webp +0 -0
  310. package/dist/lib/image/testdata/webp/ly_alph_raw_f2_21x13.webp +0 -0
  311. package/dist/lib/image/testdata/webp/ly_alph_raw_f3_21x13.webp +0 -0
  312. package/dist/lib/image/testdata/webp/ly_alph_vp8l_f0_21x13.webp +0 -0
  313. package/dist/lib/image/testdata/webp/ly_alph_vp8l_f1_21x13.webp +0 -0
  314. package/dist/lib/image/testdata/webp/ly_alph_vp8l_f2_21x13.webp +0 -0
  315. package/dist/lib/image/testdata/webp/ly_alph_vp8l_f3_21x13.webp +0 -0
  316. package/dist/lib/image/testdata/webp/ly_alpha_33x17.webp +0 -0
  317. package/dist/lib/image/testdata/webp/ly_exif_15x11.webp +0 -0
  318. package/dist/lib/image/testdata/webp/ly_i16_96x80.webp +0 -0
  319. package/dist/lib/image/testdata/webp/ly_nofilter_24x20.webp +0 -0
  320. package/dist/lib/image/testdata/webp/ly_odd_17x9.webp +0 -0
  321. package/dist/lib/image/testdata/webp/ly_photo_48x40.webp +0 -0
  322. package/dist/lib/image/testdata/webp/ly_q100_20x18.webp +0 -0
  323. package/dist/lib/image/testdata/webp/ly_sharp_40x36.webp +0 -0
  324. package/dist/lib/image/testdata/webp/ly_simple_filter_33x31.webp +0 -0
  325. package/dist/lib/image/testdata/webp/ly_vpx_parts8_37x45.webp +0 -0
  326. package/dist/lib/image/testdata/webp/ly_vpx_skip_96x80.webp +0 -0
  327. package/dist/lib/image/tests/WebPDecodeTool.rgr +81 -0
  328. package/dist/lib/image/tests/WebPDecoderTest.rgr +1162 -0
  329. package/dist/lib/image/tests/run_webp_tests.sh +39 -0
  330. package/dist/lib/rust/RsJson.rgr +468 -0
  331. package/dist/lib/rust/RsPrelude.rgr +1663 -0
  332. package/dist/lib/shell_test.rgr +7 -7
  333. package/dist/lib/stdlib.rgr +21 -5
  334. package/dist/lib/zip/ranger.json +6 -0
  335. package/dist/rgrc.js +87318 -67610
  336. package/package.json +1010 -1040
  337. package/dist/README.md +0 -117
  338. package/dist/package.json +0 -47
@@ -0,0 +1,262 @@
1
+ // GENERATED by gallery/vela/tools/vela_evg.rgr — do not edit by hand.
2
+ //
3
+ // Each chart below is an unmodified Vega specification, compiled from a
4
+ // Vega-Lite example, run through the Vela runtime and drawn with the EVG
5
+ // vector layer: every gridline, bar, wedge and label is path data and text
6
+ // this repository computed, in all three targets.
7
+ //
8
+ // Regenerate with: npm run vela:showcase
9
+
10
+ import { View, Label, Path } from "./evg_types";
11
+
12
+ function render() {
13
+ return (
14
+ <View className="page">
15
+ <Label className="title">Kaaviotyypit</Label>
16
+ <View className="rule" />
17
+ <View className="row chartRow">
18
+ <View className="chartCell">
19
+ <View className="chartBox">
20
+ <View className="chart" position="relative" width="206px" height="123px">
21
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
22
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,49.5 L201.5,49.5 M51.5,10.5 L201.5,10.5" />
23
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" d="M91.5,88.5 L91.5,93.5 M160.5,88.5 L160.5,93.5" />
24
+ <Label className="chartLabel" position="absolute" left="85.659px" top="89.5px" width="12.5px" textAlign="center" fontSize="10px" rotate="270">x</Label>
25
+ <Label className="chartLabel" position="absolute" left="153.841px" top="89.5px" width="12.5px" textAlign="center" fontSize="10px" rotate="270">y</Label>
26
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
27
+ <Label className="chartTitle" position="absolute" left="119.925px" top="107.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">g</Label>
28
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,49.5 L46.5,49.5 M51.5,10.5 L46.5,10.5" />
29
+ <Label className="chartLabel" position="absolute" left="31.875px" top="83.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
30
+ <Label className="chartLabel" position="absolute" left="25.25px" top="44.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
31
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
32
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
33
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
34
+ <Path className="chartFill0" position="absolute" left="0px" top="0px" width="206px" height="123px" viewBox="0 0 206 123" stroke="none" d="M64.6364,66.16 L70.697,66.16 L70.697,88 L64.6364,88 Z M138.8788,45.1 L144.9394,45.1 L144.9394,88 L138.8788,88 Z M76.7576,54.46 L82.8182,54.46 L82.8182,88 L76.7576,88 Z M151,17.02 L157.0606,17.02 L157.0606,88 L151,88 Z M88.8788,24.82 L94.9394,24.82 L94.9394,88 L88.8788,88 Z M163.1212,46.66 L169.1818,46.66 L169.1818,88 L163.1212,88 Z M101,73.18 L107.0606,73.18 L107.0606,88 L101,88 Z M175.2424,20.14 L181.303,20.14 L181.303,88 L175.2424,88 Z M113.1212,47.44 L119.1818,47.44 L119.1818,88 L113.1212,88 Z" />
35
+ </View>
36
+ </View>
37
+ <Label className="caption">Ryhmitelty pylväskaavio · 35 komentoa</Label>
38
+ </View>
39
+ <View className="chartCell">
40
+ <View className="chartBox">
41
+ <View className="chart" position="relative" width="206px" height="125px">
42
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
43
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" opacity="0.25" d="M70.5,10.5 L70.5,88.5 M107.5,10.5 L107.5,88.5 M145.5,10.5 L145.5,88.5 M182.5,10.5 L182.5,88.5" />
44
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,49.5 L201.5,49.5 M51.5,10.5 L201.5,10.5" />
45
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" d="M70.5,88.5 L70.5,93.5 M107.5,88.5 L107.5,93.5 M145.5,88.5 L145.5,93.5 M182.5,88.5 L182.5,93.5" />
46
+ <Label className="chartLabel" position="absolute" left="63.938px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
47
+ <Label className="chartLabel" position="absolute" left="101.438px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
48
+ <Label className="chartLabel" position="absolute" left="138.938px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
49
+ <Label className="chartLabel" position="absolute" left="176.438px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
50
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
51
+ <Label className="chartTitle" position="absolute" left="119.925px" top="109.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
52
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,49.5 L46.5,49.5 M51.5,10.5 L46.5,10.5" />
53
+ <Label className="chartLabel" position="absolute" left="31.875px" top="83.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
54
+ <Label className="chartLabel" position="absolute" left="25.25px" top="44.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
55
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
56
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
57
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
58
+ <Path className="chartFill0" position="absolute" left="0px" top="0px" width="206px" height="125px" viewBox="0 0 206 125" stroke="none" d="M51,20.14 L69.75,54.46 L88.5,47.44 L107.25,24.82 L126,66.16 L144.75,46.66 L163.5,17.02 L182.25,73.18 L201,45.1 L201,88 L182.25,88 L163.5,88 L144.75,88 L126,88 L107.25,88 L88.5,88 L69.75,88 L51,88 Z" />
59
+ </View>
60
+ </View>
61
+ <Label className="caption">Aluekaavio · 37 komentoa</Label>
62
+ </View>
63
+ </View>
64
+ <View className="row chartRow">
65
+ <View className="chartCell">
66
+ <View className="chartBox">
67
+ <View className="chart" position="relative" width="264px" height="134px">
68
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,12.5 L201.5,12.5 L201.5,90.5 L51.5,90.5 Z" />
69
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,12.5 L51.5,90.5 M84.5,12.5 L84.5,90.5 M118.5,12.5 L118.5,90.5 M151.5,12.5 L151.5,90.5 M184.5,12.5 L184.5,90.5" />
70
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,90.5 L201.5,90.5 M51.5,51.5 L201.5,51.5 M51.5,12.5 L201.5,12.5" />
71
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" d="M51.5,90.5 L51.5,95.5 M84.5,90.5 L84.5,95.5 M118.5,90.5 L118.5,95.5 M151.5,90.5 L151.5,95.5 M184.5,90.5 L184.5,95.5" />
72
+ <Label className="chartLabel" position="absolute" left="51.5px" top="97.5px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
73
+ <Label className="chartLabel" position="absolute" left="78.521px" top="97.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
74
+ <Label className="chartLabel" position="absolute" left="111.854px" top="97.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
75
+ <Label className="chartLabel" position="absolute" left="145.188px" top="97.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
76
+ <Label className="chartLabel" position="absolute" left="178.521px" top="97.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
77
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" d="M51.5,90.5 L201.5,90.5" />
78
+ <Label className="chartTitle" position="absolute" left="119.925px" top="111.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
79
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" d="M51.5,90.5 L46.5,90.5 M51.5,51.5 L46.5,51.5 M51.5,12.5 L46.5,12.5" />
80
+ <Label className="chartLabel" position="absolute" left="31.875px" top="85.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
81
+ <Label className="chartLabel" position="absolute" left="25.25px" top="46.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
82
+ <Label className="chartLabel" position="absolute" left="18.625px" top="7.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
83
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1" d="M51.5,90.5 L51.5,12.5" />
84
+ <Label className="chartTitle" position="absolute" left="3.325px" top="44.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
85
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="2" opacity="0.7" d="M139.6683,68.16 C139.6683,71.1064 137.2797,73.4949 134.3333,73.4949 C131.3869,73.4949 128.9984,71.1064 128.9984,68.16 C128.9984,65.2136 131.3869,62.8251 134.3333,62.8251 C137.2797,62.8251 139.6683,65.2136 139.6683,68.16 Z M208.4123,47.1 C208.4123,51.1937 205.0937,54.5123 201,54.5123 C196.9063,54.5123 193.5877,51.1937 193.5877,47.1 C193.5877,43.0063 196.9063,39.6877 201,39.6877 C205.0937,39.6877 208.4123,43.0063 208.4123,47.1 Z M90.904,56.46 C90.904,60.0889 87.9622,63.0306 84.3333,63.0306 C80.7045,63.0306 77.7627,60.0889 77.7627,56.46 C77.7627,52.8311 80.7045,49.8894 84.3333,49.8894 C87.9622,49.8894 90.904,52.8311 90.904,56.46 Z M177.1667,19.02 C177.1667,24.2667 172.9134,28.52 167.6667,28.52 C162.42,28.52 158.1667,24.2667 158.1667,19.02 C158.1667,13.7733 162.42,9.52 167.6667,9.52 C172.9134,9.52 177.1667,13.7733 177.1667,19.02 Z M126.6356,26.82 C126.6356,31.7734 122.6201,35.789 117.6667,35.789 C112.7132,35.789 108.6977,31.7734 108.6977,26.82 C108.6977,21.8666 112.7132,17.851 117.6667,17.851 C122.6201,17.851 126.6356,21.8666 126.6356,26.82 Z M158.2788,48.66 C158.2788,52.68 155.02,55.9388 151,55.9388 C146.98,55.9388 143.7212,52.68 143.7212,48.66 C143.7212,44.64 146.98,41.3812 151,41.3812 C155.02,41.3812 158.2788,44.64 158.2788,48.66 Z M188.7644,75.18 C188.7644,77.6272 186.7806,79.6111 184.3333,79.6111 C181.8861,79.6111 179.9022,77.6272 179.9022,75.18 C179.9022,72.7328 181.8861,70.7489 184.3333,70.7489 C186.7806,70.7489 188.7644,72.7328 188.7644,75.18 Z M76.9579,22.14 C76.9579,27.2714 72.7981,31.4312 67.6667,31.4312 C62.5353,31.4312 58.3754,27.2714 58.3754,22.14 C58.3754,17.0086 62.5353,12.8488 67.6667,12.8488 C72.7981,12.8488 76.9579,17.0086 76.9579,22.14 Z M108.2111,49.44 C108.2111,53.4226 104.9826,56.6511 101,56.6511 C97.0174,56.6511 93.7889,53.4226 93.7889,49.44 C93.7889,45.4574 97.0174,42.2289 101,42.2289 C104.9826,42.2289 108.2111,45.4574 108.2111,49.44 Z" />
86
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1.5" opacity="0.7" d="M230,33 C230,33.5523 229.5523,34 229,34 C228.4477,34 228,33.5523 228,33 C228,32.4477 228.4477,32 229,32 C229.5523,32 230,32.4477 230,33 Z" />
87
+ <Label className="chartLabel" position="absolute" left="243px" top="28px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
88
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1.5" opacity="0.7" d="M233.5404,48.5 C233.5404,51.0076 231.5076,53.0404 229,53.0404 C226.4924,53.0404 224.4596,51.0076 224.4596,48.5 C224.4596,45.9924 226.4924,43.9596 229,43.9596 C231.5076,43.9596 233.5404,45.9924 233.5404,48.5 Z" />
89
+ <Label className="chartLabel" position="absolute" left="243px" top="43.5px" width="19.25px" textAlign="left" fontSize="10px">20</Label>
90
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1.5" opacity="0.7" d="M235.3428,68.5 C235.3428,72.003 232.503,74.8428 229,74.8428 C225.497,74.8428 222.6572,72.003 222.6572,68.5 C222.6572,64.997 225.497,62.1572 229,62.1572 C232.503,62.1572 235.3428,64.997 235.3428,68.5 Z" />
91
+ <Label className="chartLabel" position="absolute" left="243px" top="63.5px" width="19.25px" textAlign="left" fontSize="10px">40</Label>
92
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1.5" opacity="0.7" d="M236.736,91.5 C236.736,95.7725 233.2725,99.236 229,99.236 C224.7275,99.236 221.264,95.7725 221.264,91.5 C221.264,87.2275 224.7275,83.764 229,83.764 C233.2725,83.764 236.736,87.2275 236.736,91.5 Z" />
93
+ <Label className="chartLabel" position="absolute" left="243px" top="86.5px" width="19.25px" textAlign="left" fontSize="10px">60</Label>
94
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="264px" height="134px" viewBox="0 0 264 134" fill="none" strokeWidth="1.5" opacity="0.7" d="M237.9141,117 C237.9141,121.9231 233.9231,125.9141 229,125.9141 C224.0769,125.9141 220.0859,121.9231 220.0859,117 C220.0859,112.0769 224.0769,108.0859 229,108.0859 C233.9231,108.0859 237.9141,112.0769 237.9141,117 Z" />
95
+ <Label className="chartLabel" position="absolute" left="243px" top="112px" width="19.25px" textAlign="left" fontSize="10px">80</Label>
96
+ <Label className="chartTitle" position="absolute" left="219px" top="12px" width="13.15px" textAlign="left" fontSize="11px" fontWeight="bold">b</Label>
97
+ </View>
98
+ </View>
99
+ <Label className="caption">Kuplakaavio · kokoselite · 73 komentoa</Label>
100
+ </View>
101
+ <View className="chartCell">
102
+ <View className="chartBox">
103
+ <View className="chart" position="relative" width="248px" height="125px">
104
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
105
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,10.5 L51.5,88.5 M84.5,10.5 L84.5,88.5 M118.5,10.5 L118.5,88.5 M151.5,10.5 L151.5,88.5 M184.5,10.5 L184.5,88.5" />
106
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,49.5 L201.5,49.5 M51.5,10.5 L201.5,10.5" />
107
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,93.5 M84.5,88.5 L84.5,93.5 M118.5,88.5 L118.5,93.5 M151.5,88.5 L151.5,93.5 M184.5,88.5 L184.5,93.5" />
108
+ <Label className="chartLabel" position="absolute" left="51.5px" top="95.5px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
109
+ <Label className="chartLabel" position="absolute" left="78.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
110
+ <Label className="chartLabel" position="absolute" left="111.854px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
111
+ <Label className="chartLabel" position="absolute" left="145.188px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
112
+ <Label className="chartLabel" position="absolute" left="178.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
113
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
114
+ <Label className="chartTitle" position="absolute" left="119.925px" top="109.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
115
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,49.5 L46.5,49.5 M51.5,10.5 L46.5,10.5" />
116
+ <Label className="chartLabel" position="absolute" left="31.875px" top="83.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
117
+ <Label className="chartLabel" position="absolute" left="25.25px" top="44.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
118
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
119
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
120
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
121
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M137.0719,66.16 C137.0719,67.6725 135.8458,68.8986 134.3333,68.8986 C132.8208,68.8986 131.5947,67.6725 131.5947,66.16 C131.5947,64.6475 132.8208,63.4214 134.3333,63.4214 C135.8458,63.4214 137.0719,64.6475 137.0719,66.16 Z" />
122
+ <Path className="chartStroke1" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M203.7386,45.1 C203.7386,46.6125 202.5125,47.8386 201,47.8386 C199.4875,47.8386 198.2614,46.6125 198.2614,45.1 C198.2614,43.5875 199.4875,42.3614 201,42.3614 C202.5125,42.3614 203.7386,43.5875 203.7386,45.1 Z" />
123
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M87.0719,54.46 C87.0719,55.9725 85.8458,57.1986 84.3333,57.1986 C82.8208,57.1986 81.5947,55.9725 81.5947,54.46 C81.5947,52.9475 82.8208,51.7214 84.3333,51.7214 C85.8458,51.7214 87.0719,52.9475 87.0719,54.46 Z" />
124
+ <Path className="chartStroke1" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M170.4053,17.02 C170.4053,18.5325 169.1792,19.7586 167.6667,19.7586 C166.1542,19.7586 164.9281,18.5325 164.9281,17.02 C164.9281,15.5075 166.1542,14.2814 167.6667,14.2814 C169.1792,14.2814 170.4053,15.5075 170.4053,17.02 Z" />
125
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M120.4053,24.82 C120.4053,26.3325 119.1792,27.5586 117.6667,27.5586 C116.1542,27.5586 114.9281,26.3325 114.9281,24.82 C114.9281,23.3075 116.1542,22.0814 117.6667,22.0814 C119.1792,22.0814 120.4053,23.3075 120.4053,24.82 Z" />
126
+ <Path className="chartStroke1" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M153.7386,46.66 C153.7386,48.1725 152.5125,49.3986 151,49.3986 C149.4875,49.3986 148.2614,48.1725 148.2614,46.66 C148.2614,45.1475 149.4875,43.9214 151,43.9214 C152.5125,43.9214 153.7386,45.1475 153.7386,46.66 Z" />
127
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M187.0719,73.18 C187.0719,74.6925 185.8458,75.9186 184.3333,75.9186 C182.8208,75.9186 181.5947,74.6925 181.5947,73.18 C181.5947,71.6675 182.8208,70.4414 184.3333,70.4414 C185.8458,70.4414 187.0719,71.6675 187.0719,73.18 Z" />
128
+ <Path className="chartStroke1" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M70.4053,20.14 C70.4053,21.6525 69.1792,22.8786 67.6667,22.8786 C66.1542,22.8786 64.9281,21.6525 64.9281,20.14 C64.9281,18.6275 66.1542,17.4014 67.6667,17.4014 C69.1792,17.4014 70.4053,18.6275 70.4053,20.14 Z" />
129
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="2" opacity="0.7" d="M103.7386,47.44 C103.7386,48.9525 102.5125,50.1786 101,50.1786 C99.4875,50.1786 98.2614,48.9525 98.2614,47.44 C98.2614,45.9275 99.4875,44.7014 101,44.7014 C102.5125,44.7014 103.7386,45.9275 103.7386,47.44 Z" />
130
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1.5" opacity="0.7" d="M230,32 C230,34.7614 227.7614,37 225,37 C222.2386,37 220,34.7614 220,32 C220,29.2386 222.2386,27 225,27 C227.7614,27 230,29.2386 230,32 Z" />
131
+ <Label className="chartLabel" position="absolute" left="235px" top="27px" width="12.5px" textAlign="left" fontSize="10px">x</Label>
132
+ <Path className="chartStroke1" position="absolute" left="0px" top="0px" width="248px" height="125px" viewBox="0 0 248 125" fill="none" strokeWidth="1.5" opacity="0.7" d="M230,50 C230,52.7614 227.7614,55 225,55 C222.2386,55 220,52.7614 220,50 C220,47.2386 222.2386,45 225,45 C227.7614,45 230,47.2386 230,50 Z" />
133
+ <Label className="chartLabel" position="absolute" left="235px" top="45px" width="12.5px" textAlign="left" fontSize="10px">y</Label>
134
+ <Label className="chartTitle" position="absolute" left="219px" top="10px" width="13.15px" textAlign="left" fontSize="11px" fontWeight="bold">g</Label>
135
+ </View>
136
+ </View>
137
+ <Label className="caption">Hajonta · väriselite · 61 komentoa</Label>
138
+ </View>
139
+ </View>
140
+ <View className="row chartRow">
141
+ <View className="chartCell">
142
+ <View className="chartBox">
143
+ <View className="chart" position="relative" width="213px" height="125px">
144
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
145
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,10.5 L51.5,88.5 M84.5,10.5 L84.5,88.5 M118.5,10.5 L118.5,88.5 M151.5,10.5 L151.5,88.5 M184.5,10.5 L184.5,88.5" />
146
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,65.5 L201.5,65.5 M51.5,51.5 L201.5,51.5 M51.5,41.5 L201.5,41.5 M51.5,33.5 L201.5,33.5 M51.5,27.5 L201.5,27.5 M51.5,22.5 L201.5,22.5 M51.5,18.5 L201.5,18.5 M51.5,14.5 L201.5,14.5 M51.5,10.5 L201.5,10.5" />
147
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,93.5 M84.5,88.5 L84.5,93.5 M118.5,88.5 L118.5,93.5 M151.5,88.5 L151.5,93.5 M184.5,88.5 L184.5,93.5" />
148
+ <Label className="chartLabel" position="absolute" left="51.5px" top="95.5px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
149
+ <Label className="chartLabel" position="absolute" left="78.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
150
+ <Label className="chartLabel" position="absolute" left="111.854px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
151
+ <Label className="chartLabel" position="absolute" left="145.188px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
152
+ <Label className="chartLabel" position="absolute" left="178.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
153
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
154
+ <Label className="chartTitle" position="absolute" left="119.925px" top="109.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
155
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,65.5 L46.5,65.5 M51.5,51.5 L46.5,51.5 M51.5,41.5 L46.5,41.5 M51.5,33.5 L46.5,33.5 M51.5,27.5 L46.5,27.5 M51.5,22.5 L46.5,22.5 M51.5,18.5 L46.5,18.5 M51.5,14.5 L46.5,14.5 M51.5,10.5 L46.5,10.5" />
156
+ <Label className="chartLabel" position="absolute" left="25.25px" top="83.5px" width="19.25px" textAlign="right" fontSize="10px">10</Label>
157
+ <Label className="chartLabel" position="absolute" left="25.25px" top="60.02px" width="19.25px" textAlign="right" fontSize="10px">20</Label>
158
+ <Label className="chartLabel" position="absolute" left="25.25px" top="46.285px" width="19.25px" textAlign="right" fontSize="10px">30</Label>
159
+ <Label className="chartLabel" position="absolute" left="25.25px" top="28.98px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
160
+ <Label className="chartLabel" position="absolute" left="25.25px" top="17.582px" width="19.25px" textAlign="right" fontSize="10px">70</Label>
161
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
162
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
163
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
164
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="2" opacity="0.7" d="M137.0719,53.1217 C137.0719,54.6342 135.8458,55.8603 134.3333,55.8603 C132.8208,55.8603 131.5947,54.6342 131.5947,53.1217 C131.5947,51.6092 132.8208,50.3831 134.3333,50.3831 C135.8458,50.3831 137.0719,51.6092 137.0719,53.1217 Z M203.7386,30.2517 C203.7386,31.7642 202.5125,32.9903 201,32.9903 C199.4875,32.9903 198.2614,31.7642 198.2614,30.2517 C198.2614,28.7392 199.4875,27.5131 201,27.5131 C202.5125,27.5131 203.7386,28.7392 203.7386,30.2517 Z M87.0719,38.5895 C87.0719,40.102 85.8458,41.3281 84.3333,41.3281 C82.8208,41.3281 81.5947,40.102 81.5947,38.5895 C81.5947,37.077 82.8208,35.8508 84.3333,35.8508 C85.8458,35.8508 87.0719,37.077 87.0719,38.5895 Z M170.4053,13.1948 C170.4053,14.7073 169.1792,15.9334 167.6667,15.9334 C166.1542,15.9334 164.9281,14.7073 164.9281,13.1948 C164.9281,11.6823 166.1542,10.4562 167.6667,10.4562 C169.1792,10.4562 170.4053,11.6823 170.4053,13.1948 Z M120.4053,17.1382 C120.4053,18.6507 119.1792,19.8768 117.6667,19.8768 C116.1542,19.8768 114.9281,18.6507 114.9281,17.1382 C114.9281,15.6257 116.1542,14.3996 117.6667,14.3996 C119.1792,14.3996 120.4053,15.6257 120.4053,17.1382 Z M153.7386,31.5065 C153.7386,33.019 152.5125,34.2451 151,34.2451 C149.4875,34.2451 148.2614,33.019 148.2614,31.5065 C148.2614,29.994 149.4875,28.7679 151,28.7679 C152.5125,28.7679 153.7386,29.994 153.7386,31.5065 Z M187.0719,66.2572 C187.0719,67.7697 185.8458,68.9958 184.3333,68.9958 C182.8208,68.9958 181.5947,67.7697 181.5947,66.2572 C181.5947,64.7447 182.8208,63.5186 184.3333,63.5186 C185.8458,63.5186 187.0719,64.7447 187.0719,66.2572 Z M70.4053,14.7175 C70.4053,16.23 69.1792,17.4561 67.6667,17.4561 C66.1542,17.4561 64.9281,16.23 64.9281,14.7175 C64.9281,13.205 66.1542,11.9789 67.6667,11.9789 C69.1792,11.9789 70.4053,13.205 70.4053,14.7175 Z M103.7386,32.1517 C103.7386,33.6642 102.5125,34.8904 101,34.8904 C99.4875,34.8904 98.2614,33.6642 98.2614,32.1517 C98.2614,30.6392 99.4875,29.4131 101,29.4131 C102.5125,29.4131 103.7386,30.6392 103.7386,32.1517 Z" />
165
+ </View>
166
+ </View>
167
+ <Label className="caption">Logaritminen asteikko · 69 komentoa</Label>
168
+ </View>
169
+ <View className="chartCell">
170
+ <View className="chartBox">
171
+ <View className="chart" position="relative" width="213px" height="125px">
172
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
173
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.25" d="M70.5,10.5 L70.5,88.5 M107.5,10.5 L107.5,88.5 M145.5,10.5 L145.5,88.5 M182.5,10.5 L182.5,88.5" />
174
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,49.5 L201.5,49.5 M51.5,10.5 L201.5,10.5" />
175
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M70.5,88.5 L70.5,93.5 M107.5,88.5 L107.5,93.5 M145.5,88.5 L145.5,93.5 M182.5,88.5 L182.5,93.5" />
176
+ <Label className="chartLabel" position="absolute" left="63.938px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
177
+ <Label className="chartLabel" position="absolute" left="101.438px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
178
+ <Label className="chartLabel" position="absolute" left="138.938px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
179
+ <Label className="chartLabel" position="absolute" left="176.438px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
180
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
181
+ <Label className="chartTitle" position="absolute" left="119.925px" top="109.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
182
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,49.5 L46.5,49.5 M51.5,10.5 L46.5,10.5" />
183
+ <Label className="chartLabel" position="absolute" left="31.875px" top="83.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
184
+ <Label className="chartLabel" position="absolute" left="25.25px" top="44.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
185
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
186
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
187
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
188
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="2" d="M51,20.14 L69.75,54.46 L88.5,47.44 L107.25,24.82 L126,66.16 L144.75,46.66 L163.5,17.02 L182.25,73.18 L201,45.1" />
189
+ <Path className="chartStroke0" position="absolute" left="0px" top="0px" width="213px" height="125px" viewBox="0 0 213 125" fill="none" strokeWidth="2" opacity="0.7" d="M128.7386,66.16 C128.7386,67.6725 127.5125,68.8986 126,68.8986 C124.4875,68.8986 123.2614,67.6725 123.2614,66.16 C123.2614,64.6475 124.4875,63.4214 126,63.4214 C127.5125,63.4214 128.7386,64.6475 128.7386,66.16 Z M203.7386,45.1 C203.7386,46.6125 202.5125,47.8386 201,47.8386 C199.4875,47.8386 198.2614,46.6125 198.2614,45.1 C198.2614,43.5875 199.4875,42.3614 201,42.3614 C202.5125,42.3614 203.7386,43.5875 203.7386,45.1 Z M72.4886,54.46 C72.4886,55.9725 71.2625,57.1986 69.75,57.1986 C68.2375,57.1986 67.0114,55.9725 67.0114,54.46 C67.0114,52.9475 68.2375,51.7214 69.75,51.7214 C71.2625,51.7214 72.4886,52.9475 72.4886,54.46 Z M166.2386,17.02 C166.2386,18.5325 165.0125,19.7586 163.5,19.7586 C161.9875,19.7586 160.7614,18.5325 160.7614,17.02 C160.7614,15.5075 161.9875,14.2814 163.5,14.2814 C165.0125,14.2814 166.2386,15.5075 166.2386,17.02 Z M109.9886,24.82 C109.9886,26.3325 108.7625,27.5586 107.25,27.5586 C105.7375,27.5586 104.5114,26.3325 104.5114,24.82 C104.5114,23.3075 105.7375,22.0814 107.25,22.0814 C108.7625,22.0814 109.9886,23.3075 109.9886,24.82 Z M147.4886,46.66 C147.4886,48.1725 146.2625,49.3986 144.75,49.3986 C143.2375,49.3986 142.0114,48.1725 142.0114,46.66 C142.0114,45.1475 143.2375,43.9214 144.75,43.9214 C146.2625,43.9214 147.4886,45.1475 147.4886,46.66 Z M184.9886,73.18 C184.9886,74.6925 183.7625,75.9186 182.25,75.9186 C180.7375,75.9186 179.5114,74.6925 179.5114,73.18 C179.5114,71.6675 180.7375,70.4414 182.25,70.4414 C183.7625,70.4414 184.9886,71.6675 184.9886,73.18 Z M53.7386,20.14 C53.7386,21.6525 52.5125,22.8786 51,22.8786 C49.4875,22.8786 48.2614,21.6525 48.2614,20.14 C48.2614,18.6275 49.4875,17.4014 51,17.4014 C52.5125,17.4014 53.7386,18.6275 53.7386,20.14 Z M91.2386,47.44 C91.2386,48.9525 90.0125,50.1786 88.5,50.1786 C86.9875,50.1786 85.7614,48.9525 85.7614,47.44 C85.7614,45.9275 86.9875,44.7014 88.5,44.7014 C90.0125,44.7014 91.2386,45.9275 91.2386,47.44 Z" />
190
+ </View>
191
+ </View>
192
+ <Label className="caption">Kerrostetut merkit · 46 komentoa</Label>
193
+ </View>
194
+ </View>
195
+ <View className="row chartRow">
196
+ <View className="chartCell">
197
+ <View className="chartBox">
198
+ <View className="chart" position="relative" width="210px" height="125px">
199
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" opacity="0.4" d="M51.5,10.5 L201.5,10.5 L201.5,88.5 L51.5,88.5 Z" />
200
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,10.5 L51.5,88.5 M84.5,10.5 L84.5,88.5 M118.5,10.5 L118.5,88.5 M151.5,10.5 L151.5,88.5 M184.5,10.5 L184.5,88.5" />
201
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" opacity="0.25" d="M51.5,88.5 L201.5,88.5 M51.5,49.5 L201.5,49.5 M51.5,10.5 L201.5,10.5" />
202
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,93.5 M84.5,88.5 L84.5,93.5 M118.5,88.5 L118.5,93.5 M151.5,88.5 L151.5,93.5 M184.5,88.5 L184.5,93.5" />
203
+ <Label className="chartLabel" position="absolute" left="51.5px" top="95.5px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
204
+ <Label className="chartLabel" position="absolute" left="78.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">2</Label>
205
+ <Label className="chartLabel" position="absolute" left="111.854px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">4</Label>
206
+ <Label className="chartLabel" position="absolute" left="145.188px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">6</Label>
207
+ <Label className="chartLabel" position="absolute" left="178.521px" top="95.5px" width="12.625px" textAlign="center" fontSize="10px">8</Label>
208
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" d="M51.5,88.5 L201.5,88.5" />
209
+ <Label className="chartTitle" position="absolute" left="119.925px" top="109.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">c</Label>
210
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" d="M51.5,88.5 L46.5,88.5 M51.5,49.5 L46.5,49.5 M51.5,10.5 L46.5,10.5" />
211
+ <Label className="chartLabel" position="absolute" left="31.875px" top="83.5px" width="12.625px" textAlign="right" fontSize="10px">0</Label>
212
+ <Label className="chartLabel" position="absolute" left="25.25px" top="44.5px" width="19.25px" textAlign="right" fontSize="10px">50</Label>
213
+ <Label className="chartLabel" position="absolute" left="18.625px" top="5.5px" width="25.875px" textAlign="right" fontSize="10px">100</Label>
214
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="210px" height="125px" viewBox="0 0 210 125" fill="none" strokeWidth="1" d="M51.5,88.5 L51.5,10.5" />
215
+ <Label className="chartTitle" position="absolute" left="3.325px" top="42.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">b</Label>
216
+ <Label className="chartText2" position="absolute" left="126.865px" top="60.66px" width="14.938px" textAlign="center" fontSize="11px">A</Label>
217
+ <Label className="chartText2" position="absolute" left="193.531px" top="39.6px" width="14.938px" textAlign="center" fontSize="11px">B</Label>
218
+ <Label className="chartText2" position="absolute" left="76.865px" top="48.96px" width="14.938px" textAlign="center" fontSize="11px">C</Label>
219
+ <Label className="chartText2" position="absolute" left="160.198px" top="11.52px" width="14.938px" textAlign="center" fontSize="11px">D</Label>
220
+ <Label className="chartText2" position="absolute" left="110.198px" top="19.32px" width="14.938px" textAlign="center" fontSize="11px">E</Label>
221
+ <Label className="chartText2" position="absolute" left="143.531px" top="41.16px" width="14.938px" textAlign="center" fontSize="11px">F</Label>
222
+ <Label className="chartText2" position="absolute" left="176.865px" top="67.68px" width="14.938px" textAlign="center" fontSize="11px">G</Label>
223
+ <Label className="chartText2" position="absolute" left="60.198px" top="14.64px" width="14.938px" textAlign="center" fontSize="11px">H</Label>
224
+ <Label className="chartText2" position="absolute" left="93.531px" top="41.94px" width="14.938px" textAlign="center" fontSize="11px">I</Label>
225
+ </View>
226
+ </View>
227
+ <Label className="caption">Tekstimerkit · 48 komentoa</Label>
228
+ </View>
229
+ <View className="chartCell">
230
+ <View className="chartBox">
231
+ <View className="chart" position="relative" width="191px" height="150px">
232
+ <Path className="chartFrame" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" opacity="0.4" d="M35.5,5.5 L185.5,5.5 L185.5,113.5 L35.5,113.5 Z" />
233
+ <Path className="chartGrid" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" opacity="0.25" d="M35.5,113.5 L35.5,5.5 M65.5,113.5 L65.5,5.5 M95.5,113.5 L95.5,5.5 M125.5,113.5 L125.5,5.5 M155.5,113.5 L155.5,5.5 M185.5,113.5 L185.5,5.5" />
234
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" d="M35.5,113.5 L35.5,118.5 M65.5,113.5 L65.5,118.5 M95.5,113.5 L95.5,118.5 M125.5,113.5 L125.5,118.5 M155.5,113.5 L155.5,118.5 M185.5,113.5 L185.5,118.5" />
235
+ <Label className="chartLabel" position="absolute" left="35.5px" top="120.5px" width="12.625px" textAlign="left" fontSize="10px">0</Label>
236
+ <Label className="chartLabel" position="absolute" left="85.875px" top="120.5px" width="19.25px" textAlign="center" fontSize="10px">40</Label>
237
+ <Label className="chartLabel" position="absolute" left="145.875px" top="120.5px" width="19.25px" textAlign="center" fontSize="10px">80</Label>
238
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" d="M35.5,113.5 L185.5,113.5" />
239
+ <Label className="chartTitle" position="absolute" left="103.925px" top="134.5px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold">b</Label>
240
+ <Path className="chartTick" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" d="M35.5,11.5 L30.5,11.5 M35.5,23.5 L30.5,23.5 M35.5,35.5 L30.5,35.5 M35.5,47.5 L30.5,47.5 M35.5,59.5 L30.5,59.5 M35.5,71.5 L30.5,71.5 M35.5,83.5 L30.5,83.5 M35.5,95.5 L30.5,95.5 M35.5,107.5 L30.5,107.5" />
241
+ <Label className="chartLabel" position="absolute" left="14.375px" top="6px" width="14.125px" textAlign="right" fontSize="10px">A</Label>
242
+ <Label className="chartLabel" position="absolute" left="14.375px" top="18px" width="14.125px" textAlign="right" fontSize="10px">B</Label>
243
+ <Label className="chartLabel" position="absolute" left="14.375px" top="30px" width="14.125px" textAlign="right" fontSize="10px">C</Label>
244
+ <Label className="chartLabel" position="absolute" left="14.375px" top="42px" width="14.125px" textAlign="right" fontSize="10px">D</Label>
245
+ <Label className="chartLabel" position="absolute" left="14.375px" top="54px" width="14.125px" textAlign="right" fontSize="10px">E</Label>
246
+ <Label className="chartLabel" position="absolute" left="14.375px" top="66px" width="14.125px" textAlign="right" fontSize="10px">F</Label>
247
+ <Label className="chartLabel" position="absolute" left="14.375px" top="78px" width="14.125px" textAlign="right" fontSize="10px">G</Label>
248
+ <Label className="chartLabel" position="absolute" left="14.375px" top="90px" width="14.125px" textAlign="right" fontSize="10px">H</Label>
249
+ <Label className="chartLabel" position="absolute" left="14.375px" top="102px" width="14.125px" textAlign="right" fontSize="10px">I</Label>
250
+ <Path className="chartDomain" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" fill="none" strokeWidth="1" d="M35.5,5.5 L35.5,113.5" />
251
+ <Label className="chartTitle" position="absolute" left="3.325px" top="52.9px" width="13.15px" textAlign="center" fontSize="11px" fontWeight="bold" rotate="-90">a</Label>
252
+ <Path className="chartFill0" position="absolute" left="0px" top="0px" width="191px" height="150px" viewBox="0 0 191 150" stroke="none" opacity="0.7" d="M76.5,6.5 L77.5,6.5 L77.5,15.5 L76.5,15.5 Z M117,18.5 L118,18.5 L118,27.5 L117,27.5 Z M99,30.5 L100,30.5 L100,39.5 L99,39.5 Z M171,42.5 L172,42.5 L172,51.5 L171,51.5 Z M156,54.5 L157,54.5 L157,63.5 L156,63.5 Z M114,66.5 L115,66.5 L115,75.5 L114,75.5 Z M63,78.5 L64,78.5 L64,87.5 L63,87.5 Z M165,90.5 L166,90.5 L166,99.5 L165,99.5 Z M112.5,102.5 L113.5,102.5 L113.5,111.5 L112.5,111.5 Z" />
253
+ </View>
254
+ </View>
255
+ <Label className="caption">Viivamerkit · 58 komentoa</Label>
256
+ </View>
257
+ </View>
258
+ </View>
259
+ );
260
+ }
261
+
262
+ export default render;
@@ -0,0 +1,63 @@
1
+ import { View, Label, Svg } from "./evg_types";
2
+
3
+ /**
4
+ * Imported SVG documents. Each <Svg> below names a file, and the file is read
5
+ * once into the shared vector layer: groups resolved, paint inherited,
6
+ * transforms baked into the geometry, <use> expanded where it is referenced.
7
+ * What every target then draws is the same flat list of shapes — real vector
8
+ * operators in the PDF, one <path> per shape in the HTML, and the same
9
+ * anti-aliased scanline fill that paints this page's glyphs in the PNG.
10
+ *
11
+ * The HTML is worth a word: the original markup is NOT handed to the browser.
12
+ * It goes through the importer like the other two, because a construct outside
13
+ * the supported profile has to be missing from the preview in the same way it
14
+ * will be missing from the print. A preview that draws more than the printer
15
+ * can is not a preview.
16
+ *
17
+ * rosette.svg names no colours at all, so it takes the fill of the element that
18
+ * hosts it and the theme paints it — the gallery's rule holding for a file it
19
+ * does not own. emblem.svg brings its own palette, and keeps it.
20
+ */
21
+ function render() {
22
+ return (
23
+ <View className="page">
24
+ <Label className="title">Tuotu SVG</Label>
25
+ <View className="rule" />
26
+
27
+ <Label className="subhead">Yksi tiedosto, kolme kokoa</Label>
28
+ <View className="row vecRow">
29
+ <Svg className="art artSm" src="../assets/rosette.svg" />
30
+ <Svg className="art artMd" src="../assets/rosette.svg" />
31
+ <Svg className="art artLg" src="../assets/rosette.svg" />
32
+ </View>
33
+ <Label className="caption">
34
+ Tiedostossa terälehti on määritelty kerran ja toistettu kahdeksana viittauksena, joista kukin on
35
+ kierretty omaan kulmaansa. Tuonti purkaa viittaukset ja kirjoittaa kierrot suoraan geometriaan,
36
+ joten piirtäjän ei tarvitse ylläpitää muunnospinoa — se piirtää listan muotoja.
37
+ </Label>
38
+
39
+ <Label className="subhead">Väri tulee sivulta, ei tiedostosta</Label>
40
+ <View className="row vecRow">
41
+ <Svg className="art artMd" src="../assets/rosette.svg" />
42
+ <Svg className="art artMd artAccent" src="../assets/rosette.svg" />
43
+ <Svg className="art artMd artMuted" src="../assets/rosette.svg" />
44
+ </View>
45
+ <Label className="caption">
46
+ Sama tiedosto kolmesti. Se ei nimeä yhtään väriä, joten elementin täyttö on se, jonka muodot
47
+ perivät — kuten käsin kirjoitetussa polussa. Ikonisarja voi siis noudattaa teemaa ilman että
48
+ tiedostoja muokataan.
49
+ </Label>
50
+
51
+ <Label className="subhead">Tiedosto, jolla on oma paletti</Label>
52
+ <View className="row vecRow">
53
+ <Svg className="emblem emblemSm" src="../assets/emblem.svg" />
54
+ <Svg className="emblem emblemLg" src="../assets/emblem.svg" />
55
+ </View>
56
+ <Label className="caption">
57
+ Kilpi perii täyttönsä ryhmältä, nauha on kierretty ryhmä ja renkaan sisus on reikä eikä toinen
58
+ levy — täyttösääntö tekee työnsä geometrialle, joka saapui tiedostosta eikä sivulta. Oman värinsä
59
+ nimeävä tiedosto pitää sen, koska sen oma arvo voittaa perityn.
60
+ </Label>
61
+ </View>
62
+ );
63
+ }