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.
- package/CHANGELOG.md +1064 -20
- package/LICENSE +3 -1
- package/README.md +123 -28
- package/dist/Lang.rgr +1188 -290
- package/dist/api.d.ts +2343 -879
- package/dist/api.js +79923 -56921
- package/dist/lib/JSON.rgr +102 -91
- package/dist/lib/Shell.rgr +4 -4
- package/dist/lib/apple/AppleToolchain.rgr +4 -4
- package/dist/lib/apple/README.md +5 -4
- package/dist/lib/apple/apple_test.rgr +1 -1
- package/dist/lib/core/README.md +1 -1
- package/dist/lib/evg/EVG.rgr +12 -0
- package/dist/lib/evg/EVGA11yFromTree.rgr +302 -0
- package/dist/lib/evg/EVGA11yTree.rgr +894 -0
- package/dist/lib/evg/EVGBox.rgr +267 -0
- package/dist/lib/evg/EVGBoxShorthandTest.rgr +220 -0
- package/dist/lib/evg/EVGCodepoint.rgr +316 -0
- package/dist/lib/evg/EVGColor.rgr +700 -0
- package/dist/lib/evg/EVGCommands.rgr +177 -0
- package/dist/lib/evg/EVGComponent.rgr +331 -0
- package/dist/lib/evg/EVGComponentTest.rgr +387 -0
- package/dist/lib/evg/EVGConnector.rgr +541 -0
- package/dist/lib/evg/EVGConnectorTest.rgr +306 -0
- package/dist/lib/evg/EVGDisplayList.rgr +4186 -0
- package/dist/lib/evg/EVGEasing.rgr +370 -0
- package/dist/lib/evg/EVGEffectTest.rgr +253 -0
- package/dist/lib/evg/EVGElement.rgr +4914 -0
- package/dist/lib/evg/EVGFixedTest.rgr +289 -0
- package/dist/lib/evg/EVGFlexRulesTest.rgr +317 -0
- package/dist/lib/evg/EVGFlexWrapTest.rgr +246 -0
- package/dist/lib/evg/EVGFling.rgr +244 -0
- package/dist/lib/evg/EVGFocus.rgr +400 -0
- package/dist/lib/evg/EVGFocusTest.rgr +399 -0
- package/dist/lib/evg/EVGGradient.rgr +322 -0
- package/dist/lib/evg/EVGGrapheme.rgr +190 -0
- package/dist/lib/evg/EVGGrid.rgr +975 -0
- package/dist/lib/evg/EVGHitTest.rgr +208 -0
- package/dist/lib/evg/EVGHoles.rgr +294 -0
- package/dist/lib/evg/EVGHostMeasurerTest.rgr +281 -0
- package/dist/lib/evg/EVGHostTextMeasurer.rgr +331 -0
- package/dist/lib/evg/EVGHostTree.rgr +834 -0
- package/dist/lib/evg/EVGHostTreeTest.rgr +447 -0
- package/dist/lib/evg/EVGImageDecode.rgr +117 -0
- package/dist/lib/evg/EVGImageMeasurer.rgr +86 -0
- package/dist/lib/evg/EVGInspect.rgr +883 -0
- package/dist/lib/evg/EVGInvalidateTest.rgr +432 -0
- package/dist/lib/evg/EVGJsonTest.rgr +535 -0
- package/dist/lib/evg/EVGLayout.rgr +4220 -0
- package/dist/lib/evg/EVGMeasure.rgr +1267 -0
- package/dist/lib/evg/EVGOverlayTest.rgr +626 -0
- package/dist/lib/evg/EVGPatch.rgr +1721 -0
- package/dist/lib/evg/EVGPatchTest.rgr +692 -0
- package/dist/lib/evg/EVGPopoverTest.rgr +395 -0
- package/dist/lib/evg/EVGReconcile.rgr +226 -0
- package/dist/lib/evg/EVGReconcileTest.rgr +421 -0
- package/dist/lib/evg/EVGReject.rgr +126 -0
- package/dist/lib/evg/EVGRelayoutTest.rgr +375 -0
- package/dist/lib/evg/EVGRtlLayoutTest.rgr +319 -0
- package/dist/lib/evg/EVGRuler.rgr +232 -0
- package/dist/lib/evg/EVGRulerTest.rgr +172 -0
- package/dist/lib/evg/EVGSelectChrome.rgr +178 -0
- package/dist/lib/evg/EVGStyleCacheTest.rgr +419 -0
- package/dist/lib/evg/EVGStyleSheet.rgr +2148 -0
- package/dist/lib/evg/EVGStyleStateTest.rgr +407 -0
- package/dist/lib/evg/EVGStyleVarTest.rgr +471 -0
- package/dist/lib/evg/EVGText.rgr +105 -0
- package/dist/lib/evg/EVGTextEngine.rgr +536 -0
- package/dist/lib/evg/EVGTextMeasurer.rgr +720 -0
- package/dist/lib/evg/EVGTimingTest.rgr +1417 -0
- package/dist/lib/evg/EVGToolbar.rgr +1369 -0
- package/dist/lib/evg/EVGTransition.rgr +728 -0
- package/dist/lib/evg/EVGTreeJson.rgr +721 -0
- package/dist/lib/evg/EVGUnit.rgr +554 -0
- package/dist/lib/evg/EVGViewportUnitTest.rgr +236 -0
- package/dist/lib/evg/EvgApp.rgr +189 -0
- package/dist/lib/evg/EvgBitmapTracer.rgr +4277 -0
- package/dist/lib/evg/EvgBitmapTracerTest.rgr +2119 -0
- package/dist/lib/evg/EvgHost.rgr +451 -0
- package/dist/lib/evg/EvgTest.rgr +91 -0
- package/dist/lib/evg/EvgTraceColor.rgr +236 -0
- package/dist/lib/evg/EvgTraceCurve.rgr +648 -0
- package/dist/lib/evg/EvgTraceFit.rgr +767 -0
- package/dist/lib/evg/EvgTracePath.rgr +435 -0
- package/dist/lib/evg/EvgTraceTypes.rgr +559 -0
- package/dist/lib/evg/EvgViewport.rgr +313 -0
- package/dist/lib/evg/FxDemoDoc.rgr +185 -0
- package/dist/lib/evg/HOSTS.md +227 -0
- package/dist/lib/evg/ISSUES.md +835 -0
- package/dist/lib/evg/PLAN_ACCESSIBILITY.md +650 -0
- package/dist/lib/evg/PLAN_CSS_LAYOUT_AND_FONTS.md +1124 -0
- package/dist/lib/evg/PLAN_EFFECTS.md +431 -0
- package/dist/lib/evg/PLAN_EVG.md +518 -0
- package/dist/lib/evg/PLAN_EVG_RENDERER.md +1674 -0
- package/dist/lib/evg/PLAN_INSPECTOR.md +788 -0
- package/dist/lib/evg/PLAN_LINKS_AND_FORMS.md +157 -0
- package/dist/lib/evg/PLAN_NATIVE_HOSTS.md +671 -0
- package/dist/lib/evg/PLAN_VECTOR_IR.md +664 -0
- package/dist/lib/evg/PLAN_VIEW_TRANSFORM.md +322 -0
- package/dist/lib/evg/PathBuilder.rgr +333 -0
- package/dist/lib/evg/README.md +1236 -0
- package/dist/lib/evg/SPEC.md +1252 -0
- package/dist/lib/evg/SVGPathParser.rgr +1199 -0
- package/dist/lib/evg/SvgParser.rgr +1736 -0
- package/dist/lib/evg/TODO_EVG_RENDERER.md +595 -0
- package/dist/lib/evg/VectorShapes.rgr +331 -0
- package/dist/lib/evg/VectorStroke.rgr +107 -0
- package/dist/lib/evg/VectorViewBox.rgr +380 -0
- package/dist/lib/evg/agent/README.md +290 -0
- package/dist/lib/evg/agent/evg_agent.rgr +899 -0
- package/dist/lib/evg/agent/fixtures/broken.evg.json +7 -0
- package/dist/lib/evg/agent/fixtures/card.evg.json +9 -0
- package/dist/lib/evg/agent/fixtures/connector.css +63 -0
- package/dist/lib/evg/agent/fixtures/connector.evg.json +14 -0
- package/dist/lib/evg/agent/fixtures/drawn.evg.json +129 -0
- package/dist/lib/evg/agent/fixtures/gradient.evg.json +4 -0
- package/dist/lib/evg/agent/fixtures/popover.css +99 -0
- package/dist/lib/evg/agent/fixtures/popover.evg.json +30 -0
- package/dist/lib/evg/agent/roundtrip.sh +74 -0
- package/dist/lib/evg/agent/smoke.sh +230 -0
- package/dist/lib/evg/android/README.md +97 -0
- package/dist/lib/evg/android/androidstubs/AndroidStubs.kt +175 -0
- package/dist/lib/evg/android/androidstubs/Annotation.kt +10 -0
- package/dist/lib/evg/android/androidstubs/App.kt +30 -0
- package/dist/lib/evg/android/androidstubs/Content.kt +41 -0
- package/dist/lib/evg/android/androidstubs/ContentRes.kt +12 -0
- package/dist/lib/evg/android/androidstubs/InputMethod.kt +46 -0
- package/dist/lib/evg/android/androidstubs/Net.kt +6 -0
- package/dist/lib/evg/android/androidstubs/Os.kt +30 -0
- package/dist/lib/evg/android/androidstubs/Util.kt +15 -0
- package/dist/lib/evg/android/androidstubs/View.kt +113 -0
- package/dist/lib/evg/android/androidstubs/Widget.kt +16 -0
- package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/AndroidEvgSurface.kt +323 -0
- package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/AndroidTextMeasurer.kt +56 -0
- package/dist/lib/evg/android/src/android/kotlin/fi/ranger/evg/RippleEffect.kt +262 -0
- package/dist/lib/evg/android/src/awt/kotlin/fi/ranger/evg/AwtEvgSurface.kt +238 -0
- package/dist/lib/evg/android/src/awt/kotlin/fi/ranger/evg/AwtTextMeasurer.kt +85 -0
- package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgEngineThread.kt +115 -0
- package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgPainter.kt +231 -0
- package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/EvgSurface.kt +117 -0
- package/dist/lib/evg/android/src/main/kotlin/fi/ranger/evg/RecordingSurface.kt +94 -0
- package/dist/lib/evg/apple/README.md +128 -0
- package/dist/lib/evg/apple/Sources/CoreGraphicsEvgSurface.swift +329 -0
- package/dist/lib/evg/apple/Sources/CoreTextMeasurer.swift +70 -0
- package/dist/lib/evg/apple/Sources/EvgEngineQueue.swift +105 -0
- package/dist/lib/evg/apple/Sources/EvgPainter.swift +225 -0
- package/dist/lib/evg/apple/Sources/EvgSurface.swift +163 -0
- package/dist/lib/evg/apple/Sources/RecordingSurface.swift +110 -0
- package/dist/lib/evg/bench/EvgLayoutBench.rgr +34 -0
- package/dist/lib/evg/bench/README.md +64 -0
- package/dist/lib/evg/bench/layout-bench.mjs +316 -0
- package/dist/lib/evg/bench/layout-cases.mjs +510 -0
- package/dist/lib/evg/bench/layout-conformance.mjs +254 -0
- package/dist/lib/evg/bin/.gitignore +17 -0
- package/dist/lib/evg/evg_test.rgr +313 -0
- package/dist/lib/evg/gl/README.md +198 -0
- package/dist/lib/evg/gl/a11y-paint-check.mjs +73 -0
- package/dist/lib/evg/gl/blur-check.mjs +399 -0
- package/dist/lib/evg/gl/boxmodel.json +1 -0
- package/dist/lib/evg/gl/demo.html +46 -0
- package/dist/lib/evg/gl/effect-presets.css +285 -0
- package/dist/lib/evg/gl/effect-presets.js +63 -0
- package/dist/lib/evg/gl/effect-shots.mjs +135 -0
- package/dist/lib/evg/gl/evg-a11y.js +566 -0
- package/dist/lib/evg/gl/evg-binary.js +160 -0
- package/dist/lib/evg/gl/evg-engine.js +296 -0
- package/dist/lib/evg/gl/evg-fx.js +237 -0
- package/dist/lib/evg/gl/evg-gestures.js +209 -0
- package/dist/lib/evg/gl/evg-list.js +167 -0
- package/dist/lib/evg/gl/evg-measure.js +186 -0
- package/dist/lib/evg/gl/evg-textinput.js +303 -0
- package/dist/lib/evg/gl/evg-view.js +144 -0
- package/dist/lib/evg/gl/evg-webgl.js +3942 -0
- package/dist/lib/evg/gl/fx-check.mjs +998 -0
- package/dist/lib/evg/gl/fx-demo.html +166 -0
- package/dist/lib/evg/gl/fx-demo.js +2 -0
- package/dist/lib/evg/gl/fx-serve.mjs +47 -0
- package/dist/lib/evg/gl/gestures-check.mjs +189 -0
- package/dist/lib/evg/gl/list-binary-check.mjs +152 -0
- package/dist/lib/evg/gl/measure-check.mjs +135 -0
- package/dist/lib/evg/gl/rotation-check.mjs +207 -0
- package/dist/lib/evg/gl/shift-check.mjs +113 -0
- package/dist/lib/evg/gl/stroke-check.mjs +168 -0
- package/dist/lib/evg/gl/text-snap-check.mjs +139 -0
- package/dist/lib/evg/gl/view-check.mjs +343 -0
- package/dist/lib/evg/gl/view-policy-check.mjs +184 -0
- package/dist/lib/evg/html/evg-dom.js +318 -0
- package/dist/lib/evg/html/evg-html.js +600 -0
- package/dist/lib/evg/inspect/README.md +415 -0
- package/dist/lib/evg/inspect/browser-smoke.mjs +115 -0
- package/dist/lib/evg/inspect/evg-inspect.js +947 -0
- package/dist/lib/evg/inspect/shots/css.png +0 -0
- package/dist/lib/evg/inspect/shots/dashboard.png +0 -0
- package/dist/lib/evg/inspect/shots/pptx-slide.png +0 -0
- package/dist/lib/evg/inspect/shots/state.png +0 -0
- package/dist/lib/evg/inspect/shots.mjs +226 -0
- package/dist/lib/evg/oracle/css-blur.json +576 -0
- package/dist/lib/evg/oracle/css-box.json +157 -0
- package/dist/lib/evg/oracle/css-timing.json +709 -0
- package/dist/lib/evg/oracle/css_blur_oracle.mjs +529 -0
- package/dist/lib/evg/oracle/css_box_oracle.mjs +106 -0
- package/dist/lib/evg/oracle/css_timing_oracle.mjs +389 -0
- package/dist/lib/evg/original/EVGColor.clj +310 -0
- package/dist/lib/evg/original/EVGColorContext.rgr +178 -0
- package/dist/lib/evg/original/SVGPath.rgr +627 -0
- package/dist/lib/evg/original/Vec2.crgr +103 -0
- package/dist/lib/evg/ranger.json +9 -0
- package/dist/lib/evg/showcase/README.md +246 -0
- package/dist/lib/evg/showcase/assets/emblem.svg +30 -0
- package/dist/lib/evg/showcase/assets/rosette.svg +22 -0
- package/dist/lib/evg/showcase/build.mjs +651 -0
- package/dist/lib/evg/showcase/pages/album.tsx +30 -0
- package/dist/lib/evg/showcase/pages/boxmodel.tsx +37 -0
- package/dist/lib/evg/showcase/pages/cards.tsx +41 -0
- package/dist/lib/evg/showcase/pages/chart_api.tsx +170 -0
- package/dist/lib/evg/showcase/pages/charts.tsx +219 -0
- package/dist/lib/evg/showcase/pages/drawing.tsx +160 -0
- package/dist/lib/evg/showcase/pages/emoji.tsx +91 -0
- package/dist/lib/evg/showcase/pages/flex.tsx +46 -0
- package/dist/lib/evg/showcase/pages/more.tsx +332 -0
- package/dist/lib/evg/showcase/pages/plots.tsx +262 -0
- package/dist/lib/evg/showcase/pages/svg.tsx +63 -0
- package/dist/lib/evg/showcase/pages/tables.tsx +209 -0
- package/dist/lib/evg/showcase/pages/typography.tsx +43 -0
- package/dist/lib/evg/showcase/pages/units.tsx +35 -0
- package/dist/lib/evg/showcase/pages/variants.tsx +233 -0
- package/dist/lib/evg/showcase/pages/vector.tsx +75 -0
- package/dist/lib/evg/showcase/pages/views.tsx +223 -0
- package/dist/lib/evg/showcase/tests/chart_api_smoke.mjs +339 -0
- package/dist/lib/evg/showcase/tests/gl_smoke.mjs +125 -0
- package/dist/lib/evg/showcase/themes/chart_api-default.css +15 -0
- package/dist/lib/evg/showcase/themes/charts-default.css +29 -0
- package/dist/lib/evg/showcase/themes/drawing-default.css +35 -0
- package/dist/lib/evg/showcase/themes/more-default.css +128 -0
- package/dist/lib/evg/showcase/themes/plots-default.css +18 -0
- package/dist/lib/evg/showcase/themes/showcase.css +508 -0
- package/dist/lib/evg/showcase/themes/tables-default.css +123 -0
- package/dist/lib/evg/showcase/themes/variants-default.css +15 -0
- package/dist/lib/evg/showcase/themes/views-default.css +15 -0
- package/dist/lib/evg/tools/bench_vs_potrace.mjs +290 -0
- package/dist/lib/evg/tools/evg_image_tool.rgr +488 -0
- package/dist/lib/evg/tools/evg_trace_bench.rgr +114 -0
- package/dist/lib/evg/tools/evg_trace_cli.rgr +662 -0
- package/dist/lib/evg/tools/evg_trace_cpp_bench.rgr +83 -0
- package/dist/lib/evg/tools/run_trace_bench.sh +74 -0
- package/dist/lib/evg/tools/run_trace_cli_smoke.sh +128 -0
- package/dist/lib/evg/web/responsive/EvgResponsiveCheck.rgr +271 -0
- package/dist/lib/evg/web/responsive/EvgResponsiveDemo.rgr +531 -0
- package/dist/lib/evg/web/responsive/README.md +97 -0
- package/dist/lib/evg/web/responsive/build.mjs +90 -0
- package/dist/lib/evg/web/responsive/dom-check.mjs +169 -0
- package/dist/lib/evg/web/responsive/index.html +177 -0
- package/dist/lib/evg/web/responsive/smoke.mjs +221 -0
- package/dist/lib/evg/web/tools/assets-client.mjs +95 -0
- package/dist/lib/evg/web/tools/boot-bench.mjs +189 -0
- package/dist/lib/evg/web/tools/inline-assets.mjs +119 -0
- package/dist/lib/evg/web/tools/minify.mjs +60 -0
- package/dist/lib/evg/web/tracer/build.mjs +87 -0
- package/dist/lib/evg/web/tracer/index.html +2805 -0
- package/dist/lib/evg/web/tracer/sample.png +0 -0
- package/dist/lib/evg/web/tracer/smoke.mjs +1162 -0
- package/dist/lib/evgr/Cargo.lock +21 -0
- package/dist/lib/evgr/Cargo.toml +19 -0
- package/dist/lib/evgr/README.md +140 -0
- package/dist/lib/evgr/bench/NativeBench.rgr +246 -0
- package/dist/lib/evgr/bench/compare.mjs +252 -0
- package/dist/lib/evgr/bench/speed.mjs +277 -0
- package/dist/lib/evgr/bin/.gitignore +3 -0
- package/dist/lib/evgr/src/bin/bench.rs +106 -0
- package/dist/lib/evgr/src/bin/smoke.rs +13 -0
- package/dist/lib/evgr/src/grid.rs +730 -0
- package/dist/lib/evgr/src/lib.rs +1003 -0
- package/dist/lib/evgr/src/style.rs +468 -0
- package/dist/lib/evgr/src/text.rs +83 -0
- package/dist/lib/image/BitReader.rgr +171 -0
- package/dist/lib/image/Buffer.rgr +173 -0
- package/dist/lib/image/DCT.rgr +283 -0
- package/dist/lib/image/Deflate.rgr +339 -0
- package/dist/lib/image/HuffmanDecoder.rgr +181 -0
- package/dist/lib/image/ImageBuffer.rgr +706 -0
- package/dist/lib/image/JPEGDecoder.rgr +808 -0
- package/dist/lib/image/PNGDecoder.rgr +544 -0
- package/dist/lib/image/PNGEncoder.rgr +388 -0
- package/dist/lib/image/PPMImage.rgr +224 -0
- package/dist/lib/image/ProgressiveJPEGDecoder.rgr +1154 -0
- package/dist/lib/image/README.md +33 -0
- package/dist/lib/image/RasterBuffer.rgr +294 -0
- package/dist/lib/image/VP8BoolDecoder.rgr +163 -0
- package/dist/lib/image/WebPDecoder.rgr +433 -0
- package/dist/lib/image/WebPLossless.rgr +1035 -0
- package/dist/lib/image/WebPLossy.rgr +1929 -0
- package/dist/lib/image/ranger.json +9 -0
- package/dist/lib/image/testdata/webp/anim_2f_24x16.webp +0 -0
- package/dist/lib/image/testdata/webp/fixtures.txt +33 -0
- package/dist/lib/image/testdata/webp/gen_fixtures.py +261 -0
- package/dist/lib/image/testdata/webp/ll_1x1.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_alpha_29x21.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_gradient_64x64.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_meta_32x32.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_noise_17x9.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_pal11_23x11.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_pal2_19x7.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_pal40_16x16.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_pal4_13x5.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_photo_40x30.webp +0 -0
- package/dist/lib/image/testdata/webp/ll_predictors_64x32.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_1x1.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_raw_f0_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_raw_f1_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_raw_f2_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_raw_f3_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_vp8l_f0_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_vp8l_f1_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_vp8l_f2_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alph_vp8l_f3_21x13.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_alpha_33x17.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_exif_15x11.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_i16_96x80.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_nofilter_24x20.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_odd_17x9.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_photo_48x40.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_q100_20x18.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_sharp_40x36.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_simple_filter_33x31.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_vpx_parts8_37x45.webp +0 -0
- package/dist/lib/image/testdata/webp/ly_vpx_skip_96x80.webp +0 -0
- package/dist/lib/image/tests/WebPDecodeTool.rgr +81 -0
- package/dist/lib/image/tests/WebPDecoderTest.rgr +1162 -0
- package/dist/lib/image/tests/run_webp_tests.sh +39 -0
- package/dist/lib/rust/RsJson.rgr +468 -0
- package/dist/lib/rust/RsPrelude.rgr +1663 -0
- package/dist/lib/shell_test.rgr +7 -7
- package/dist/lib/stdlib.rgr +21 -5
- package/dist/lib/zip/ranger.json +6 -0
- package/dist/rgrc.js +87318 -67610
- package/package.json +1010 -1040
- package/dist/README.md +0 -117
- package/dist/package.json +0 -47
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
{
|
|
2
|
+
"stepResponse": {
|
|
3
|
+
"blur(4px)": {
|
|
4
|
+
"xFrom": -40,
|
|
5
|
+
"xTo": 40,
|
|
6
|
+
"luma": [
|
|
7
|
+
0,
|
|
8
|
+
0,
|
|
9
|
+
0,
|
|
10
|
+
0,
|
|
11
|
+
0,
|
|
12
|
+
0,
|
|
13
|
+
0,
|
|
14
|
+
0,
|
|
15
|
+
0,
|
|
16
|
+
0,
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
0,
|
|
20
|
+
0,
|
|
21
|
+
0,
|
|
22
|
+
0,
|
|
23
|
+
0,
|
|
24
|
+
0,
|
|
25
|
+
0,
|
|
26
|
+
0,
|
|
27
|
+
0,
|
|
28
|
+
0,
|
|
29
|
+
0,
|
|
30
|
+
0,
|
|
31
|
+
0,
|
|
32
|
+
0,
|
|
33
|
+
0,
|
|
34
|
+
0,
|
|
35
|
+
0,
|
|
36
|
+
0,
|
|
37
|
+
2,
|
|
38
|
+
4,
|
|
39
|
+
9,
|
|
40
|
+
15,
|
|
41
|
+
25,
|
|
42
|
+
37,
|
|
43
|
+
53,
|
|
44
|
+
72,
|
|
45
|
+
93,
|
|
46
|
+
116,
|
|
47
|
+
139,
|
|
48
|
+
162,
|
|
49
|
+
183,
|
|
50
|
+
202,
|
|
51
|
+
218,
|
|
52
|
+
230,
|
|
53
|
+
240,
|
|
54
|
+
246,
|
|
55
|
+
251,
|
|
56
|
+
253,
|
|
57
|
+
255,
|
|
58
|
+
255,
|
|
59
|
+
255,
|
|
60
|
+
255,
|
|
61
|
+
255,
|
|
62
|
+
255,
|
|
63
|
+
255,
|
|
64
|
+
255,
|
|
65
|
+
255,
|
|
66
|
+
255,
|
|
67
|
+
255,
|
|
68
|
+
255,
|
|
69
|
+
255,
|
|
70
|
+
255,
|
|
71
|
+
255,
|
|
72
|
+
255,
|
|
73
|
+
255,
|
|
74
|
+
255,
|
|
75
|
+
255,
|
|
76
|
+
255,
|
|
77
|
+
255,
|
|
78
|
+
255,
|
|
79
|
+
255,
|
|
80
|
+
255,
|
|
81
|
+
255,
|
|
82
|
+
255,
|
|
83
|
+
255,
|
|
84
|
+
255,
|
|
85
|
+
255,
|
|
86
|
+
255
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"blur(8px)": {
|
|
90
|
+
"xFrom": -40,
|
|
91
|
+
"xTo": 40,
|
|
92
|
+
"luma": [
|
|
93
|
+
0,
|
|
94
|
+
0,
|
|
95
|
+
0,
|
|
96
|
+
0,
|
|
97
|
+
0,
|
|
98
|
+
0,
|
|
99
|
+
0,
|
|
100
|
+
0,
|
|
101
|
+
0,
|
|
102
|
+
0,
|
|
103
|
+
0,
|
|
104
|
+
0,
|
|
105
|
+
0,
|
|
106
|
+
0,
|
|
107
|
+
0,
|
|
108
|
+
0,
|
|
109
|
+
0,
|
|
110
|
+
0,
|
|
111
|
+
0,
|
|
112
|
+
0,
|
|
113
|
+
0,
|
|
114
|
+
1,
|
|
115
|
+
2,
|
|
116
|
+
3,
|
|
117
|
+
4,
|
|
118
|
+
6,
|
|
119
|
+
9,
|
|
120
|
+
12,
|
|
121
|
+
17,
|
|
122
|
+
22,
|
|
123
|
+
28,
|
|
124
|
+
34,
|
|
125
|
+
42,
|
|
126
|
+
51,
|
|
127
|
+
61,
|
|
128
|
+
72,
|
|
129
|
+
84,
|
|
130
|
+
96,
|
|
131
|
+
108,
|
|
132
|
+
121,
|
|
133
|
+
134,
|
|
134
|
+
147,
|
|
135
|
+
159,
|
|
136
|
+
171,
|
|
137
|
+
183,
|
|
138
|
+
194,
|
|
139
|
+
204,
|
|
140
|
+
213,
|
|
141
|
+
221,
|
|
142
|
+
227,
|
|
143
|
+
233,
|
|
144
|
+
238,
|
|
145
|
+
243,
|
|
146
|
+
246,
|
|
147
|
+
249,
|
|
148
|
+
251,
|
|
149
|
+
252,
|
|
150
|
+
253,
|
|
151
|
+
254,
|
|
152
|
+
255,
|
|
153
|
+
255,
|
|
154
|
+
255,
|
|
155
|
+
255,
|
|
156
|
+
255,
|
|
157
|
+
255,
|
|
158
|
+
255,
|
|
159
|
+
255,
|
|
160
|
+
255,
|
|
161
|
+
255,
|
|
162
|
+
255,
|
|
163
|
+
255,
|
|
164
|
+
255,
|
|
165
|
+
255,
|
|
166
|
+
255,
|
|
167
|
+
255,
|
|
168
|
+
255,
|
|
169
|
+
255,
|
|
170
|
+
255,
|
|
171
|
+
255,
|
|
172
|
+
255
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
"blur(16px)": {
|
|
176
|
+
"xFrom": -40,
|
|
177
|
+
"xTo": 40,
|
|
178
|
+
"luma": [
|
|
179
|
+
0,
|
|
180
|
+
1,
|
|
181
|
+
1,
|
|
182
|
+
1,
|
|
183
|
+
2,
|
|
184
|
+
2,
|
|
185
|
+
3,
|
|
186
|
+
3,
|
|
187
|
+
4,
|
|
188
|
+
5,
|
|
189
|
+
6,
|
|
190
|
+
7,
|
|
191
|
+
9,
|
|
192
|
+
10,
|
|
193
|
+
12,
|
|
194
|
+
14,
|
|
195
|
+
16,
|
|
196
|
+
18,
|
|
197
|
+
21,
|
|
198
|
+
24,
|
|
199
|
+
27,
|
|
200
|
+
30,
|
|
201
|
+
33,
|
|
202
|
+
37,
|
|
203
|
+
41,
|
|
204
|
+
45,
|
|
205
|
+
50,
|
|
206
|
+
55,
|
|
207
|
+
60,
|
|
208
|
+
65,
|
|
209
|
+
70,
|
|
210
|
+
76,
|
|
211
|
+
81,
|
|
212
|
+
87,
|
|
213
|
+
93,
|
|
214
|
+
99,
|
|
215
|
+
106,
|
|
216
|
+
112,
|
|
217
|
+
118,
|
|
218
|
+
124,
|
|
219
|
+
131,
|
|
220
|
+
137,
|
|
221
|
+
143,
|
|
222
|
+
149,
|
|
223
|
+
156,
|
|
224
|
+
162,
|
|
225
|
+
168,
|
|
226
|
+
174,
|
|
227
|
+
179,
|
|
228
|
+
185,
|
|
229
|
+
190,
|
|
230
|
+
195,
|
|
231
|
+
200,
|
|
232
|
+
205,
|
|
233
|
+
210,
|
|
234
|
+
214,
|
|
235
|
+
218,
|
|
236
|
+
222,
|
|
237
|
+
225,
|
|
238
|
+
228,
|
|
239
|
+
231,
|
|
240
|
+
234,
|
|
241
|
+
237,
|
|
242
|
+
239,
|
|
243
|
+
241,
|
|
244
|
+
243,
|
|
245
|
+
245,
|
|
246
|
+
246,
|
|
247
|
+
248,
|
|
248
|
+
249,
|
|
249
|
+
250,
|
|
250
|
+
251,
|
|
251
|
+
252,
|
|
252
|
+
252,
|
|
253
|
+
253,
|
|
254
|
+
253,
|
|
255
|
+
254,
|
|
256
|
+
254,
|
|
257
|
+
254,
|
|
258
|
+
255
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"$profileComment": "Row 100 across a black/white boundary at x=200, as luminance. This is the kernel's step response; the difference between neighbouring samples is the kernel. Compare a true Gaussian against the three-box approximation here.",
|
|
263
|
+
"uniformBackdrop": {
|
|
264
|
+
"insideLeft": [
|
|
265
|
+
{
|
|
266
|
+
"dx": 0,
|
|
267
|
+
"luma": 128
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"dx": 1,
|
|
271
|
+
"luma": 128
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"dx": 2,
|
|
275
|
+
"luma": 128
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"dx": 3,
|
|
279
|
+
"luma": 128
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"dx": 4,
|
|
283
|
+
"luma": 128
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"dx": 6,
|
|
287
|
+
"luma": 128
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"dx": 8,
|
|
291
|
+
"luma": 128
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"dx": 12,
|
|
295
|
+
"luma": 128
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"dx": 20,
|
|
299
|
+
"luma": 128
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"centre": 128,
|
|
303
|
+
"$comment": "A flat row means the backdrop is sampled BEYOND the element and then clipped to it. A ramp would mean the sample was clamped to the box, which is the bug this case exists to catch."
|
|
304
|
+
},
|
|
305
|
+
"overColour": {
|
|
306
|
+
"paneCentre": [
|
|
307
|
+
153,
|
|
308
|
+
153,
|
|
309
|
+
153,
|
|
310
|
+
255
|
|
311
|
+
],
|
|
312
|
+
"$comment": "Black backdrop, blurred, under a 60% white fill. The blur of a uniform black is black, so this is the fill composited over black: 255*0.6 = 153."
|
|
313
|
+
},
|
|
314
|
+
"acrossTheEdge": {
|
|
315
|
+
"insideEdge": [
|
|
316
|
+
[
|
|
317
|
+
0,
|
|
318
|
+
0,
|
|
319
|
+
0,
|
|
320
|
+
255
|
|
321
|
+
],
|
|
322
|
+
[
|
|
323
|
+
0,
|
|
324
|
+
0,
|
|
325
|
+
0,
|
|
326
|
+
255
|
|
327
|
+
],
|
|
328
|
+
[
|
|
329
|
+
0,
|
|
330
|
+
0,
|
|
331
|
+
0,
|
|
332
|
+
255
|
|
333
|
+
],
|
|
334
|
+
[
|
|
335
|
+
0,
|
|
336
|
+
0,
|
|
337
|
+
0,
|
|
338
|
+
255
|
|
339
|
+
]
|
|
340
|
+
],
|
|
341
|
+
"outsideCorner": [
|
|
342
|
+
0,
|
|
343
|
+
0,
|
|
344
|
+
0,
|
|
345
|
+
255
|
|
346
|
+
],
|
|
347
|
+
"deepInside": [
|
|
348
|
+
0,
|
|
349
|
+
0,
|
|
350
|
+
0,
|
|
351
|
+
255
|
|
352
|
+
],
|
|
353
|
+
"$comment": "White page, black stripe from x=99 to x=200 — one pixel LEFT of the pane's own left edge at x=100, so that the stripe's border is outside the region a correct blur samples. A painter that antialiases its rectangles (EVG does; a browser's div does not) otherwise leaves a soft seam exactly on the pane's border, and that seam blurs into the first few pixels and muddies the very comparison this case exists for. `insideEdge` is x = 102, 105, 110, 120 at mid height: a blur that can see past the pane's border is lightened there by the white outside it, and one that cannot stays black. `outsideCorner` is (103,43), which is outside the 40px corner: the backdrop there is UNTOUCHED, so a blur drawn as a square rather than a rounded box lightens a pixel that should have stayed black."
|
|
354
|
+
},
|
|
355
|
+
"bandedCorner": {
|
|
356
|
+
"outsideCorner": [
|
|
357
|
+
0,
|
|
358
|
+
0,
|
|
359
|
+
0,
|
|
360
|
+
255
|
|
361
|
+
],
|
|
362
|
+
"insideBand": [
|
|
363
|
+
12,
|
|
364
|
+
12,
|
|
365
|
+
12,
|
|
366
|
+
255
|
|
367
|
+
],
|
|
368
|
+
"belowBand": [
|
|
369
|
+
245,
|
|
370
|
+
245,
|
|
371
|
+
245,
|
|
372
|
+
255
|
|
373
|
+
],
|
|
374
|
+
"$comment": "A black band across the top of a rounded pane over white, starting one pixel ABOVE the pane so its own edge is outside what the blur samples — the same precaution `acrossTheEdge` explains. `outsideCorner` (103,43) lies outside the 40px radius, so the backdrop there is the RAW band and stays black; a blur drawn square would have mixed in the white below and left grey. `insideBand` and `belowBand` are the softened band itself, well inside the shape."
|
|
375
|
+
},
|
|
376
|
+
"verticalCorner": {
|
|
377
|
+
"outsideCorner": [
|
|
378
|
+
0,
|
|
379
|
+
0,
|
|
380
|
+
0,
|
|
381
|
+
255
|
|
382
|
+
],
|
|
383
|
+
"wellInside": [
|
|
384
|
+
91,
|
|
385
|
+
91,
|
|
386
|
+
91,
|
|
387
|
+
255
|
|
388
|
+
],
|
|
389
|
+
"rightOfIt": [
|
|
390
|
+
255,
|
|
391
|
+
255,
|
|
392
|
+
255,
|
|
393
|
+
255
|
|
394
|
+
],
|
|
395
|
+
"$comment": "A black column covering x = 95..109, so that inside the pane it is 100..109 and its own edge is five pixels clear of the pane's border. That clearance matters more here than anywhere else: the border pixel is what every clamped sample reads, so a painter that softens its rectangles by a third of a pixel has that third replicated across half the kernel. Narrow on purpose, too: a wide column stays dark when blurred and the two answers end up 0 and 20, which is inside the noise a GPU comparison has to allow. A narrow one blurs almost away, and the gap becomes the width of the scale. of the pane. `outsideCorner` (104,43) is outside the 40px radius: raw black. `wellInside` (104,100) is the same x at mid height, inside the shape: the blurred column, much lighter. The gap between those two numbers is the whole test — a blur drawn square gives the second answer in both places."
|
|
396
|
+
},
|
|
397
|
+
"innerColumn": {
|
|
398
|
+
"xs": [
|
|
399
|
+
130,
|
|
400
|
+
132,
|
|
401
|
+
134,
|
|
402
|
+
136,
|
|
403
|
+
138,
|
|
404
|
+
140,
|
|
405
|
+
142,
|
|
406
|
+
144,
|
|
407
|
+
146,
|
|
408
|
+
148,
|
|
409
|
+
150,
|
|
410
|
+
152,
|
|
411
|
+
154,
|
|
412
|
+
156,
|
|
413
|
+
158,
|
|
414
|
+
160,
|
|
415
|
+
162,
|
|
416
|
+
164,
|
|
417
|
+
166,
|
|
418
|
+
168,
|
|
419
|
+
170,
|
|
420
|
+
172,
|
|
421
|
+
174,
|
|
422
|
+
176,
|
|
423
|
+
178,
|
|
424
|
+
180,
|
|
425
|
+
182,
|
|
426
|
+
184,
|
|
427
|
+
186,
|
|
428
|
+
188,
|
|
429
|
+
190
|
|
430
|
+
],
|
|
431
|
+
"luma": [
|
|
432
|
+
243,
|
|
433
|
+
238,
|
|
434
|
+
232,
|
|
435
|
+
224,
|
|
436
|
+
215,
|
|
437
|
+
205,
|
|
438
|
+
195,
|
|
439
|
+
184,
|
|
440
|
+
173,
|
|
441
|
+
164,
|
|
442
|
+
156,
|
|
443
|
+
149,
|
|
444
|
+
145,
|
|
445
|
+
143,
|
|
446
|
+
144,
|
|
447
|
+
147,
|
|
448
|
+
152,
|
|
449
|
+
160,
|
|
450
|
+
169,
|
|
451
|
+
179,
|
|
452
|
+
189,
|
|
453
|
+
200,
|
|
454
|
+
210,
|
|
455
|
+
220,
|
|
456
|
+
228,
|
|
457
|
+
235,
|
|
458
|
+
241,
|
|
459
|
+
245,
|
|
460
|
+
249,
|
|
461
|
+
252,
|
|
462
|
+
253
|
|
463
|
+
],
|
|
464
|
+
"$comment": "A 14px black column at x=150, fifty pixels clear of the pane's nearest border, sampled across at mid height. Two edges close together is the case a kernel is easiest to get wrong on, and there is no border behaviour mixed into it."
|
|
465
|
+
},
|
|
466
|
+
"borderBand": {
|
|
467
|
+
"xs": [
|
|
468
|
+
98,
|
|
469
|
+
99,
|
|
470
|
+
100,
|
|
471
|
+
101,
|
|
472
|
+
102,
|
|
473
|
+
103,
|
|
474
|
+
104,
|
|
475
|
+
105,
|
|
476
|
+
106,
|
|
477
|
+
107,
|
|
478
|
+
108,
|
|
479
|
+
109,
|
|
480
|
+
110,
|
|
481
|
+
111,
|
|
482
|
+
112,
|
|
483
|
+
113,
|
|
484
|
+
114,
|
|
485
|
+
115,
|
|
486
|
+
116,
|
|
487
|
+
117,
|
|
488
|
+
118,
|
|
489
|
+
119,
|
|
490
|
+
120,
|
|
491
|
+
121,
|
|
492
|
+
122,
|
|
493
|
+
123,
|
|
494
|
+
124,
|
|
495
|
+
125,
|
|
496
|
+
126,
|
|
497
|
+
127,
|
|
498
|
+
128,
|
|
499
|
+
129,
|
|
500
|
+
130
|
|
501
|
+
],
|
|
502
|
+
"luma": [
|
|
503
|
+
0,
|
|
504
|
+
0,
|
|
505
|
+
61,
|
|
506
|
+
68,
|
|
507
|
+
75,
|
|
508
|
+
83,
|
|
509
|
+
91,
|
|
510
|
+
99,
|
|
511
|
+
107,
|
|
512
|
+
115,
|
|
513
|
+
123,
|
|
514
|
+
186,
|
|
515
|
+
188,
|
|
516
|
+
190,
|
|
517
|
+
193,
|
|
518
|
+
196,
|
|
519
|
+
200,
|
|
520
|
+
204,
|
|
521
|
+
207,
|
|
522
|
+
211,
|
|
523
|
+
215,
|
|
524
|
+
219,
|
|
525
|
+
223,
|
|
526
|
+
226,
|
|
527
|
+
229,
|
|
528
|
+
232,
|
|
529
|
+
234,
|
|
530
|
+
238,
|
|
531
|
+
240,
|
|
532
|
+
242,
|
|
533
|
+
244,
|
|
534
|
+
245,
|
|
535
|
+
247
|
|
536
|
+
],
|
|
537
|
+
"matched": false,
|
|
538
|
+
"$comment": "NOT matched, on purpose. Two straight segments with a 63-level jump at x=109 — Chrome's downsampled edge handling, not a kernel. EVG clamps at the border instead and agrees with the browser everywhere further than a kernel's reach from it. Kept so the difference is a decision on record rather than a surprise."
|
|
539
|
+
},
|
|
540
|
+
"rounded": {
|
|
541
|
+
"outsideTheCorner": [
|
|
542
|
+
0,
|
|
543
|
+
0,
|
|
544
|
+
0,
|
|
545
|
+
255
|
|
546
|
+
],
|
|
547
|
+
"insideTheCorner": [
|
|
548
|
+
217,
|
|
549
|
+
217,
|
|
550
|
+
217,
|
|
551
|
+
255
|
|
552
|
+
],
|
|
553
|
+
"$comment": "Outside the rounded corner the backdrop shows through untouched (black); inside, the pane's fill is over it. The blur is clipped to the BORDER BOX INCLUDING its radius, not to the rectangle."
|
|
554
|
+
},
|
|
555
|
+
"kernel": {
|
|
556
|
+
"blur(4px)": {
|
|
557
|
+
"gaussian sigma=r": 14.3,
|
|
558
|
+
"gaussian sigma=r/2": 55,
|
|
559
|
+
"three-box sigma=r": 0.5,
|
|
560
|
+
"three-box sigma=r/2": 40.3
|
|
561
|
+
},
|
|
562
|
+
"blur(8px)": {
|
|
563
|
+
"gaussian sigma=r": 6.8,
|
|
564
|
+
"gaussian sigma=r/2": 45.1,
|
|
565
|
+
"three-box sigma=r": 0.5,
|
|
566
|
+
"three-box sigma=r/2": 36.2
|
|
567
|
+
},
|
|
568
|
+
"blur(16px)": {
|
|
569
|
+
"gaussian sigma=r": 3.7,
|
|
570
|
+
"gaussian sigma=r/2": 43.4,
|
|
571
|
+
"three-box sigma=r": 0.5,
|
|
572
|
+
"three-box sigma=r/2": 43.4
|
|
573
|
+
},
|
|
574
|
+
"$comment": "Worst absolute error in luminance (0..255) between the measured step response and each candidate. `three-box sigma=r` wins at every radius by a wide margin — so `blur(r)` is the SVG three-box approximation with sigma = r, NOT a true Gaussian and NOT sigma = r/2. The common belief is half right: the sigma is the radius, and the shape is not a Gaussian."
|
|
575
|
+
}
|
|
576
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cases": [
|
|
3
|
+
{
|
|
4
|
+
"prop": "padding",
|
|
5
|
+
"value": "10px",
|
|
6
|
+
"kept": "10px",
|
|
7
|
+
"top": "10px",
|
|
8
|
+
"right": "10px",
|
|
9
|
+
"bottom": "10px",
|
|
10
|
+
"left": "10px"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"prop": "padding",
|
|
14
|
+
"value": "0 16px",
|
|
15
|
+
"kept": "0px 16px",
|
|
16
|
+
"top": "0px",
|
|
17
|
+
"right": "16px",
|
|
18
|
+
"bottom": "0px",
|
|
19
|
+
"left": "16px"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prop": "padding",
|
|
23
|
+
"value": "1px 2px 3px",
|
|
24
|
+
"kept": "1px 2px 3px",
|
|
25
|
+
"top": "1px",
|
|
26
|
+
"right": "2px",
|
|
27
|
+
"bottom": "3px",
|
|
28
|
+
"left": "2px"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"prop": "padding",
|
|
32
|
+
"value": "1px 2px 3px 4px",
|
|
33
|
+
"kept": "1px 2px 3px 4px",
|
|
34
|
+
"top": "1px",
|
|
35
|
+
"right": "2px",
|
|
36
|
+
"bottom": "3px",
|
|
37
|
+
"left": "4px"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"prop": "padding",
|
|
41
|
+
"value": "0",
|
|
42
|
+
"kept": "0px",
|
|
43
|
+
"top": "0px",
|
|
44
|
+
"right": "0px",
|
|
45
|
+
"bottom": "0px",
|
|
46
|
+
"left": "0px"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"prop": "padding",
|
|
50
|
+
"value": "2px 10px",
|
|
51
|
+
"kept": "2px 10px",
|
|
52
|
+
"top": "2px",
|
|
53
|
+
"right": "10px",
|
|
54
|
+
"bottom": "2px",
|
|
55
|
+
"left": "10px"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"prop": "padding",
|
|
59
|
+
"value": " 4px 8px ",
|
|
60
|
+
"kept": "4px 8px",
|
|
61
|
+
"top": "4px",
|
|
62
|
+
"right": "8px",
|
|
63
|
+
"bottom": "4px",
|
|
64
|
+
"left": "8px"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"prop": "padding",
|
|
68
|
+
"value": "10%",
|
|
69
|
+
"kept": "10%",
|
|
70
|
+
"top": "40px",
|
|
71
|
+
"right": "40px",
|
|
72
|
+
"bottom": "40px",
|
|
73
|
+
"left": "40px"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"prop": "padding",
|
|
77
|
+
"value": "-4px",
|
|
78
|
+
"kept": "",
|
|
79
|
+
"top": "0px",
|
|
80
|
+
"right": "0px",
|
|
81
|
+
"bottom": "0px",
|
|
82
|
+
"left": "0px"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"prop": "padding",
|
|
86
|
+
"value": "1px 2px 3px 4px 5px",
|
|
87
|
+
"kept": "",
|
|
88
|
+
"top": "0px",
|
|
89
|
+
"right": "0px",
|
|
90
|
+
"bottom": "0px",
|
|
91
|
+
"left": "0px"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"prop": "padding",
|
|
95
|
+
"value": "1px nonsense",
|
|
96
|
+
"kept": "",
|
|
97
|
+
"top": "0px",
|
|
98
|
+
"right": "0px",
|
|
99
|
+
"bottom": "0px",
|
|
100
|
+
"left": "0px"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"prop": "padding",
|
|
104
|
+
"value": "1em 2em",
|
|
105
|
+
"kept": "1em 2em",
|
|
106
|
+
"top": "16px",
|
|
107
|
+
"right": "32px",
|
|
108
|
+
"bottom": "16px",
|
|
109
|
+
"left": "32px"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"prop": "margin",
|
|
113
|
+
"value": "10px",
|
|
114
|
+
"kept": "10px",
|
|
115
|
+
"top": "10px",
|
|
116
|
+
"right": "10px",
|
|
117
|
+
"bottom": "10px",
|
|
118
|
+
"left": "10px"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"prop": "margin",
|
|
122
|
+
"value": "0 auto",
|
|
123
|
+
"kept": "0px auto",
|
|
124
|
+
"top": "0px",
|
|
125
|
+
"right": "0px",
|
|
126
|
+
"bottom": "0px",
|
|
127
|
+
"left": "0px"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"prop": "margin",
|
|
131
|
+
"value": "-4px 8px",
|
|
132
|
+
"kept": "-4px 8px",
|
|
133
|
+
"top": "-4px",
|
|
134
|
+
"right": "8px",
|
|
135
|
+
"bottom": "-4px",
|
|
136
|
+
"left": "8px"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"prop": "margin",
|
|
140
|
+
"value": "1px 2px 3px 4px",
|
|
141
|
+
"kept": "1px 2px 3px 4px",
|
|
142
|
+
"top": "1px",
|
|
143
|
+
"right": "2px",
|
|
144
|
+
"bottom": "3px",
|
|
145
|
+
"left": "4px"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"prop": "margin",
|
|
149
|
+
"value": "5%",
|
|
150
|
+
"kept": "5%",
|
|
151
|
+
"top": "20px",
|
|
152
|
+
"right": "20px",
|
|
153
|
+
"bottom": "20px",
|
|
154
|
+
"left": "20px"
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}
|