@wcardinal/wcardinal-ui 0.408.0 → 0.410.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/wcardinal/ui/d-base-snippet-container.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
- package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/e-shape-points-formatters.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/e-shape-points-style.d.ts +7 -1
- package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
- package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
- package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.d.ts +2 -1
- package/dist/wcardinal/ui/d-base-snippet-container.js +11 -3
- package/dist/wcardinal/ui/d-base-snippet-container.js.map +1 -1
- package/dist/wcardinal/ui/d-base.js +4 -0
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-scroll-bar.js +1 -0
- package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
- package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js +165 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js +7 -2
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points-style.js +12 -4
- package/dist/wcardinal/ui/shape/e-shape-points-style.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
- package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +1 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
- package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
- package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
- package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
- package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
- package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
- package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/index.js +0 -1
- package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
- package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +6 -3
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +6 -3
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +6 -3
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +6 -3
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +6 -3
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +6 -3
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +2526 -2114
- package/dist/wcardinal-ui.js +2502 -2102
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-rectangle-rounded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-rectangle-rounded.ts"],"names":[],"mappings":"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AE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,eAAe;IACf,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,eAAe;IACf,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,C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,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS;IACT,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS;IACT,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,SAAS,CAA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","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeStrokeSide } from \"../e-shape-stroke-side\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toLength } from \"./to-length\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\n\nexport const RECTANGLE_ROUNDED_VERTEX_COUNT = 36;\nexport const RECTANGLE_ROUNDED_INDEX_COUNT = 24;\nexport const RECTANGLE_ROUNDED_WORLD_SIZE: [number, number, number] = [0, 0, 0];\nconst RECTANGLE_ROUNDED_WORK_POINT: Point = new Point();\n\nexport const buildRectangleRoundedIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\t// Top-left corner\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 3;\n\tindices[++ii] = voffset + 2;\n\n\t// Top-right corner\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 6;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 7;\n\tindices[++ii] = voffset + 6;\n\n\t// Bottom-left corner\n\tindices[++ii] = voffset + 8;\n\tindices[++ii] = voffset + 9;\n\tindices[++ii] = voffset + 10;\n\tindices[++ii] = voffset + 9;\n\tindices[++ii] = voffset + 11;\n\tindices[++ii] = voffset + 10;\n\n\t// Bottom-right corner\n\tindices[++ii] = voffset + 12;\n\tindices[++ii] = voffset + 13;\n\tindices[++ii] = voffset + 14;\n\tindices[++ii] = voffset + 13;\n\tindices[++ii] = voffset + 15;\n\tindices[++ii] = voffset + 14;\n\n\t// Top edge\n\tindices[++ii] = voffset + 16;\n\tindices[++ii] = voffset + 17;\n\tindices[++ii] = voffset + 20;\n\tindices[++ii] = voffset + 17;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 20;\n\n\tindices[++ii] = voffset + 17;\n\tindices[++ii] = voffset + 18;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 18;\n\tindices[++ii] = voffset + 22;\n\tindices[++ii] = voffset + 21;\n\n\t// Upper middle\n\tindices[++ii] = voffset + 19;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 24;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 24;\n\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 23;\n\tindices[++ii] = voffset + 26;\n\tindices[++ii] = voffset + 23;\n\tindices[++ii] = voffset + 27;\n\tindices[++ii] = voffset + 26;\n\n\t// Lower middle\n\tindices[++ii] = voffset + 24;\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 28;\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 28;\n\n\tindices[++ii] = voffset + 26;\n\tindices[++ii] = voffset + 27;\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 27;\n\tindices[++ii] = voffset + 32;\n\tindices[++ii] = voffset + 30;\n\n\t// Bottom edge\n\tindices[++ii] = voffset + 29;\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 33;\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 34;\n\tindices[++ii] = voffset + 33;\n\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 31;\n\tindices[++ii] = voffset + 34;\n\tindices[++ii] = voffset + 31;\n\tindices[++ii] = voffset + 35;\n\tindices[++ii] = voffset + 34;\n};\n\nexport const buildRectangleRoundedVertex = (\n\tvertices: Float32Array,\n\tvoffset: number,\n\toriginX: number,\n\toriginY: number,\n\tsizeX: number,\n\tsizeY: number,\n\tstrokeAlign: number,\n\tstrokeWidth: number,\n\tradius: number,\n\tinternalTransform: Matrix,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\t// Calculate the transformed positions\n\t//\n\t// 0 1 4 5\n\t// |---| |---|\n\t// |2 |3 |6 |7\n\t// |---| |---|\n\t//\n\t//\n\t//\n\t//\n\t//\n\t// |---| |---|\n\t// |8 |9 |12 |13\n\t// |---| |---|\n\t// 10 11 14 15\n\t//\n\t//\n\t// 16 17 18 <-- Top edge\n\t// |---|---|\n\t// 19 |20 |21 |22 23 <-- Top\n\t// |---|---|---|---|\n\t// | | |\n\t// |24 25|26 |27 <-- Middle\n\t// |-------|-------|\n\t// | | |\n\t// | | |\n\t// |---|---|---|---|\n\t// 28 |29 |30 |31 32 <-- Bottom\n\t// |---|---|\n\t// 33 34 35 <-- Bottom edge\n\t//\n\tconst s = strokeAlign * strokeWidth;\n\tconst sx = sizeX * 0.5 + (0 <= sizeX ? +s : -s);\n\tconst sy = sizeY * 0.5 + (0 <= sizeY ? +s : -s);\n\tconst ax = Math.abs(sx);\n\tconst ay = Math.abs(sy);\n\tconst a = radius * Math.min(ax, ay);\n\tconst rx = a / ax;\n\tconst ry = a / ay;\n\n\tconst work = RECTANGLE_ROUNDED_WORK_POINT;\n\twork.set(originX - sx, originY - sy);\n\tinternalTransform.apply(work, work);\n\tconst x0 = work.x;\n\tconst y0 = work.y;\n\twork.set(originX, originY - sy);\n\tinternalTransform.apply(work, work);\n\tconst x2 = work.x;\n\tconst y2 = work.y;\n\tconst dxh = x2 - x0;\n\tconst dyh = y2 - y0;\n\tconst dxhr = rx * dxh;\n\tconst dyhr = rx * dyh;\n\tconst x1 = x0 + dxhr;\n\tconst y1 = y0 + dyhr;\n\tconst x4 = x2 + dxh;\n\tconst y4 = y2 + dyh;\n\tconst x3 = x4 - dxhr;\n\tconst y3 = y4 - dyhr;\n\twork.set(originX, originY);\n\tinternalTransform.apply(work, work);\n\tconst x11 = work.x;\n\tconst y11 = work.y;\n\tconst dxv = x11 - x2;\n\tconst dyv = y11 - y2;\n\tconst dxvr = ry * dxv;\n\tconst dyvr = ry * dyv;\n\tconst x7 = x2 + dxvr;\n\tconst y7 = y2 + dyvr;\n\tconst x5 = x7 - dxh;\n\tconst y5 = y7 - dyh;\n\tconst x6 = x5 + dxhr;\n\tconst y6 = y5 + dyhr;\n\tconst x9 = x7 + dxh;\n\tconst y9 = y7 + dyh;\n\tconst x8 = x9 - dxhr;\n\tconst y8 = y9 - dyhr;\n\tconst x10 = x11 - dxh;\n\tconst y10 = y11 - dyh;\n\tconst x12 = x11 + dxh;\n\tconst y12 = y11 + dyh;\n\tconst x20 = x11 + dxv;\n\tconst y20 = y11 + dyv;\n\tconst x15 = x20 - dxvr;\n\tconst y15 = y20 - dyvr;\n\tconst x13 = x15 - dxh;\n\tconst y13 = y15 - dyh;\n\tconst x14 = x13 + dxhr;\n\tconst y14 = y13 + dyhr;\n\tconst x17 = x15 + dxh;\n\tconst y17 = y15 + dyh;\n\tconst x16 = x17 - dxhr;\n\tconst y16 = y17 - dyhr;\n\tconst x18 = x20 - dxh;\n\tconst y18 = y20 - dyh;\n\tconst x19 = x18 + dxhr;\n\tconst y19 = y18 + dyhr;\n\tconst x22 = x20 + dxh;\n\tconst y22 = y20 + dyh;\n\tconst x21 = x22 - dxhr;\n\tconst y21 = y22 - dyhr;\n\n\t// World size\n\tworldSize[0] = toLength(x0, y0, x1, y1);\n\tworldSize[1] = toLength(x0, y0, x2, y2);\n\tworldSize[2] = toLength(x0, y0, x10, y10);\n\n\t// Vertices\n\tlet iv = voffset * 2 - 1;\n\n\t// Top-left corner\n\tvertices[++iv] = x0;\n\tvertices[++iv] = y0;\n\tvertices[++iv] = x1;\n\tvertices[++iv] = y1;\n\tvertices[++iv] = x5;\n\tvertices[++iv] = y5;\n\tvertices[++iv] = x6;\n\tvertices[++iv] = y6;\n\n\t// Top-right corner\n\tvertices[++iv] = x3;\n\tvertices[++iv] = y3;\n\tvertices[++iv] = x4;\n\tvertices[++iv] = y4;\n\tvertices[++iv] = x8;\n\tvertices[++iv] = y8;\n\tvertices[++iv] = x9;\n\tvertices[++iv] = y9;\n\n\t// Bottom-left corner\n\tvertices[++iv] = x13;\n\tvertices[++iv] = y13;\n\tvertices[++iv] = x14;\n\tvertices[++iv] = y14;\n\tvertices[++iv] = x18;\n\tvertices[++iv] = y18;\n\tvertices[++iv] = x19;\n\tvertices[++iv] = y19;\n\n\t// Bottom-right corner\n\tvertices[++iv] = x16;\n\tvertices[++iv] = y16;\n\tvertices[++iv] = x17;\n\tvertices[++iv] = y17;\n\tvertices[++iv] = x21;\n\tvertices[++iv] = y21;\n\tvertices[++iv] = x22;\n\tvertices[++iv] = y22;\n\n\t// Top edge\n\tvertices[++iv] = x1;\n\tvertices[++iv] = y1;\n\tvertices[++iv] = x2;\n\tvertices[++iv] = y2;\n\tvertices[++iv] = x3;\n\tvertices[++iv] = y3;\n\n\t// Top\n\tvertices[++iv] = x5;\n\tvertices[++iv] = y5;\n\tvertices[++iv] = x6;\n\tvertices[++iv] = y6;\n\tvertices[++iv] = x7;\n\tvertices[++iv] = y7;\n\tvertices[++iv] = x8;\n\tvertices[++iv] = y8;\n\tvertices[++iv] = x9;\n\tvertices[++iv] = y9;\n\n\t// Middle\n\tvertices[++iv] = x10;\n\tvertices[++iv] = y10;\n\tvertices[++iv] = x11;\n\tvertices[++iv] = y11;\n\tvertices[++iv] = x11;\n\tvertices[++iv] = y11;\n\tvertices[++iv] = x12;\n\tvertices[++iv] = y12;\n\n\t// Bottom\n\tvertices[++iv] = x13;\n\tvertices[++iv] = y13;\n\tvertices[++iv] = x14;\n\tvertices[++iv] = y14;\n\tvertices[++iv] = x15;\n\tvertices[++iv] = y15;\n\tvertices[++iv] = x16;\n\tvertices[++iv] = y16;\n\tvertices[++iv] = x17;\n\tvertices[++iv] = y17;\n\n\t// Bottom edge\n\tvertices[++iv] = x19;\n\tvertices[++iv] = y19;\n\tvertices[++iv] = x20;\n\tvertices[++iv] = y20;\n\tvertices[++iv] = x21;\n\tvertices[++iv] = y21;\n};\n\nexport const buildRectangleRoundedClipping = (\n\tclippings: Float32Array,\n\tvoffset: number,\n\tcorner: EShapeCorner,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\tlet ic = voffset * 3 - 1;\n\tconst rxc = 1 - worldSize[0] / worldSize[1];\n\tconst ryc = 1 - worldSize[0] / worldSize[2];\n\n\t// Top-left corner\n\tif (corner & EShapeCorner.TOP_LEFT) {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t} else {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\t}\n\n\t// Top-right corner\n\tif (corner & EShapeCorner.TOP_RIGHT) {\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t} else {\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\t}\n\n\t// Bottom-left corner\n\tif (corner & EShapeCorner.BOTTOM_LEFT) {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t} else {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t}\n\n\t// Bottom-right corner\n\tif (corner & EShapeCorner.BOTTOM_RIGHT) {\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t} else {\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = ryc;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = rxc;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t}\n\n\t// Top edge\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\n\t// Top\n\tclippings[++ic] = 1;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\t// Middle\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\n\t// Bottom\n\tclippings[++ic] = 1;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = ryc;\n\tclippings[++ic] = 0;\n\n\t// Bottom edge\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\n\tclippings[++ic] = rxc;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n};\n\nexport const buildRectangleRoundedStep = (\n\tsteps: Float32Array,\n\tvoffset: number,\n\tstrokeWidth: number,\n\tstrokeSide: EShapeStrokeSide,\n\tstrokeStyle: EShapeStrokeStyle,\n\tcorner: EShapeCorner,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\n\tconst sc = worldSize[0];\n\tconst sx = worldSize[1];\n\tconst sy = worldSize[2];\n\n\tconst rxc = Math.max(0, 1 - worldSize[0] / worldSize[1]);\n\tconst ryc = Math.max(0, 1 - worldSize[0] / worldSize[2]);\n\n\tlet wt: number;\n\tlet zt: number;\n\tlet bt: number;\n\tif (strokeSide & EShapeStrokeSide.TOP) {\n\t\twt = +2;\n\t\tzt = +1;\n\t\tbt = +1 + ryc;\n\t} else {\n\t\twt = -2;\n\t\tzt = -1;\n\t\tbt = -1 - ryc;\n\t}\n\n\tlet wr: number;\n\tlet zr: number;\n\tlet br: number;\n\tif (strokeSide & EShapeStrokeSide.RIGHT) {\n\t\twr = +2;\n\t\tzr = +1;\n\t\tbr = +1 + rxc;\n\t} else {\n\t\twr = -2;\n\t\tzr = -1;\n\t\tbr = -1 - rxc;\n\t}\n\n\tlet wb: number;\n\tlet zb: number;\n\tlet bb: number;\n\tif (strokeSide & EShapeStrokeSide.BOTTOM) {\n\t\twb = +2;\n\t\tzb = +1;\n\t\tbb = +1 + ryc;\n\t} else {\n\t\twb = -2;\n\t\tzb = -1;\n\t\tbb = -1 - ryc;\n\t}\n\n\tlet wl: number;\n\tlet zl: number;\n\tlet bl: number;\n\tif (strokeSide & EShapeStrokeSide.LEFT) {\n\t\twl = +2;\n\t\tzl = +1;\n\t\tbl = +1 + rxc;\n\t} else {\n\t\twl = -2;\n\t\tzl = -1;\n\t\tbl = -1 - rxc;\n\t}\n\n\t// Top-left corner\n\tlet is = voffset * 6 - 1;\n\tif (corner & EShapeCorner.TOP_LEFT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zl;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = zt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zl;\n\t\tsteps[++is] = zt;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = bl;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = bt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = bl;\n\t\tsteps[++is] = bt;\n\t}\n\n\t// Top-right corner\n\tif (corner & EShapeCorner.TOP_RIGHT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zr;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zr;\n\t\tsteps[++is] = zt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = zt;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = br;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = wt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = br;\n\t\tsteps[++is] = bt;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = bt;\n\t}\n\n\t// Bottom-left corner\n\tif (corner & EShapeCorner.BOTTOM_LEFT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = zb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zl;\n\t\tsteps[++is] = zb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = wb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zl;\n\t\tsteps[++is] = wb;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = bb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = bl;\n\t\tsteps[++is] = bb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wl;\n\t\tsteps[++is] = wb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = bl;\n\t\tsteps[++is] = wb;\n\t}\n\n\t// Bottom-right corner\n\tif (corner & EShapeCorner.BOTTOM_RIGHT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zr;\n\t\tsteps[++is] = zb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = zb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = zr;\n\t\tsteps[++is] = wb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = sc;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = wb;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = br;\n\t\tsteps[++is] = bb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = bb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = br;\n\t\tsteps[++is] = wb;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = sx;\n\t\tsteps[++is] = sy;\n\t\tsteps[++is] = wr;\n\t\tsteps[++is] = wb;\n\t}\n\n\t// Top edge\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = bl;\n\tsteps[++is] = wt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zl;\n\tsteps[++is] = wt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = br;\n\tsteps[++is] = wt;\n\n\t// Top\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wl;\n\tsteps[++is] = bt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = bl;\n\tsteps[++is] = bt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zl;\n\tsteps[++is] = bt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = br;\n\tsteps[++is] = bt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wr;\n\tsteps[++is] = bt;\n\n\t// Middle\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wl;\n\tsteps[++is] = zt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zl;\n\tsteps[++is] = zt;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zr;\n\tsteps[++is] = zb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wr;\n\tsteps[++is] = zb;\n\n\t// Bottom\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wl;\n\tsteps[++is] = bb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = bl;\n\tsteps[++is] = bb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zb;\n\tsteps[++is] = bb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = br;\n\tsteps[++is] = bb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = wr;\n\tsteps[++is] = bb;\n\n\t// Bottom edge\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = bl;\n\tsteps[++is] = wb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = zb;\n\tsteps[++is] = wb;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = sx;\n\tsteps[++is] = sy;\n\tsteps[++is] = br;\n\tsteps[++is] = wb;\n};\n\nexport const buildRectangleRoundedUv = (\n\tuvs: Float32Array,\n\tvoffset: number,\n\ttextureUvs: TextureUvs,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst x2 = textureUvs.x2;\n\tconst x3 = textureUvs.x3;\n\tconst y0 = textureUvs.y0;\n\tconst y1 = textureUvs.y1;\n\tconst y2 = textureUvs.y2;\n\tconst y3 = textureUvs.y3;\n\n\tconst x4 = 0.5 * (x0 + x1);\n\tconst y4 = 0.5 * (y0 + y1);\n\tconst x5 = 0.5 * (x3 + x2);\n\tconst y5 = 0.5 * (y3 + y2);\n\n\tconst ruvx = (0.5 * worldSize[0]) / worldSize[1];\n\tconst ruvy = (0.5 * worldSize[0]) / worldSize[2];\n\tconst d0x = ruvx * (x1 - x0);\n\tconst d0y = ruvx * (y1 - y0);\n\tconst d1x = ruvy * (x3 - x0);\n\tconst d1y = ruvy * (y3 - y0);\n\n\t// UVs\n\tlet iuv = voffset * 2 - 1;\n\n\t// Top-left corner\n\tuvs[++iuv] = x0;\n\tuvs[++iuv] = y0;\n\tuvs[++iuv] = x0 + d0x;\n\tuvs[++iuv] = y0 + d0y;\n\tuvs[++iuv] = x0 + d1x;\n\tuvs[++iuv] = y0 + d1y;\n\tuvs[++iuv] = x0 + d0x + d1x;\n\tuvs[++iuv] = y0 + d0y + d1y;\n\n\t// Top-right corner\n\tuvs[++iuv] = x1 - d0x;\n\tuvs[++iuv] = y1 - d0y;\n\tuvs[++iuv] = x1;\n\tuvs[++iuv] = y1;\n\tuvs[++iuv] = x1 - d0x + d1x;\n\tuvs[++iuv] = y1 - d0y + d1y;\n\tuvs[++iuv] = x1 + d1x;\n\tuvs[++iuv] = y1 + d1y;\n\n\t// Bottom-left corner\n\tuvs[++iuv] = x3 - d1x;\n\tuvs[++iuv] = y3 - d1y;\n\tuvs[++iuv] = x3 + d0x - d1x;\n\tuvs[++iuv] = y3 + d0y - d1y;\n\tuvs[++iuv] = x3;\n\tuvs[++iuv] = y3;\n\tuvs[++iuv] = x3 + d0x;\n\tuvs[++iuv] = y3 + d0y;\n\n\t// Bottom-right corner\n\tuvs[++iuv] = x2 - d0x - d1x;\n\tuvs[++iuv] = y2 - d0y - d1y;\n\tuvs[++iuv] = x2 - d1x;\n\tuvs[++iuv] = y2 - d1y;\n\tuvs[++iuv] = x2 - d0x;\n\tuvs[++iuv] = y2 - d0y;\n\tuvs[++iuv] = x2;\n\tuvs[++iuv] = y2;\n\n\t// Top edge\n\tuvs[++iuv] = x0 + d0x;\n\tuvs[++iuv] = y0 + d0y;\n\tuvs[++iuv] = x4;\n\tuvs[++iuv] = y4;\n\tuvs[++iuv] = x1 - d0x;\n\tuvs[++iuv] = y1 - d0y;\n\n\t// Top\n\tuvs[++iuv] = x0 + d1x;\n\tuvs[++iuv] = y0 + d1y;\n\tuvs[++iuv] = x0 + d1x + d0x;\n\tuvs[++iuv] = y0 + d1y + d0y;\n\tuvs[++iuv] = x4 + d1x;\n\tuvs[++iuv] = y4 + d1y;\n\tuvs[++iuv] = x1 + d1x - d0x;\n\tuvs[++iuv] = y1 + d1y - d0y;\n\tuvs[++iuv] = x1 + d1x;\n\tuvs[++iuv] = y1 + d1y;\n\n\t// Middle\n\tconst x02 = 0.5 * (x0 + x2);\n\tconst y02 = 0.5 * (y0 + y2);\n\tuvs[++iuv] = 0.5 * (x0 + x3);\n\tuvs[++iuv] = 0.5 * (y0 + y3);\n\tuvs[++iuv] = x02;\n\tuvs[++iuv] = y02;\n\tuvs[++iuv] = x02;\n\tuvs[++iuv] = y02;\n\tuvs[++iuv] = 0.5 * (x1 + x2);\n\tuvs[++iuv] = 0.5 * (y1 + y2);\n\n\t// Bottom\n\tuvs[++iuv] = x3 - d1x;\n\tuvs[++iuv] = y3 - d1y;\n\tuvs[++iuv] = x3 - d1x + d0x;\n\tuvs[++iuv] = y3 - d1y + d0y;\n\tuvs[++iuv] = x5 - d1x;\n\tuvs[++iuv] = y5 - d1y;\n\tuvs[++iuv] = x2 - d1x - d0x;\n\tuvs[++iuv] = y2 - d1y - d0y;\n\tuvs[++iuv] = x2 - d1x;\n\tuvs[++iuv] = y2 - d1y;\n\n\t// Bottom edge\n\tuvs[++iuv] = x3 + d0x;\n\tuvs[++iuv] = y3 + d0y;\n\tuvs[++iuv] = x5;\n\tuvs[++iuv] = y5;\n\tuvs[++iuv] = x2 - d0x;\n\tuvs[++iuv] = y2 - d0y;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"build-rectangle-rounded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-rectangle-rounded.ts"],"names":[],"mappings":"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AAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,EAAE,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IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE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C;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzB,IAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,yBAAyB;IACzB,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IACxB,IAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IACxB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,IAAM,IAAI,GAAG,GAAG,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,IAAM,IAAI,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AACnB,CAAC,CAAC","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeStrokeSide } from \"../e-shape-stroke-side\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { toPackedF2x1024, toPackedI4x64 } from \"./to-packed\";\n\nexport const RECTANGLE_ROUNDED_VERTEX_COUNT = 44;\nexport const RECTANGLE_ROUNDED_INDEX_COUNT = 24;\nexport const RECTANGLE_ROUNDED_WORLD_SIZE: [number, number, number, number, number] = [\n\t0, 0, 0, 0, 0\n];\nconst RECTANGLE_ROUNDED_WORK_POINT: Point = new Point();\n\nexport const buildRectangleRoundedIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\t// c0 c1 c4 c5\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t// c2 c3 c6 c7\n\t//\n\t// c8 c9 c12 c13\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t//c10 c11 c14 c15\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset + 0;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 3;\n\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 6;\n\tindices[++ii] = voffset + 6;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 7;\n\n\tindices[++ii] = voffset + 8;\n\tindices[++ii] = voffset + 9;\n\tindices[++ii] = voffset + 10;\n\tindices[++ii] = voffset + 10;\n\tindices[++ii] = voffset + 9;\n\tindices[++ii] = voffset + 11;\n\n\tindices[++ii] = voffset + 12;\n\tindices[++ii] = voffset + 13;\n\tindices[++ii] = voffset + 14;\n\tindices[++ii] = voffset + 14;\n\tindices[++ii] = voffset + 13;\n\tindices[++ii] = voffset + 15;\n\n\t// 16 17 23 24\n\t// |---| |---|\n\t// | | | |\n\t// 18--19--20 25--26--27\n\t// | | | |\n\t// | | | |\n\t// 21------22 28------29\n\tindices[++ii] = voffset + 16;\n\tindices[++ii] = voffset + 17;\n\tindices[++ii] = voffset + 19;\n\tindices[++ii] = voffset + 19;\n\tindices[++ii] = voffset + 17;\n\tindices[++ii] = voffset + 20;\n\n\tindices[++ii] = voffset + 18;\n\tindices[++ii] = voffset + 20;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 21;\n\tindices[++ii] = voffset + 20;\n\tindices[++ii] = voffset + 22;\n\n\tindices[++ii] = voffset + 23;\n\tindices[++ii] = voffset + 24;\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 24;\n\tindices[++ii] = voffset + 26;\n\n\tindices[++ii] = voffset + 25;\n\tindices[++ii] = voffset + 27;\n\tindices[++ii] = voffset + 28;\n\tindices[++ii] = voffset + 28;\n\tindices[++ii] = voffset + 27;\n\tindices[++ii] = voffset + 29;\n\n\t// 30------31 37------38\n\t// | | | |\n\t// | | | |\n\t// 32--33--34 39--40--41\n\t// | | | |\n\t// |---| |---|\n\t// 35 36 42 43\n\tindices[++ii] = voffset + 30;\n\tindices[++ii] = voffset + 31;\n\tindices[++ii] = voffset + 32;\n\tindices[++ii] = voffset + 32;\n\tindices[++ii] = voffset + 31;\n\tindices[++ii] = voffset + 34;\n\n\tindices[++ii] = voffset + 33;\n\tindices[++ii] = voffset + 34;\n\tindices[++ii] = voffset + 35;\n\tindices[++ii] = voffset + 35;\n\tindices[++ii] = voffset + 34;\n\tindices[++ii] = voffset + 36;\n\n\tindices[++ii] = voffset + 37;\n\tindices[++ii] = voffset + 38;\n\tindices[++ii] = voffset + 39;\n\tindices[++ii] = voffset + 39;\n\tindices[++ii] = voffset + 38;\n\tindices[++ii] = voffset + 41;\n\n\tindices[++ii] = voffset + 39;\n\tindices[++ii] = voffset + 40;\n\tindices[++ii] = voffset + 42;\n\tindices[++ii] = voffset + 42;\n\tindices[++ii] = voffset + 40;\n\tindices[++ii] = voffset + 43;\n};\n\nexport const buildRectangleRoundedVertex = (\n\tvertices: Float32Array,\n\tvoffset: number,\n\toriginX: number,\n\toriginY: number,\n\tsizeX: number,\n\tsizeY: number,\n\tstrokeAlign: number,\n\tstrokeWidth: number,\n\tradius: number,\n\tinternalTransform: Matrix,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\t// b0 b1 b2\n\t// |-------|-------|\n\t// | | |\n\t// b3------b4------b5\n\t// | | |\n\t// |-------|-------|\n\t// b6 b7 b8\n\tconst s = strokeAlign * strokeWidth;\n\tconst sx = sizeX * 0.5 + (0 <= sizeX ? +s : -s);\n\tconst sy = sizeY * 0.5 + (0 <= sizeY ? +s : -s);\n\tconst ax = Math.abs(sx);\n\tconst ay = Math.abs(sy);\n\tconst a = radius * Math.min(ax, ay);\n\tconst rx = a / ax;\n\tconst ry = a / ay;\n\tconst work = RECTANGLE_ROUNDED_WORK_POINT;\n\twork.set(originX - sx, originY - sy);\n\tinternalTransform.apply(work, work);\n\tconst b0x = work.x;\n\tconst b0y = work.y;\n\twork.set(originX, originY - sy);\n\tinternalTransform.apply(work, work);\n\tconst b1x = work.x;\n\tconst b1y = work.y;\n\twork.set(originX - sx, originY);\n\tinternalTransform.apply(work, work);\n\tconst b3x = work.x;\n\tconst b3y = work.y;\n\n\tconst d01x = b1x - b0x;\n\tconst d01y = b1y - b0y;\n\tconst d03x = b3x - b0x;\n\tconst d03y = b3y - b0y;\n\n\tconst b2x = b1x + d01x;\n\tconst b2y = b1y + d01y;\n\tconst b4x = b3x + d01x;\n\tconst b4y = b3y + d01y;\n\tconst b5x = b2x + d03x;\n\tconst b5y = b2y + d03y;\n\tconst b6x = b3x + d03x;\n\tconst b6y = b3y + d03y;\n\tconst b7x = b6x + d01x;\n\tconst b7y = b6y + d01y;\n\tconst b8x = b7x + d01x;\n\tconst b8y = b7y + d01y;\n\n\tconst r01x = rx * d01x;\n\tconst r01y = rx * d01y;\n\tconst r03x = ry * d03x;\n\tconst r03y = ry * d03y;\n\n\t// c0 c1 c4 c5\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t// c2 c3 c6 c7\n\t//\n\t// c8 c9 c12 c13\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t//c10 c11 c14 c15\n\tconst c0x = b0x;\n\tconst c0y = b0y;\n\tconst c1x = c0x + r01x;\n\tconst c1y = c0y + r01y;\n\tconst c2x = c0x + r03x;\n\tconst c2y = c0y + r03y;\n\tconst c3x = c2x + r01x;\n\tconst c3y = c2y + r01y;\n\tlet iv = voffset * 2 - 1;\n\tvertices[++iv] = c0x;\n\tvertices[++iv] = c0y;\n\tvertices[++iv] = c1x;\n\tvertices[++iv] = c1y;\n\tvertices[++iv] = c2x;\n\tvertices[++iv] = c2y;\n\tvertices[++iv] = c3x;\n\tvertices[++iv] = c3y;\n\n\tconst c5x = b2x;\n\tconst c5y = b2y;\n\tconst c4x = b2x - r01x;\n\tconst c4y = b2y - r01y;\n\tconst c6x = c4x + r03x;\n\tconst c6y = c4y + r03y;\n\tconst c7x = c6x + r01x;\n\tconst c7y = c6y + r01y;\n\tvertices[++iv] = c4x;\n\tvertices[++iv] = c4y;\n\tvertices[++iv] = c5x;\n\tvertices[++iv] = c5y;\n\tvertices[++iv] = c6x;\n\tvertices[++iv] = c6y;\n\tvertices[++iv] = c7x;\n\tvertices[++iv] = c7y;\n\n\tconst c10x = b6x;\n\tconst c10y = b6y;\n\tconst c8x = c10x - r03x;\n\tconst c8y = c10y - r03y;\n\tconst c11x = c10x + r01x;\n\tconst c11y = c10y + r01y;\n\tconst c9x = c8x + r01x;\n\tconst c9y = c8y + r01y;\n\tvertices[++iv] = c8x;\n\tvertices[++iv] = c8y;\n\tvertices[++iv] = c9x;\n\tvertices[++iv] = c9y;\n\tvertices[++iv] = c10x;\n\tvertices[++iv] = c10y;\n\tvertices[++iv] = c11x;\n\tvertices[++iv] = c11y;\n\n\tconst c15x = b8x;\n\tconst c15y = b8y;\n\tconst c14x = c15x - r01x;\n\tconst c14y = c15y - r01y;\n\tconst c13x = c15x - r03x;\n\tconst c13y = c15y - r03y;\n\tconst c12x = c13x - r01x;\n\tconst c12y = c13y - r01y;\n\tvertices[++iv] = c12x;\n\tvertices[++iv] = c12y;\n\tvertices[++iv] = c13x;\n\tvertices[++iv] = c13y;\n\tvertices[++iv] = c14x;\n\tvertices[++iv] = c14y;\n\tvertices[++iv] = c15x;\n\tvertices[++iv] = c15y;\n\n\t// 16 17 23 24\n\t// |---| |---|\n\t// | | | |\n\t// 18--19--20 25--26--27\n\t// | | | |\n\t// | | | |\n\t// 21------22 28------29\n\tconst c16x = c1x;\n\tconst c16y = c1y;\n\tconst c17x = b1x;\n\tconst c17y = b1y;\n\tconst c18x = c2x;\n\tconst c18y = c2y;\n\tconst c19x = c3x;\n\tconst c19y = c3y;\n\tconst c20x = c17x + r03x;\n\tconst c20y = c17y + r03y;\n\tconst c21x = b3x;\n\tconst c21y = b3y;\n\tconst c22x = b4x;\n\tconst c22y = b4y;\n\tvertices[++iv] = c16x;\n\tvertices[++iv] = c16y;\n\tvertices[++iv] = c17x;\n\tvertices[++iv] = c17y;\n\tvertices[++iv] = c18x;\n\tvertices[++iv] = c18y;\n\tvertices[++iv] = c19x;\n\tvertices[++iv] = c19y;\n\tvertices[++iv] = c20x;\n\tvertices[++iv] = c20y;\n\tvertices[++iv] = c21x;\n\tvertices[++iv] = c21y;\n\tvertices[++iv] = c22x;\n\tvertices[++iv] = c22y;\n\n\tconst c23x = c17x;\n\tconst c23y = c17y;\n\tconst c24x = c4x;\n\tconst c24y = c4y;\n\tconst c25x = c20x;\n\tconst c25y = c20y;\n\tconst c26x = c6x;\n\tconst c26y = c6y;\n\tconst c27x = c7x;\n\tconst c27y = c7y;\n\tconst c28x = c22x;\n\tconst c28y = c22y;\n\tconst c29x = b5x;\n\tconst c29y = b5y;\n\tvertices[++iv] = c23x;\n\tvertices[++iv] = c23y;\n\tvertices[++iv] = c24x;\n\tvertices[++iv] = c24y;\n\tvertices[++iv] = c25x;\n\tvertices[++iv] = c25y;\n\tvertices[++iv] = c26x;\n\tvertices[++iv] = c26y;\n\tvertices[++iv] = c27x;\n\tvertices[++iv] = c27y;\n\tvertices[++iv] = c28x;\n\tvertices[++iv] = c28y;\n\tvertices[++iv] = c29x;\n\tvertices[++iv] = c29y;\n\n\t// 30------31 37------38\n\t// | | | |\n\t// | | | |\n\t// 32--33--34 39--40--41\n\t// | | | |\n\t// |---| |---|\n\t// 35 36 42 43\n\tconst c30x = c21x;\n\tconst c30y = c21y;\n\tconst c31x = c22x;\n\tconst c31y = c22y;\n\tconst c32x = c8x;\n\tconst c32y = c8y;\n\tconst c33x = c9x;\n\tconst c33y = c9y;\n\tconst c34x = b7x - r03x;\n\tconst c34y = b7y - r03y;\n\tconst c35x = c11x;\n\tconst c35y = c11y;\n\tconst c36x = b7x;\n\tconst c36y = b7y;\n\tvertices[++iv] = c30x;\n\tvertices[++iv] = c30y;\n\tvertices[++iv] = c31x;\n\tvertices[++iv] = c31y;\n\tvertices[++iv] = c32x;\n\tvertices[++iv] = c32y;\n\tvertices[++iv] = c33x;\n\tvertices[++iv] = c33y;\n\tvertices[++iv] = c34x;\n\tvertices[++iv] = c34y;\n\tvertices[++iv] = c35x;\n\tvertices[++iv] = c35y;\n\tvertices[++iv] = c36x;\n\tvertices[++iv] = c36y;\n\n\tconst c37x = c31x;\n\tconst c37y = c31y;\n\tconst c38x = c29x;\n\tconst c38y = c29y;\n\tconst c39x = c34x;\n\tconst c39y = c34y;\n\tconst c40x = c12x;\n\tconst c40y = c12y;\n\tconst c41x = c13x;\n\tconst c41y = c13y;\n\tconst c42x = c36x;\n\tconst c42y = c36y;\n\tconst c43x = c14x;\n\tconst c43y = c14y;\n\tvertices[++iv] = c37x;\n\tvertices[++iv] = c37y;\n\tvertices[++iv] = c38x;\n\tvertices[++iv] = c38y;\n\tvertices[++iv] = c39x;\n\tvertices[++iv] = c39y;\n\tvertices[++iv] = c40x;\n\tvertices[++iv] = c40y;\n\tvertices[++iv] = c41x;\n\tvertices[++iv] = c41y;\n\tvertices[++iv] = c42x;\n\tvertices[++iv] = c42y;\n\tvertices[++iv] = c43x;\n\tvertices[++iv] = c43y;\n\n\t// World size\n\tworldSize[0] = ax;\n\tworldSize[1] = ay;\n\tworldSize[2] = a;\n\tworldSize[3] = rx;\n\tworldSize[4] = ry;\n};\n\nexport const buildRectangleRoundedStep = (\n\tsteps: Float32Array,\n\tvoffset: number,\n\tstrokeWidth: number,\n\tstrokeSide: EShapeStrokeSide,\n\tstrokeStyle: EShapeStrokeStyle,\n\tcorner: EShapeCorner,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\n\tconst ax = worldSize[0];\n\tconst ay = worldSize[1];\n\tconst a = worldSize[2];\n\n\tconst wt = strokeSide & EShapeStrokeSide.TOP ? 1 : 0;\n\tconst wr = strokeSide & EShapeStrokeSide.RIGHT ? 1 : 0;\n\tconst wb = strokeSide & EShapeStrokeSide.BOTTOM ? 1 : 0;\n\tconst wl = strokeSide & EShapeStrokeSide.LEFT ? 1 : 0;\n\n\tconst elt0 = toPackedI4x64(0, scaleInvariant, wl, wt);\n\tconst ert0 = toPackedI4x64(0, scaleInvariant, wr, wt);\n\tconst elb0 = toPackedI4x64(0, scaleInvariant, wl, wb);\n\tconst erb0 = toPackedI4x64(0, scaleInvariant, wr, wb);\n\n\tconst elt1 = toPackedI4x64(1, scaleInvariant, wl, wt);\n\tconst ert1 = toPackedI4x64(1, scaleInvariant, wr, wt);\n\tconst elb1 = toPackedI4x64(1, scaleInvariant, wl, wb);\n\tconst erb1 = toPackedI4x64(1, scaleInvariant, wr, wb);\n\n\tconst rxi = 1 - worldSize[3];\n\tconst ryi = 1 - worldSize[4];\n\tconst c11 = toPackedF2x1024(1, 1);\n\tconst c01 = toPackedF2x1024(0, 1);\n\tconst c10 = toPackedF2x1024(1, 0);\n\tconst c00 = toPackedF2x1024(0, 0);\n\tconst cx1 = toPackedF2x1024(rxi, 1);\n\tconst c1y = toPackedF2x1024(1, ryi);\n\tconst cxy = toPackedF2x1024(rxi, ryi);\n\tconst c0y = toPackedF2x1024(0, ryi);\n\n\t// c0 c1 c4 c5\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t// c2 c3 c6 c7\n\t//\n\t// c8 c9 c12 c13\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t//c10 c11 c14 c15\n\tlet is = voffset * 6 - 1;\n\tif (corner & EShapeCorner.TOP_LEFT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c01;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c10;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c00;\n\t\tsteps[++is] = 0;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cx1;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c1y;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elt0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cxy;\n\t\tsteps[++is] = 0;\n\t}\n\n\tif (corner & EShapeCorner.TOP_RIGHT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c01;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c00;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c10;\n\t\tsteps[++is] = 0;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cx1;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cxy;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = ert0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c1y;\n\t\tsteps[++is] = 0;\n\t}\n\n\tif (corner & EShapeCorner.BOTTOM_LEFT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c10;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c00;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c01;\n\t\tsteps[++is] = 0;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c1y;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cxy;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = elb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cx1;\n\t\tsteps[++is] = 0;\n\t}\n\n\tif (corner & EShapeCorner.BOTTOM_RIGHT) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c00;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c10;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c01;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb1;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = a;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\t} else {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cxy;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c1y;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = cx1;\n\t\tsteps[++is] = 0;\n\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = erb0;\n\t\tsteps[++is] = ax;\n\t\tsteps[++is] = ay;\n\t\tsteps[++is] = c11;\n\t\tsteps[++is] = 0;\n\t}\n\n\t// 16 17 23 24\n\t// |---| |---|\n\t// | | | |\n\t// 18--19--20 25--26--27\n\t// | | | |\n\t// | | | |\n\t// 21------22 28------29\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cx1;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c1y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cxy;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c0y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elt0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c00;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cx1;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c0y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cxy;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c1y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c00;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = ert0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\t// 30------31 37------38\n\t// | | | |\n\t// | | | |\n\t// 32--33--34 39--40--41\n\t// | | | |\n\t// |---| |---|\n\t// 35 36 42 43\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c00;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c1y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cxy;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c0y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cx1;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = elb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c00;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c0y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cxy;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c1y;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = erb0;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = cx1;\n\tsteps[++is] = 0;\n};\n\nexport const buildRectangleRoundedUv = (\n\tuvs: Float32Array,\n\tvoffset: number,\n\ttextureUvs: TextureUvs,\n\tworldSize: typeof RECTANGLE_ROUNDED_WORLD_SIZE\n): void => {\n\t// b0 b1 b2\n\t// |-------|-------|\n\t// | | |\n\t// b3------b4------b5\n\t// | | |\n\t// |-------|-------|\n\t// b6 b7 b8\n\tconst b0x = textureUvs.x0;\n\tconst b0y = textureUvs.y0;\n\tconst b2x = textureUvs.x1;\n\tconst b2y = textureUvs.y1;\n\tconst b8x = textureUvs.x2;\n\tconst b8y = textureUvs.y2;\n\tconst b6x = textureUvs.x3;\n\tconst b6y = textureUvs.y3;\n\n\tconst b1x = (b0x + b2x) * 0.5;\n\tconst b1y = (b0y + b2y) * 0.5;\n\tconst b3x = (b0x + b6x) * 0.5;\n\tconst b3y = (b0y + b6y) * 0.5;\n\n\tconst d01x = b1x - b0x;\n\tconst d01y = b1y - b0y;\n\tconst d03x = b3x - b0x;\n\tconst d03y = b3y - b0y;\n\n\tconst b4x = b3x + d01x;\n\tconst b4y = b3y + d01y;\n\tconst b5x = b2x + d03x;\n\tconst b5y = b2y + d03y;\n\tconst b7x = b6x + d01x;\n\tconst b7y = b6y + d01y;\n\n\tconst rx = worldSize[3];\n\tconst ry = worldSize[4];\n\tconst r01x = rx * d01x;\n\tconst r01y = rx * d01y;\n\tconst r03x = ry * d03x;\n\tconst r03y = ry * d03y;\n\n\t// c0 c1 c4 c5\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t// c2 c3 c6 c7\n\t//\n\t// c8 c9 c12 c13\n\t// |---| |---|\n\t// | | | |\n\t// |---| |---|\n\t//c10 c11 c14 c15\n\tconst c0x = b0x;\n\tconst c0y = b0y;\n\tconst c1x = c0x + r01x;\n\tconst c1y = c0y + r01y;\n\tconst c2x = c0x + r03x;\n\tconst c2y = c0y + r03y;\n\tconst c3x = c2x + r01x;\n\tconst c3y = c2y + r01y;\n\tlet iuv = voffset * 2 - 1;\n\tuvs[++iuv] = c0x;\n\tuvs[++iuv] = c0y;\n\tuvs[++iuv] = c1x;\n\tuvs[++iuv] = c1y;\n\tuvs[++iuv] = c2x;\n\tuvs[++iuv] = c2y;\n\tuvs[++iuv] = c3x;\n\tuvs[++iuv] = c3y;\n\n\tconst c5x = b2x;\n\tconst c5y = b2y;\n\tconst c4x = b2x - r01x;\n\tconst c4y = b2y - r01y;\n\tconst c6x = c4x + r03x;\n\tconst c6y = c4y + r03y;\n\tconst c7x = c6x + r01x;\n\tconst c7y = c6y + r01y;\n\tuvs[++iuv] = c4x;\n\tuvs[++iuv] = c4y;\n\tuvs[++iuv] = c5x;\n\tuvs[++iuv] = c5y;\n\tuvs[++iuv] = c6x;\n\tuvs[++iuv] = c6y;\n\tuvs[++iuv] = c7x;\n\tuvs[++iuv] = c7y;\n\n\tconst c10x = b6x;\n\tconst c10y = b6y;\n\tconst c8x = c10x - r03x;\n\tconst c8y = c10y - r03y;\n\tconst c11x = c10x + r01x;\n\tconst c11y = c10y + r01y;\n\tconst c9x = c8x + r01x;\n\tconst c9y = c8y + r01y;\n\tuvs[++iuv] = c8x;\n\tuvs[++iuv] = c8y;\n\tuvs[++iuv] = c9x;\n\tuvs[++iuv] = c9y;\n\tuvs[++iuv] = c10x;\n\tuvs[++iuv] = c10y;\n\tuvs[++iuv] = c11x;\n\tuvs[++iuv] = c11y;\n\n\tconst c15x = b8x;\n\tconst c15y = b8y;\n\tconst c14x = c15x - r01x;\n\tconst c14y = c15y - r01y;\n\tconst c13x = c15x - r03x;\n\tconst c13y = c15y - r03y;\n\tconst c12x = c13x - r01x;\n\tconst c12y = c13y - r01y;\n\tuvs[++iuv] = c12x;\n\tuvs[++iuv] = c12y;\n\tuvs[++iuv] = c13x;\n\tuvs[++iuv] = c13y;\n\tuvs[++iuv] = c14x;\n\tuvs[++iuv] = c14y;\n\tuvs[++iuv] = c15x;\n\tuvs[++iuv] = c15y;\n\n\t// 16 17 23 24\n\t// |---| |---|\n\t// | | | |\n\t// 18--19--20 25--26--27\n\t// | | | |\n\t// | | | |\n\t// 21------22 28------29\n\tconst c16x = c1x;\n\tconst c16y = c1y;\n\tconst c17x = b1x;\n\tconst c17y = b1y;\n\tconst c18x = c2x;\n\tconst c18y = c2y;\n\tconst c19x = c3x;\n\tconst c19y = c3y;\n\tconst c20x = c17x + r03x;\n\tconst c20y = c17y + r03y;\n\tconst c21x = b3x;\n\tconst c21y = b3y;\n\tconst c22x = b4x;\n\tconst c22y = b4y;\n\tuvs[++iuv] = c16x;\n\tuvs[++iuv] = c16y;\n\tuvs[++iuv] = c17x;\n\tuvs[++iuv] = c17y;\n\tuvs[++iuv] = c18x;\n\tuvs[++iuv] = c18y;\n\tuvs[++iuv] = c19x;\n\tuvs[++iuv] = c19y;\n\tuvs[++iuv] = c20x;\n\tuvs[++iuv] = c20y;\n\tuvs[++iuv] = c21x;\n\tuvs[++iuv] = c21y;\n\tuvs[++iuv] = c22x;\n\tuvs[++iuv] = c22y;\n\n\tconst c23x = c17x;\n\tconst c23y = c17y;\n\tconst c24x = c4x;\n\tconst c24y = c4y;\n\tconst c25x = c20x;\n\tconst c25y = c20y;\n\tconst c26x = c6x;\n\tconst c26y = c6y;\n\tconst c27x = c7x;\n\tconst c27y = c7y;\n\tconst c28x = c22x;\n\tconst c28y = c22y;\n\tconst c29x = b5x;\n\tconst c29y = b5y;\n\tuvs[++iuv] = c23x;\n\tuvs[++iuv] = c23y;\n\tuvs[++iuv] = c24x;\n\tuvs[++iuv] = c24y;\n\tuvs[++iuv] = c25x;\n\tuvs[++iuv] = c25y;\n\tuvs[++iuv] = c26x;\n\tuvs[++iuv] = c26y;\n\tuvs[++iuv] = c27x;\n\tuvs[++iuv] = c27y;\n\tuvs[++iuv] = c28x;\n\tuvs[++iuv] = c28y;\n\tuvs[++iuv] = c29x;\n\tuvs[++iuv] = c29y;\n\n\t// 30------31 37------38\n\t// | | | |\n\t// | | | |\n\t// 32--33--34 39--40--41\n\t// | | | |\n\t// |---| |---|\n\t// 35 36 42 43\n\tconst c30x = c21x;\n\tconst c30y = c21y;\n\tconst c31x = c22x;\n\tconst c31y = c22y;\n\tconst c32x = c8x;\n\tconst c32y = c8y;\n\tconst c33x = c9x;\n\tconst c33y = c9y;\n\tconst c34x = b7x - r03x;\n\tconst c34y = b7y - r03y;\n\tconst c35x = c11x;\n\tconst c35y = c11y;\n\tconst c36x = b7x;\n\tconst c36y = b7y;\n\tuvs[++iuv] = c30x;\n\tuvs[++iuv] = c30y;\n\tuvs[++iuv] = c31x;\n\tuvs[++iuv] = c31y;\n\tuvs[++iuv] = c32x;\n\tuvs[++iuv] = c32y;\n\tuvs[++iuv] = c33x;\n\tuvs[++iuv] = c33y;\n\tuvs[++iuv] = c34x;\n\tuvs[++iuv] = c34y;\n\tuvs[++iuv] = c35x;\n\tuvs[++iuv] = c35y;\n\tuvs[++iuv] = c36x;\n\tuvs[++iuv] = c36y;\n\n\tconst c37x = c31x;\n\tconst c37y = c31y;\n\tconst c38x = c29x;\n\tconst c38y = c29y;\n\tconst c39x = c34x;\n\tconst c39y = c34y;\n\tconst c40x = c12x;\n\tconst c40y = c12y;\n\tconst c41x = c13x;\n\tconst c41y = c13y;\n\tconst c42x = c36x;\n\tconst c42y = c36y;\n\tconst c43x = c14x;\n\tconst c43y = c14y;\n\tuvs[++iuv] = c37x;\n\tuvs[++iuv] = c37y;\n\tuvs[++iuv] = c38x;\n\tuvs[++iuv] = c38y;\n\tuvs[++iuv] = c39x;\n\tuvs[++iuv] = c39y;\n\tuvs[++iuv] = c40x;\n\tuvs[++iuv] = c40y;\n\tuvs[++iuv] = c41x;\n\tuvs[++iuv] = c41y;\n\tuvs[++iuv] = c42x;\n\tuvs[++iuv] = c42y;\n\tuvs[++iuv] = c43x;\n\tuvs[++iuv] = c43y;\n};\n"]}
|