@retikz/core 0.3.0-alpha.5 → 0.3.0-beta.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/dist/es/arrows/define.d.ts +9 -0
- package/dist/es/arrows/define.d.ts.map +1 -0
- package/dist/es/arrows/define.js +10 -0
- package/dist/es/arrows/index.d.ts +3 -1
- package/dist/es/arrows/index.d.ts.map +1 -1
- package/dist/es/arrows/index.js +15 -2
- package/dist/es/arrows/types.d.ts +4 -2
- package/dist/es/arrows/types.d.ts.map +1 -1
- package/dist/es/compile/anchor-cache.d.ts +3 -3
- package/dist/es/compile/anchor-cache.d.ts.map +1 -1
- package/dist/es/compile/anchor-cache.js +18 -5
- package/dist/es/compile/compile.d.ts +5 -14
- package/dist/es/compile/compile.d.ts.map +1 -1
- package/dist/es/compile/compile.js +46 -43
- package/dist/es/compile/{lowerComposites.d.ts → composite.d.ts} +9 -2
- package/dist/es/compile/composite.d.ts.map +1 -0
- package/dist/es/compile/{lowerComposites.js → composite.js} +9 -1
- package/dist/es/compile/constant.d.ts +30 -0
- package/dist/es/compile/constant.d.ts.map +1 -0
- package/dist/es/compile/constant.js +21 -0
- package/dist/es/compile/direction.d.ts +27 -0
- package/dist/es/compile/direction.d.ts.map +1 -0
- package/dist/es/compile/direction.js +30 -0
- package/dist/es/compile/index.d.ts +3 -1
- package/dist/es/compile/index.d.ts.map +1 -1
- package/dist/es/compile/name-stack.d.ts +3 -1
- package/dist/es/compile/name-stack.d.ts.map +1 -1
- package/dist/es/compile/name-stack.js +5 -1
- package/dist/es/compile/node.d.ts +19 -8
- package/dist/es/compile/node.d.ts.map +1 -1
- package/dist/es/compile/node.js +56 -70
- package/dist/es/compile/paint.js +1 -1
- package/dist/es/compile/path/anchor.d.ts +4 -3
- package/dist/es/compile/path/anchor.d.ts.map +1 -1
- package/dist/es/compile/path/anchor.js +9 -12
- package/dist/es/compile/path/index.d.ts +6 -8
- package/dist/es/compile/path/index.d.ts.map +1 -1
- package/dist/es/compile/path/index.js +97 -44
- package/dist/es/compile/path/label.d.ts.map +1 -1
- package/dist/es/compile/path/label.js +8 -4
- package/dist/es/compile/path/relative.d.ts +1 -1
- package/dist/es/compile/path/relative.js +1 -1
- package/dist/es/compile/path/shrink.d.ts +3 -1
- package/dist/es/compile/path/shrink.d.ts.map +1 -1
- package/dist/es/compile/path/shrink.js +16 -11
- package/dist/es/compile/position.d.ts +2 -2
- package/dist/es/compile/position.d.ts.map +1 -1
- package/dist/es/compile/position.js +6 -19
- package/dist/es/compile/precision.d.ts +1 -1
- package/dist/es/compile/precision.d.ts.map +1 -1
- package/dist/es/compile/precision.js +2 -2
- package/dist/es/compile/scope.d.ts +7 -5
- package/dist/es/compile/scope.d.ts.map +1 -1
- package/dist/es/compile/scope.js +44 -16
- package/dist/es/compile/style.d.ts +2 -2
- package/dist/es/compile/style.d.ts.map +1 -1
- package/dist/es/compile/style.js +2 -2
- package/dist/es/compile/text-metrics.d.ts +1 -1
- package/dist/es/compile/text-metrics.js +2 -2
- package/dist/es/composites/define.d.ts +8 -0
- package/dist/es/composites/define.d.ts.map +1 -0
- package/dist/es/composites/{types.js → define.js} +2 -2
- package/dist/es/composites/index.d.ts +1 -1
- package/dist/es/composites/index.d.ts.map +1 -1
- package/dist/es/composites/types.d.ts +0 -6
- package/dist/es/composites/types.d.ts.map +1 -1
- package/dist/es/geometry/anchor.d.ts +33 -0
- package/dist/es/geometry/anchor.d.ts.map +1 -0
- package/dist/es/geometry/anchor.js +45 -0
- package/dist/es/geometry/bend.d.ts +1 -1
- package/dist/es/geometry/bend.js +3 -3
- package/dist/es/geometry/circle.d.ts +4 -4
- package/dist/es/geometry/circle.d.ts.map +1 -1
- package/dist/es/geometry/circle.js +3 -3
- package/dist/es/geometry/{roundedContour.d.ts → contour.d.ts} +9 -5
- package/dist/es/geometry/contour.d.ts.map +1 -0
- package/dist/es/geometry/{roundedContour.js → contour.js} +27 -37
- package/dist/es/geometry/diamond.d.ts +10 -4
- package/dist/es/geometry/diamond.d.ts.map +1 -1
- package/dist/es/geometry/diamond.js +11 -3
- package/dist/{lib/geometry/_edge.d.ts → es/geometry/edge.d.ts} +1 -1
- package/dist/es/geometry/edge.d.ts.map +1 -0
- package/dist/es/geometry/{_edge.js → edge.js} +1 -1
- package/dist/es/geometry/ellipse.d.ts +3 -3
- package/dist/es/geometry/ellipse.d.ts.map +1 -1
- package/dist/es/geometry/ellipse.js +4 -2
- package/dist/es/geometry/index.d.ts +6 -1
- package/dist/es/geometry/index.d.ts.map +1 -1
- package/dist/es/geometry/point.d.ts +6 -0
- package/dist/es/geometry/point.d.ts.map +1 -1
- package/dist/es/geometry/point.js +17 -0
- package/dist/es/geometry/rect.d.ts +4 -17
- package/dist/es/geometry/rect.d.ts.map +1 -1
- package/dist/es/geometry/rect.js +4 -16
- package/dist/es/geometry/segment.d.ts +7 -0
- package/dist/es/geometry/segment.d.ts.map +1 -1
- package/dist/es/geometry/segment.js +48 -47
- package/dist/{lib/geometry/_transform.d.ts → es/geometry/transform.d.ts} +1 -1
- package/dist/es/geometry/transform.d.ts.map +1 -0
- package/dist/es/geometry/{_transform.js → transform.js} +1 -1
- package/dist/es/index.d.ts +13 -13
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +20 -16
- package/dist/es/ir/animation.d.ts +26 -125
- package/dist/es/ir/animation.d.ts.map +1 -1
- package/dist/es/ir/animation.js +6 -6
- package/dist/es/ir/boundary.d.ts +4 -10
- package/dist/es/ir/boundary.d.ts.map +1 -1
- package/dist/es/ir/clip.d.ts +6 -46
- package/dist/es/ir/clip.d.ts.map +1 -1
- package/dist/es/ir/composite.d.ts +2 -14
- package/dist/es/ir/composite.d.ts.map +1 -1
- package/dist/es/ir/coordinate.d.ts +14 -50
- package/dist/es/ir/coordinate.d.ts.map +1 -1
- package/dist/es/ir/coordinate.js +1 -1
- package/dist/es/ir/font.d.ts +10 -13
- package/dist/es/ir/font.d.ts.map +1 -1
- package/dist/es/ir/json.d.ts +1 -1
- package/dist/es/ir/json.d.ts.map +1 -1
- package/dist/es/ir/json.js +1 -1
- package/dist/es/ir/node.d.ts +175 -821
- package/dist/es/ir/node.d.ts.map +1 -1
- package/dist/es/ir/node.js +23 -23
- package/dist/es/ir/paint.d.ts +23 -100
- package/dist/es/ir/paint.d.ts.map +1 -1
- package/dist/es/ir/paint.js +10 -10
- package/dist/es/ir/path/arrow.d.ts +19 -131
- package/dist/es/ir/path/arrow.d.ts.map +1 -1
- package/dist/es/ir/path/arrow.js +18 -16
- package/dist/es/ir/path/path.d.ts +519 -3065
- package/dist/es/ir/path/path.d.ts.map +1 -1
- package/dist/es/ir/path/path.js +3 -3
- package/dist/es/ir/path/step.d.ts +929 -3474
- package/dist/es/ir/path/step.d.ts.map +1 -1
- package/dist/es/ir/path/step.js +74 -23
- package/dist/es/ir/path/target.d.ts +40 -121
- package/dist/es/ir/path/target.d.ts.map +1 -1
- package/dist/es/ir/path/target.js +3 -3
- package/dist/es/ir/position/at-position.d.ts +20 -28
- package/dist/es/ir/position/at-position.d.ts.map +1 -1
- package/dist/es/ir/position/at-position.js +11 -11
- package/dist/es/ir/position/offset-position.d.ts +2 -8
- package/dist/es/ir/position/offset-position.d.ts.map +1 -1
- package/dist/es/ir/scene.d.ts +17 -181
- package/dist/es/ir/scene.d.ts.map +1 -1
- package/dist/es/ir/scope.d.ts +315 -7291
- package/dist/es/ir/scope.d.ts.map +1 -1
- package/dist/es/ir/scope.js +10 -7
- package/dist/es/ir/shape.d.ts +2 -8
- package/dist/es/ir/shape.d.ts.map +1 -1
- package/dist/es/ir/text.d.ts +24 -70
- package/dist/es/ir/text.d.ts.map +1 -1
- package/dist/es/ir/transform.d.ts +47 -144
- package/dist/es/ir/transform.d.ts.map +1 -1
- package/dist/es/ir/transform.js +12 -5
- package/dist/es/parsers/index.d.ts +3 -3
- package/dist/es/parsers/index.d.ts.map +1 -1
- package/dist/es/parsers/{parseNodeTarget.d.ts → node-target.d.ts} +1 -1
- package/dist/es/parsers/node-target.d.ts.map +1 -0
- package/dist/es/parsers/{parseNodeTarget.js → node-target.js} +10 -8
- package/dist/{lib/parsers/parseTargetSugar.d.ts → es/parsers/target-sugar.d.ts} +1 -1
- package/dist/es/parsers/target-sugar.d.ts.map +1 -0
- package/dist/es/parsers/{parseTargetSugar.js → target-sugar.js} +9 -4
- package/dist/{lib/parsers/parseWay.d.ts → es/parsers/way.d.ts} +2 -2
- package/dist/es/parsers/way.d.ts.map +1 -0
- package/dist/es/parsers/{parseWay.js → way.js} +10 -6
- package/dist/es/path-generators/define.d.ts.map +1 -0
- package/dist/es/{pathGenerators → path-generators}/define.js +1 -1
- package/dist/es/path-generators/index.d.ts.map +1 -0
- package/dist/es/path-generators/types.d.ts.map +1 -0
- package/dist/es/patterns/define.d.ts +9 -0
- package/dist/es/patterns/define.d.ts.map +1 -0
- package/dist/es/patterns/define.js +10 -0
- package/dist/es/patterns/index.d.ts +1 -0
- package/dist/es/patterns/index.d.ts.map +1 -1
- package/dist/es/patterns/index.js +42 -35
- package/dist/es/presets/animation.js +2 -2
- package/dist/es/primitive/marker.d.ts +7 -7
- package/dist/es/primitive/marker.d.ts.map +1 -1
- package/dist/es/primitive/paint.d.ts +1 -1
- package/dist/es/primitive/path.d.ts +1 -1
- package/dist/es/shapes/arc.d.ts.map +1 -1
- package/dist/es/shapes/arc.js +24 -5
- package/dist/{lib/shapes/_contour.d.ts → es/shapes/contour.d.ts} +6 -3
- package/dist/es/shapes/contour.d.ts.map +1 -0
- package/dist/es/shapes/{_contour.js → contour.js} +14 -2
- package/dist/es/shapes/ellipse.js +2 -2
- package/dist/es/shapes/index.d.ts +1 -1
- package/dist/es/shapes/index.d.ts.map +1 -1
- package/dist/es/shapes/index.js +1 -1
- package/dist/es/shapes/polygon.d.ts +1 -1
- package/dist/es/shapes/polygon.d.ts.map +1 -1
- package/dist/es/shapes/polygon.js +26 -21
- package/dist/es/shapes/rectangle.js +6 -6
- package/dist/es/shapes/sector.d.ts.map +1 -1
- package/dist/es/shapes/sector.js +30 -22
- package/dist/es/shapes/{_shared.d.ts → shared.d.ts} +7 -10
- package/dist/es/shapes/shared.d.ts.map +1 -0
- package/dist/es/shapes/{_shared.js → shared.js} +13 -15
- package/dist/es/shapes/star.d.ts.map +1 -1
- package/dist/es/shapes/star.js +6 -15
- package/dist/es/shapes/types.d.ts +10 -3
- package/dist/es/shapes/types.d.ts.map +1 -1
- package/dist/es/types.d.ts +1 -1
- package/dist/lib/arrows/define.cjs +10 -0
- package/dist/lib/arrows/define.d.ts +9 -0
- package/dist/lib/arrows/define.d.ts.map +1 -0
- package/dist/lib/arrows/index.cjs +15 -2
- package/dist/lib/arrows/index.d.ts +3 -1
- package/dist/lib/arrows/index.d.ts.map +1 -1
- package/dist/lib/arrows/types.d.ts +4 -2
- package/dist/lib/arrows/types.d.ts.map +1 -1
- package/dist/lib/compile/anchor-cache.cjs +17 -4
- package/dist/lib/compile/anchor-cache.d.ts +3 -3
- package/dist/lib/compile/anchor-cache.d.ts.map +1 -1
- package/dist/lib/compile/compile.cjs +44 -41
- package/dist/lib/compile/compile.d.ts +5 -14
- package/dist/lib/compile/compile.d.ts.map +1 -1
- package/dist/lib/compile/{lowerComposites.cjs → composite.cjs} +9 -1
- package/dist/lib/compile/{lowerComposites.d.ts → composite.d.ts} +9 -2
- package/dist/lib/compile/composite.d.ts.map +1 -0
- package/dist/lib/compile/constant.cjs +22 -0
- package/dist/lib/compile/constant.d.ts +30 -0
- package/dist/lib/compile/constant.d.ts.map +1 -0
- package/dist/lib/compile/direction.cjs +31 -0
- package/dist/lib/compile/direction.d.ts +27 -0
- package/dist/lib/compile/direction.d.ts.map +1 -0
- package/dist/lib/compile/index.d.ts +3 -1
- package/dist/lib/compile/index.d.ts.map +1 -1
- package/dist/lib/compile/name-stack.cjs +5 -1
- package/dist/lib/compile/name-stack.d.ts +3 -1
- package/dist/lib/compile/name-stack.d.ts.map +1 -1
- package/dist/lib/compile/node.cjs +56 -69
- package/dist/lib/compile/node.d.ts +19 -8
- package/dist/lib/compile/node.d.ts.map +1 -1
- package/dist/lib/compile/paint.cjs +1 -1
- package/dist/lib/compile/path/anchor.cjs +10 -12
- package/dist/lib/compile/path/anchor.d.ts +4 -3
- package/dist/lib/compile/path/anchor.d.ts.map +1 -1
- package/dist/lib/compile/path/index.cjs +95 -42
- package/dist/lib/compile/path/index.d.ts +6 -8
- package/dist/lib/compile/path/index.d.ts.map +1 -1
- package/dist/lib/compile/path/label.cjs +8 -4
- package/dist/lib/compile/path/label.d.ts.map +1 -1
- package/dist/lib/compile/path/relative.cjs +1 -1
- package/dist/lib/compile/path/relative.d.ts +1 -1
- package/dist/lib/compile/path/shrink.cjs +16 -11
- package/dist/lib/compile/path/shrink.d.ts +3 -1
- package/dist/lib/compile/path/shrink.d.ts.map +1 -1
- package/dist/lib/compile/position.cjs +6 -19
- package/dist/lib/compile/position.d.ts +2 -2
- package/dist/lib/compile/position.d.ts.map +1 -1
- package/dist/lib/compile/precision.cjs +2 -2
- package/dist/lib/compile/precision.d.ts +1 -1
- package/dist/lib/compile/precision.d.ts.map +1 -1
- package/dist/lib/compile/scope.cjs +44 -16
- package/dist/lib/compile/scope.d.ts +7 -5
- package/dist/lib/compile/scope.d.ts.map +1 -1
- package/dist/lib/compile/style.cjs +2 -2
- package/dist/lib/compile/style.d.ts +2 -2
- package/dist/lib/compile/style.d.ts.map +1 -1
- package/dist/lib/compile/text-metrics.cjs +2 -2
- package/dist/lib/compile/text-metrics.d.ts +1 -1
- package/dist/lib/composites/{types.cjs → define.cjs} +2 -2
- package/dist/lib/composites/define.d.ts +8 -0
- package/dist/lib/composites/define.d.ts.map +1 -0
- package/dist/lib/composites/index.d.ts +1 -1
- package/dist/lib/composites/index.d.ts.map +1 -1
- package/dist/lib/composites/types.d.ts +0 -6
- package/dist/lib/composites/types.d.ts.map +1 -1
- package/dist/lib/geometry/anchor.cjs +47 -0
- package/dist/lib/geometry/anchor.d.ts +33 -0
- package/dist/lib/geometry/anchor.d.ts.map +1 -0
- package/dist/lib/geometry/bend.cjs +3 -3
- package/dist/lib/geometry/bend.d.ts +1 -1
- package/dist/lib/geometry/circle.cjs +9 -9
- package/dist/lib/geometry/circle.d.ts +4 -4
- package/dist/lib/geometry/circle.d.ts.map +1 -1
- package/dist/lib/geometry/{roundedContour.cjs → contour.cjs} +26 -35
- package/dist/lib/geometry/{roundedContour.d.ts → contour.d.ts} +9 -5
- package/dist/lib/geometry/contour.d.ts.map +1 -0
- package/dist/lib/geometry/diamond.cjs +16 -8
- package/dist/lib/geometry/diamond.d.ts +10 -4
- package/dist/lib/geometry/diamond.d.ts.map +1 -1
- package/dist/lib/geometry/{_edge.cjs → edge.cjs} +1 -1
- package/dist/{es/geometry/_edge.d.ts → lib/geometry/edge.d.ts} +1 -1
- package/dist/lib/geometry/edge.d.ts.map +1 -0
- package/dist/lib/geometry/ellipse.cjs +10 -8
- package/dist/lib/geometry/ellipse.d.ts +3 -3
- package/dist/lib/geometry/ellipse.d.ts.map +1 -1
- package/dist/lib/geometry/index.d.ts +6 -1
- package/dist/lib/geometry/index.d.ts.map +1 -1
- package/dist/lib/geometry/point.cjs +17 -0
- package/dist/lib/geometry/point.d.ts +6 -0
- package/dist/lib/geometry/point.d.ts.map +1 -1
- package/dist/lib/geometry/rect.cjs +9 -22
- package/dist/lib/geometry/rect.d.ts +4 -17
- package/dist/lib/geometry/rect.d.ts.map +1 -1
- package/dist/lib/geometry/segment.cjs +48 -46
- package/dist/lib/geometry/segment.d.ts +7 -0
- package/dist/lib/geometry/segment.d.ts.map +1 -1
- package/dist/lib/geometry/{_transform.cjs → transform.cjs} +1 -1
- package/dist/{es/geometry/_transform.d.ts → lib/geometry/transform.d.ts} +1 -1
- package/dist/lib/geometry/transform.d.ts.map +1 -0
- package/dist/lib/index.cjs +35 -22
- package/dist/lib/index.d.ts +13 -13
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/ir/animation.cjs +6 -6
- package/dist/lib/ir/animation.d.ts +26 -125
- package/dist/lib/ir/animation.d.ts.map +1 -1
- package/dist/lib/ir/boundary.d.ts +4 -10
- package/dist/lib/ir/boundary.d.ts.map +1 -1
- package/dist/lib/ir/clip.d.ts +6 -46
- package/dist/lib/ir/clip.d.ts.map +1 -1
- package/dist/lib/ir/composite.d.ts +2 -14
- package/dist/lib/ir/composite.d.ts.map +1 -1
- package/dist/lib/ir/coordinate.cjs +1 -1
- package/dist/lib/ir/coordinate.d.ts +14 -50
- package/dist/lib/ir/coordinate.d.ts.map +1 -1
- package/dist/lib/ir/font.d.ts +10 -13
- package/dist/lib/ir/font.d.ts.map +1 -1
- package/dist/lib/ir/json.cjs +1 -1
- package/dist/lib/ir/json.d.ts +1 -1
- package/dist/lib/ir/json.d.ts.map +1 -1
- package/dist/lib/ir/node.cjs +23 -23
- package/dist/lib/ir/node.d.ts +175 -821
- package/dist/lib/ir/node.d.ts.map +1 -1
- package/dist/lib/ir/paint.cjs +10 -10
- package/dist/lib/ir/paint.d.ts +23 -100
- package/dist/lib/ir/paint.d.ts.map +1 -1
- package/dist/lib/ir/path/arrow.cjs +18 -16
- package/dist/lib/ir/path/arrow.d.ts +19 -131
- package/dist/lib/ir/path/arrow.d.ts.map +1 -1
- package/dist/lib/ir/path/path.cjs +4 -2
- package/dist/lib/ir/path/path.d.ts +519 -3065
- package/dist/lib/ir/path/path.d.ts.map +1 -1
- package/dist/lib/ir/path/step.cjs +74 -22
- package/dist/lib/ir/path/step.d.ts +929 -3474
- package/dist/lib/ir/path/step.d.ts.map +1 -1
- package/dist/lib/ir/path/target.cjs +3 -3
- package/dist/lib/ir/path/target.d.ts +40 -121
- package/dist/lib/ir/path/target.d.ts.map +1 -1
- package/dist/lib/ir/position/at-position.cjs +11 -11
- package/dist/lib/ir/position/at-position.d.ts +20 -28
- package/dist/lib/ir/position/at-position.d.ts.map +1 -1
- package/dist/lib/ir/position/offset-position.d.ts +2 -8
- package/dist/lib/ir/position/offset-position.d.ts.map +1 -1
- package/dist/lib/ir/scene.d.ts +17 -181
- package/dist/lib/ir/scene.d.ts.map +1 -1
- package/dist/lib/ir/scope.cjs +10 -7
- package/dist/lib/ir/scope.d.ts +315 -7291
- package/dist/lib/ir/scope.d.ts.map +1 -1
- package/dist/lib/ir/shape.d.ts +2 -8
- package/dist/lib/ir/shape.d.ts.map +1 -1
- package/dist/lib/ir/text.d.ts +24 -70
- package/dist/lib/ir/text.d.ts.map +1 -1
- package/dist/lib/ir/transform.cjs +11 -4
- package/dist/lib/ir/transform.d.ts +47 -144
- package/dist/lib/ir/transform.d.ts.map +1 -1
- package/dist/lib/parsers/index.d.ts +3 -3
- package/dist/lib/parsers/index.d.ts.map +1 -1
- package/dist/lib/parsers/{parseNodeTarget.cjs → node-target.cjs} +10 -8
- package/dist/lib/parsers/{parseNodeTarget.d.ts → node-target.d.ts} +1 -1
- package/dist/lib/parsers/node-target.d.ts.map +1 -0
- package/dist/lib/parsers/{parseTargetSugar.cjs → target-sugar.cjs} +9 -4
- package/dist/{es/parsers/parseTargetSugar.d.ts → lib/parsers/target-sugar.d.ts} +1 -1
- package/dist/lib/parsers/target-sugar.d.ts.map +1 -0
- package/dist/lib/parsers/{parseWay.cjs → way.cjs} +13 -9
- package/dist/{es/parsers/parseWay.d.ts → lib/parsers/way.d.ts} +2 -2
- package/dist/lib/parsers/way.d.ts.map +1 -0
- package/dist/lib/{pathGenerators → path-generators}/define.cjs +1 -1
- package/dist/lib/path-generators/define.d.ts.map +1 -0
- package/dist/lib/path-generators/index.d.ts.map +1 -0
- package/dist/lib/path-generators/types.d.ts.map +1 -0
- package/dist/lib/patterns/define.cjs +10 -0
- package/dist/lib/patterns/define.d.ts +9 -0
- package/dist/lib/patterns/define.d.ts.map +1 -0
- package/dist/lib/patterns/index.cjs +42 -35
- package/dist/lib/patterns/index.d.ts +1 -0
- package/dist/lib/patterns/index.d.ts.map +1 -1
- package/dist/lib/presets/animation.cjs +2 -2
- package/dist/lib/primitive/marker.d.ts +7 -7
- package/dist/lib/primitive/marker.d.ts.map +1 -1
- package/dist/lib/primitive/paint.d.ts +1 -1
- package/dist/lib/primitive/path.d.ts +1 -1
- package/dist/lib/shapes/arc.cjs +26 -7
- package/dist/lib/shapes/arc.d.ts.map +1 -1
- package/dist/lib/shapes/{_contour.cjs → contour.cjs} +14 -1
- package/dist/{es/shapes/_contour.d.ts → lib/shapes/contour.d.ts} +6 -3
- package/dist/lib/shapes/contour.d.ts.map +1 -0
- package/dist/lib/shapes/ellipse.cjs +2 -2
- package/dist/lib/shapes/index.cjs +1 -1
- package/dist/lib/shapes/index.d.ts +1 -1
- package/dist/lib/shapes/index.d.ts.map +1 -1
- package/dist/lib/shapes/polygon.cjs +29 -24
- package/dist/lib/shapes/polygon.d.ts +1 -1
- package/dist/lib/shapes/polygon.d.ts.map +1 -1
- package/dist/lib/shapes/rectangle.cjs +12 -12
- package/dist/lib/shapes/sector.cjs +41 -33
- package/dist/lib/shapes/sector.d.ts.map +1 -1
- package/dist/lib/shapes/{_shared.cjs → shared.cjs} +12 -15
- package/dist/lib/shapes/{_shared.d.ts → shared.d.ts} +7 -10
- package/dist/lib/shapes/shared.d.ts.map +1 -0
- package/dist/lib/shapes/star.cjs +9 -18
- package/dist/lib/shapes/star.d.ts.map +1 -1
- package/dist/lib/shapes/types.d.ts +10 -3
- package/dist/lib/shapes/types.d.ts.map +1 -1
- package/dist/lib/types.d.ts +1 -1
- package/package.json +3 -4
- package/dist/es/compile/lowerComposites.d.ts.map +0 -1
- package/dist/es/geometry/_edge.d.ts.map +0 -1
- package/dist/es/geometry/_transform.d.ts.map +0 -1
- package/dist/es/geometry/roundedContour.d.ts.map +0 -1
- package/dist/es/parsers/parseNodeTarget.d.ts.map +0 -1
- package/dist/es/parsers/parseTargetSugar.d.ts.map +0 -1
- package/dist/es/parsers/parseWay.d.ts.map +0 -1
- package/dist/es/pathGenerators/define.d.ts.map +0 -1
- package/dist/es/pathGenerators/index.d.ts.map +0 -1
- package/dist/es/pathGenerators/types.d.ts.map +0 -1
- package/dist/es/shapes/_contour.d.ts.map +0 -1
- package/dist/es/shapes/_shared.d.ts.map +0 -1
- package/dist/lib/compile/lowerComposites.d.ts.map +0 -1
- package/dist/lib/geometry/_edge.d.ts.map +0 -1
- package/dist/lib/geometry/_transform.d.ts.map +0 -1
- package/dist/lib/geometry/roundedContour.d.ts.map +0 -1
- package/dist/lib/parsers/parseNodeTarget.d.ts.map +0 -1
- package/dist/lib/parsers/parseTargetSugar.d.ts.map +0 -1
- package/dist/lib/parsers/parseWay.d.ts.map +0 -1
- package/dist/lib/pathGenerators/define.d.ts.map +0 -1
- package/dist/lib/pathGenerators/index.d.ts.map +0 -1
- package/dist/lib/pathGenerators/types.d.ts.map +0 -1
- package/dist/lib/shapes/_contour.d.ts.map +0 -1
- package/dist/lib/shapes/_shared.d.ts.map +0 -1
- /package/dist/es/{pathGenerators → path-generators}/define.d.ts +0 -0
- /package/dist/es/{pathGenerators → path-generators}/index.d.ts +0 -0
- /package/dist/es/{pathGenerators → path-generators}/types.d.ts +0 -0
- /package/dist/lib/{pathGenerators → path-generators}/define.d.ts +0 -0
- /package/dist/lib/{pathGenerators → path-generators}/index.d.ts +0 -0
- /package/dist/lib/{pathGenerators → path-generators}/types.d.ts +0 -0
package/dist/es/ir/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAUxC;;;GAGG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAUxC;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,+BAA+B;AAC/B,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2DzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgOpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
package/dist/es/ir/node.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PositionSchema } from "./position/position.js";
|
|
2
2
|
import { PolarPositionSchema } from "./position/polar-position.js";
|
|
3
|
-
import {
|
|
3
|
+
import { AtDirection, AtPositionSchema } from "./position/at-position.js";
|
|
4
4
|
import { OffsetPositionSchema } from "./position/offset-position.js";
|
|
5
5
|
import { JsonObjectSchema } from "./json.js";
|
|
6
6
|
import { ShapeRefSchema } from "./shape.js";
|
|
@@ -14,19 +14,19 @@ import { z } from "zod";
|
|
|
14
14
|
//#region src/ir/node.ts
|
|
15
15
|
/**
|
|
16
16
|
* 节点形状常量(用 const + ValueOf 派生,不用 TS enum)
|
|
17
|
-
* @description rectangle 默认;几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2。circle 是 ellipse 等轴 preset 别名(`{ type:'ellipse', params:{ circumscribe:'equal' } }`,两轴 = 内框对角线半长 √(innerHalfW²+innerHalfH²));diamond 是 polygon 4 边形
|
|
17
|
+
* @description rectangle 默认;几何语义:node 视觉边界包"text 矩形 + padding";rectangle: 视觉=text;ellipse: rx=innerHalfW×√2,ry=innerHalfH×√2。circle 是 ellipse 等轴 preset 别名(`{ type:'ellipse', params:{ circumscribe:'equal' } }`,两轴 = 内框对角线半长 √(innerHalfW²+innerHalfH²));diamond 是 polygon 4 边形 preset 别名(`{ type:'polygon', params:{ sides:4, rotate:0 } }`)——circle / diamond 均保留为合法 shape 名向后兼容,编译期分别消解为 ellipse / polygon,不进 shape 注册表
|
|
18
18
|
*/
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
var BuiltinShape = {
|
|
20
|
+
Rectangle: "rectangle",
|
|
21
|
+
Circle: "circle",
|
|
22
|
+
Ellipse: "ellipse",
|
|
23
|
+
Diamond: "diamond"
|
|
24
24
|
};
|
|
25
25
|
/** 节点文本对齐(TikZ `align=` 同义) */
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
var NodeTextAlign = {
|
|
27
|
+
Left: "left",
|
|
28
|
+
Center: "center",
|
|
29
|
+
Right: "right"
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
32
32
|
* 节点附属标签 label(TikZ `[label=above:foo]` 同义)
|
|
@@ -34,7 +34,7 @@ var NODE_TEXT_ALIGNS = {
|
|
|
34
34
|
*/
|
|
35
35
|
var NodeLabelSchema = z.object({
|
|
36
36
|
text: z.string().describe("Label text content; rendered as a single line."),
|
|
37
|
-
position: z.union([z.
|
|
37
|
+
position: z.union([z.enum(AtDirection), z.number()]).optional().describe("Placement around the node border: 8-direction enum (above / right / above-left / ...) or numeric angle in degrees (`label=30:foo` for radial placement). Default `above`. Numeric uses the polar convention (0° = +x, 90° = +y, screen-down)."),
|
|
38
38
|
distance: z.number().nonnegative().optional().describe("Gap between the node border and the label center, in user units. Default 12."),
|
|
39
39
|
textColor: z.string().optional().describe("Label text color; falls back to currentColor."),
|
|
40
40
|
opacity: z.number().min(0).max(1).optional().describe("Label-only opacity 0..1; multiplied with the node opacity if both are set."),
|
|
@@ -65,9 +65,9 @@ var NodeSchema = z.object({
|
|
|
65
65
|
OffsetPositionSchema,
|
|
66
66
|
BetweenPositionSchema
|
|
67
67
|
]).describe("Center point of the node content box; Cartesian [x, y], polar, relative-to-another-node (`at`-style with `direction` / `of` / `distance?`), offset from a base point (`{ of, offset }` form mirroring TikZ `calc`), or between two endpoints (`{ between: [A, B], t }` proportional point). All non-Cartesian forms resolve at compile time."),
|
|
68
|
-
rotate: z.number().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
|
|
69
|
-
text: TextBlockSchema.optional(),
|
|
70
|
-
align: z.
|
|
68
|
+
rotate: z.number().finite().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
|
|
69
|
+
text: TextBlockSchema.optional().describe("Optional node text content; accepts a string, an array of lines, or styled text line objects. A literal newline (\"\\n\") inside any string is a hard line break, so one string with newlines renders as multiple lines. When omitted the node emits only its shape primitive; when present it participates in text measurement, node box sizing, and TextPrim emission."),
|
|
70
|
+
align: z.enum(NodeTextAlign).optional().describe("Multi-line text alignment within the text block; `left` / `center` / `right`. Defaults to `center` (matches TikZ)."),
|
|
71
71
|
lineHeight: z.number().positive().optional().describe("Line height in user units; falls back to `font.size × 1.2` when omitted."),
|
|
72
72
|
maxTextWidth: z.number().finite().positive().optional().describe("Max line width before wrapping (user units). The text box shrinks to the actual longest line for short text — this is a wrap threshold, NOT a fixed paragraph width. Western text wraps on word boundaries, CJK per character. Omitted = no auto-wrap (only manual line breaks)."),
|
|
73
73
|
color: z.string().optional().describe("Master color (TikZ `color=`). When set, stroke / fill / text default to it unless individually overridden, and it cascades to the inner text and edge labels. Individual fields (stroke / fill / textColor) always win over this within the same node."),
|
|
@@ -75,10 +75,10 @@ var NodeSchema = z.object({
|
|
|
75
75
|
fillOpacity: z.number().min(0).max(1).optional().describe("Fill opacity 0..1; affects only the shape fill, leaves stroke / text alone."),
|
|
76
76
|
stroke: z.string().optional().describe("Border color of the node shape; any CSS color. Defaults to currentColor when omitted"),
|
|
77
77
|
drawOpacity: z.number().min(0).max(1).optional().describe("Stroke opacity 0..1 (TikZ `draw opacity`); affects only the border."),
|
|
78
|
-
strokeWidth: z.number().optional().describe("Border width in user units; defaults to 1 when omitted"),
|
|
79
|
-
dashed: z.boolean().optional().describe("Border style preset: dashed line (TikZ `dashed`); compiled to a default dash pattern. `
|
|
80
|
-
dotted: z.boolean().optional().describe("Border style preset: dotted line (TikZ `dotted`); compiled to a default dot pattern. `
|
|
81
|
-
|
|
78
|
+
strokeWidth: z.number().finite().nonnegative().optional().describe("Border width in user units; defaults to 1 when omitted"),
|
|
79
|
+
dashed: z.boolean().optional().describe("Border style preset: dashed line (TikZ `dashed`); compiled to a default dash pattern. `dashPattern` takes precedence."),
|
|
80
|
+
dotted: z.boolean().optional().describe("Border style preset: dotted line (TikZ `dotted`); compiled to a default dot pattern. `dashPattern` and `dashed` take precedence."),
|
|
81
|
+
dashPattern: z.array(z.number().finite().nonnegative()).min(1).optional().describe("Explicit stroke dash pattern lengths in user units (e.g. [4, 2]); overrides `dashed` / `dotted`."),
|
|
82
82
|
cornerRadius: z.number().nonnegative().optional().describe("Migration-period top-level corner radius in user units; only effective on `rectangle` shape. Prefer the shape params form `{ type: \"rectangle\", params: { cornerRadius } }`."),
|
|
83
83
|
minimumWidth: z.number().nonnegative().optional().describe("Minimum visual border width in user units; floors the bounding box width."),
|
|
84
84
|
minimumHeight: z.number().nonnegative().optional().describe("Minimum visual border height in user units; floors the bounding box height."),
|
|
@@ -90,12 +90,12 @@ var NodeSchema = z.object({
|
|
|
90
90
|
opacity: z.number().min(0).max(1).optional().describe("Whole-node opacity 0..1; applies uniformly to shape and text."),
|
|
91
91
|
innerXSep: z.number().nonnegative().optional().describe("Inner horizontal padding from text to border in user units. Falls back to `padding` then default."),
|
|
92
92
|
innerYSep: z.number().nonnegative().optional().describe("Inner vertical padding from text to border in user units. Falls back to `padding` then default."),
|
|
93
|
-
outerSep: z.number().nonnegative().optional().describe("
|
|
93
|
+
outerSep: z.number().nonnegative().optional().describe("Uniform outer offset (TikZ `outer sep`) around the node connection boundary, in user units. Applies to ALL border references — automatic edge endpoints AND explicit compass/angle anchors (e.g. `A.north`, `A.30`) — and is included in the node layout footprint / viewBox. Does NOT change the visible shape; center, shape-specific anchors, edge points, and label attachment stay on the visual shape. Default 0. Falls back to `margin`."),
|
|
94
94
|
padding: z.number().nonnegative().optional().describe("Symmetric inner padding (alias for `innerXSep` + `innerYSep`); axis-specific fields take precedence."),
|
|
95
|
-
margin: z.number().nonnegative().optional().describe("Symmetric outer
|
|
95
|
+
margin: z.number().nonnegative().optional().describe("Symmetric outer offset, alias for `outerSep` (TikZ `outer sep`); the axis-specific `outerSep` field takes precedence."),
|
|
96
96
|
font: FontSchema.optional().describe("Font spec for the inner text label (family / size / weight / style); all fields optional, all fall back to renderer defaults."),
|
|
97
97
|
label: z.union([NodeLabelSchema, z.array(NodeLabelSchema)]).optional().describe("Extra label(s) attached around the node border (TikZ `[label=above:foo]`); single object or array form. Compiled into one TextPrim per label, positioned by `position` direction / angle and `distance`."),
|
|
98
98
|
zIndex: z.number().int().finite().optional().describe("Explicit stacking order among sibling IR children. Higher draws on top. Omitted = 0 = source order. Sorting is stable: same zIndex keeps source order. Scoped per group (a node inside a scope only restacks within that scope).")
|
|
99
|
-
}).describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
|
|
99
|
+
}).strict().describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
|
|
100
100
|
//#endregion
|
|
101
|
-
export {
|
|
101
|
+
export { BuiltinShape, NodeLabelSchema, NodeSchema, NodeTextAlign };
|
package/dist/es/ir/paint.d.ts
CHANGED
|
@@ -5,16 +5,17 @@ import { ValueOf } from '../types';
|
|
|
5
5
|
* @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
|
|
6
6
|
* 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
|
|
7
7
|
*/
|
|
8
|
-
export declare const
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
8
|
+
export declare const PatternShape: {
|
|
9
|
+
readonly Lines: "lines";
|
|
10
|
+
readonly Dots: "dots";
|
|
11
|
+
readonly Grid: "grid";
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
14
|
* 内置 3 pattern motif 名联合
|
|
15
15
|
* @description `BUILTIN_PATTERNS` 的 Record key(保穷尽性约束,不随 `PatternShapeName` 开放而退化为 `string`)
|
|
16
16
|
*/
|
|
17
|
-
export type
|
|
17
|
+
export type PatternShapeValue = ValueOf<typeof PatternShape>;
|
|
18
|
+
export type BuiltinPatternName = PatternShapeValue;
|
|
18
19
|
/**
|
|
19
20
|
* pattern motif 名:开放字符串
|
|
20
21
|
* @description 内置 `BuiltinPatternName`,或经 `CompileOptions.patterns` 注册的扩展 motif 名;
|
|
@@ -29,124 +30,46 @@ export declare const GradientStopSchema: z.ZodObject<{
|
|
|
29
30
|
offset: z.ZodNumber;
|
|
30
31
|
color: z.ZodString;
|
|
31
32
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
32
|
-
},
|
|
33
|
-
offset: number;
|
|
34
|
-
color: string;
|
|
35
|
-
opacity?: number | undefined;
|
|
36
|
-
}, {
|
|
37
|
-
offset: number;
|
|
38
|
-
color: string;
|
|
39
|
-
opacity?: number | undefined;
|
|
40
|
-
}>;
|
|
33
|
+
}, z.core.$strip>;
|
|
41
34
|
/**
|
|
42
35
|
* Paint server 规格(渐变 / 图案 / 图片);纯色仍是 `fill` / `stroke` 上的 string,不进此 schema
|
|
43
36
|
* @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
|
|
44
37
|
* linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
|
|
45
38
|
*/
|
|
46
|
-
export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<
|
|
47
|
-
|
|
39
|
+
export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
40
|
+
kind: z.ZodLiteral<"linearGradient">;
|
|
48
41
|
stops: z.ZodArray<z.ZodObject<{
|
|
49
42
|
offset: z.ZodNumber;
|
|
50
43
|
color: z.ZodString;
|
|
51
44
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
52
|
-
},
|
|
53
|
-
offset: number;
|
|
54
|
-
color: string;
|
|
55
|
-
opacity?: number | undefined;
|
|
56
|
-
}, {
|
|
57
|
-
offset: number;
|
|
58
|
-
color: string;
|
|
59
|
-
opacity?: number | undefined;
|
|
60
|
-
}>, "many">;
|
|
45
|
+
}, z.core.$strip>>;
|
|
61
46
|
angle: z.ZodOptional<z.ZodNumber>;
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
stops: {
|
|
65
|
-
offset: number;
|
|
66
|
-
color: string;
|
|
67
|
-
opacity?: number | undefined;
|
|
68
|
-
}[];
|
|
69
|
-
angle?: number | undefined;
|
|
70
|
-
}, {
|
|
71
|
-
type: "linearGradient";
|
|
72
|
-
stops: {
|
|
73
|
-
offset: number;
|
|
74
|
-
color: string;
|
|
75
|
-
opacity?: number | undefined;
|
|
76
|
-
}[];
|
|
77
|
-
angle?: number | undefined;
|
|
78
|
-
}>, z.ZodObject<{
|
|
79
|
-
type: z.ZodLiteral<"radialGradient">;
|
|
47
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
|
+
kind: z.ZodLiteral<"radialGradient">;
|
|
80
49
|
stops: z.ZodArray<z.ZodObject<{
|
|
81
50
|
offset: z.ZodNumber;
|
|
82
51
|
color: z.ZodString;
|
|
83
52
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
84
|
-
},
|
|
85
|
-
offset: number;
|
|
86
|
-
color: string;
|
|
87
|
-
opacity?: number | undefined;
|
|
88
|
-
}, {
|
|
89
|
-
offset: number;
|
|
90
|
-
color: string;
|
|
91
|
-
opacity?: number | undefined;
|
|
92
|
-
}>, "many">;
|
|
53
|
+
}, z.core.$strip>>;
|
|
93
54
|
center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
94
55
|
radius: z.ZodOptional<z.ZodNumber>;
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
stops: {
|
|
98
|
-
offset: number;
|
|
99
|
-
color: string;
|
|
100
|
-
opacity?: number | undefined;
|
|
101
|
-
}[];
|
|
102
|
-
radius?: number | undefined;
|
|
103
|
-
center?: [number, number] | undefined;
|
|
104
|
-
}, {
|
|
105
|
-
type: "radialGradient";
|
|
106
|
-
stops: {
|
|
107
|
-
offset: number;
|
|
108
|
-
color: string;
|
|
109
|
-
opacity?: number | undefined;
|
|
110
|
-
}[];
|
|
111
|
-
radius?: number | undefined;
|
|
112
|
-
center?: [number, number] | undefined;
|
|
113
|
-
}>, z.ZodObject<{
|
|
114
|
-
type: z.ZodLiteral<"pattern">;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
kind: z.ZodLiteral<"pattern">;
|
|
115
58
|
shape: z.ZodString;
|
|
116
59
|
color: z.ZodOptional<z.ZodString>;
|
|
117
60
|
background: z.ZodOptional<z.ZodString>;
|
|
118
61
|
size: z.ZodOptional<z.ZodNumber>;
|
|
119
62
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
120
63
|
rotation: z.ZodOptional<z.ZodNumber>;
|
|
121
|
-
},
|
|
122
|
-
|
|
123
|
-
shape: string;
|
|
124
|
-
size?: number | undefined;
|
|
125
|
-
color?: string | undefined;
|
|
126
|
-
background?: string | undefined;
|
|
127
|
-
lineWidth?: number | undefined;
|
|
128
|
-
rotation?: number | undefined;
|
|
129
|
-
}, {
|
|
130
|
-
type: "pattern";
|
|
131
|
-
shape: string;
|
|
132
|
-
size?: number | undefined;
|
|
133
|
-
color?: string | undefined;
|
|
134
|
-
background?: string | undefined;
|
|
135
|
-
lineWidth?: number | undefined;
|
|
136
|
-
rotation?: number | undefined;
|
|
137
|
-
}>, z.ZodObject<{
|
|
138
|
-
type: z.ZodLiteral<"image">;
|
|
64
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
65
|
+
kind: z.ZodLiteral<"image">;
|
|
139
66
|
href: z.ZodString;
|
|
140
|
-
fit: z.ZodOptional<z.ZodEnum<
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
},
|
|
146
|
-
type: "image";
|
|
147
|
-
href: string;
|
|
148
|
-
fit?: "fill" | "contain" | "cover" | undefined;
|
|
149
|
-
}>]>;
|
|
67
|
+
fit: z.ZodOptional<z.ZodEnum<{
|
|
68
|
+
fill: "fill";
|
|
69
|
+
contain: "contain";
|
|
70
|
+
cover: "cover";
|
|
71
|
+
}>>;
|
|
72
|
+
}, z.core.$strip>], "kind">;
|
|
150
73
|
/** 渐变 stop 类型 */
|
|
151
74
|
export type IRGradientStop = z.infer<typeof GradientStopSchema>;
|
|
152
75
|
/** Paint server 规格类型(渐变 / 图案 / 图片) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../../src/ir/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../../src/ir/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;iBAMY,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAsEwF,CAAC;AAErH,iBAAiB;AACjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/es/ir/paint.js
CHANGED
|
@@ -5,10 +5,10 @@ import { z } from "zod";
|
|
|
5
5
|
* @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
|
|
6
6
|
* 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
|
|
7
7
|
*/
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var PatternShape = {
|
|
9
|
+
Lines: "lines",
|
|
10
|
+
Dots: "dots",
|
|
11
|
+
Grid: "grid"
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
14
|
* 渐变 stop:位置 + 颜色 + 可选透明度
|
|
@@ -24,20 +24,20 @@ var GradientStopSchema = z.object({
|
|
|
24
24
|
* @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
|
|
25
25
|
* linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
|
|
26
26
|
*/
|
|
27
|
-
var PaintSpecSchema = z.discriminatedUnion("
|
|
27
|
+
var PaintSpecSchema = z.discriminatedUnion("kind", [
|
|
28
28
|
z.object({
|
|
29
|
-
|
|
29
|
+
kind: z.literal("linearGradient"),
|
|
30
30
|
stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
|
|
31
31
|
angle: z.number().finite().optional().describe("Gradient direction in degrees (polar convention; 0°=+x, 90°=+y screen-down); omitted = renderer default (left→right)")
|
|
32
32
|
}).describe("Linear gradient paint server"),
|
|
33
33
|
z.object({
|
|
34
|
-
|
|
34
|
+
kind: z.literal("radialGradient"),
|
|
35
35
|
stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
|
|
36
36
|
center: z.tuple([z.number().finite(), z.number().finite()]).optional().describe("Center in objectBoundingBox units (0..1 relative to the filled shape); omitted = (0.5, 0.5)"),
|
|
37
37
|
radius: z.number().finite().positive().optional().describe("Radius in objectBoundingBox units (0..1); omitted = 0.5")
|
|
38
38
|
}).describe("Radial gradient paint server"),
|
|
39
39
|
z.object({
|
|
40
|
-
|
|
40
|
+
kind: z.literal("pattern"),
|
|
41
41
|
shape: z.string().min(1).describe("Registered pattern motif name; built-in `lines` (hatching) / `dots` / `grid` (crosshatch), or an extension motif registered via `CompileOptions.patterns`. Any non-empty string passes schema validation; unregistered names are rejected at compile time."),
|
|
42
42
|
color: z.string().optional().describe("Motif color; any CSS color, defaults to `currentColor`"),
|
|
43
43
|
background: z.string().optional().describe("Tile background fill; omitted = transparent"),
|
|
@@ -46,7 +46,7 @@ var PaintSpecSchema = z.discriminatedUnion("type", [
|
|
|
46
46
|
rotation: z.number().finite().optional().describe("Rotate the whole pattern, in degrees")
|
|
47
47
|
}).describe("Pattern paint server (hatching / dots / grid)"),
|
|
48
48
|
z.object({
|
|
49
|
-
|
|
49
|
+
kind: z.literal("image"),
|
|
50
50
|
href: z.string().min(1).describe("Image URL (http(s) or data URI)"),
|
|
51
51
|
fit: z.enum([
|
|
52
52
|
"fill",
|
|
@@ -56,4 +56,4 @@ var PaintSpecSchema = z.discriminatedUnion("type", [
|
|
|
56
56
|
}).describe("Image paint server (fills the shape with an image)")
|
|
57
57
|
]).describe("Paint server spec: gradient / pattern / image. Solid color stays a plain string on `fill` / `stroke`.");
|
|
58
58
|
//#endregion
|
|
59
|
-
export { GradientStopSchema,
|
|
59
|
+
export { GradientStopSchema, PaintSpecSchema, PatternShape };
|
|
@@ -2,29 +2,30 @@ import { z } from 'zod';
|
|
|
2
2
|
import { ValueOf } from '../../types';
|
|
3
3
|
/**
|
|
4
4
|
* 箭头形状常量(用 const 而非 TS enum 避免 reverse-mapping 和字面量不互通)
|
|
5
|
-
* @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
|
|
5
|
+
* @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);openStealth 空心倒钩;diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
|
|
6
6
|
*/
|
|
7
|
-
export declare const
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
7
|
+
export declare const ArrowShape: {
|
|
8
|
+
readonly Normal: "normal";
|
|
9
|
+
readonly Open: "open";
|
|
10
|
+
readonly Stealth: "stealth";
|
|
11
|
+
readonly OpenStealth: "openStealth";
|
|
12
|
+
readonly Diamond: "diamond";
|
|
13
|
+
readonly OpenDiamond: "openDiamond";
|
|
14
|
+
readonly Circle: "circle";
|
|
15
|
+
readonly OpenCircle: "openCircle";
|
|
15
16
|
};
|
|
16
17
|
/** 箭头形状字面量类型 */
|
|
17
|
-
export type
|
|
18
|
+
export type ArrowShapeValue = ValueOf<typeof ArrowShape>;
|
|
18
19
|
/**
|
|
19
|
-
* 内置
|
|
20
|
+
* 内置 8 箭头名联合
|
|
20
21
|
* @description `BUILTIN_ARROWS` 的 Record key(保穷尽性约束,不随 `ArrowShapeName` 开放而退化为 `string`);
|
|
21
22
|
* 等价于历史 `ArrowShape`,独立命名对齐 `node.ts` 的 `BuiltinShapeName` 范式
|
|
22
23
|
*/
|
|
23
|
-
export type BuiltinArrowName =
|
|
24
|
+
export type BuiltinArrowName = ArrowShapeValue;
|
|
24
25
|
/**
|
|
25
26
|
* 箭头形状名:开放字符串
|
|
26
27
|
* @description 内置 `BuiltinArrowName`,或经 `CompileOptions.arrows` 注册的扩展箭头名;
|
|
27
|
-
* `& {}` 让 IDE 仍对内置
|
|
28
|
+
* `& {}` 让 IDE 仍对内置 8 名自动补全,同时接受任意非空字符串(对齐 `node.ts` 的 `NodeShape`)
|
|
28
29
|
*/
|
|
29
30
|
export type ArrowShapeName = BuiltinArrowName | (string & {});
|
|
30
31
|
/** 箭头默认形状 */
|
|
@@ -33,7 +34,7 @@ export declare const DEFAULT_ARROW_SHAPE: "stealth";
|
|
|
33
34
|
* 空心 shape 集合(fill 字段在这些 shape 上 silent no-op)
|
|
34
35
|
* @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
|
|
35
36
|
*/
|
|
36
|
-
export declare const HOLLOW_ARROW_SHAPES: Set<
|
|
37
|
+
export declare const HOLLOW_ARROW_SHAPES: Set<ArrowShapeValue>;
|
|
37
38
|
/** 箭头默认尺寸(length / width 的 fallback) */
|
|
38
39
|
export declare const ARROW_MARKER_DEFAULT_SIZE = 6;
|
|
39
40
|
/** 空心 shape 描边默认粗细(lineWidth fallback) */
|
|
@@ -51,25 +52,7 @@ export declare const ArrowEndDetailSchema: z.ZodObject<{
|
|
|
51
52
|
fill: z.ZodOptional<z.ZodString>;
|
|
52
53
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
53
54
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
54
|
-
},
|
|
55
|
-
length?: number | undefined;
|
|
56
|
-
fill?: string | undefined;
|
|
57
|
-
shape?: string | undefined;
|
|
58
|
-
opacity?: number | undefined;
|
|
59
|
-
scale?: number | undefined;
|
|
60
|
-
color?: string | undefined;
|
|
61
|
-
lineWidth?: number | undefined;
|
|
62
|
-
width?: number | undefined;
|
|
63
|
-
}, {
|
|
64
|
-
length?: number | undefined;
|
|
65
|
-
fill?: string | undefined;
|
|
66
|
-
shape?: string | undefined;
|
|
67
|
-
opacity?: number | undefined;
|
|
68
|
-
scale?: number | undefined;
|
|
69
|
-
color?: string | undefined;
|
|
70
|
-
lineWidth?: number | undefined;
|
|
71
|
-
width?: number | undefined;
|
|
72
|
-
}>;
|
|
55
|
+
}, z.core.$strip>;
|
|
73
56
|
/**
|
|
74
57
|
* Path 级箭头详细配置 schema
|
|
75
58
|
* @description 顶层视觉字段(与 `ArrowEndDetailSchema` 同字段集)作为起末共享默认;`start` / `end` 子对象逐字段 merge 顶层(缺省字段继承,已填字段 override)
|
|
@@ -83,7 +66,6 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
83
66
|
fill: z.ZodOptional<z.ZodString>;
|
|
84
67
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
85
68
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
86
|
-
} & {
|
|
87
69
|
start: z.ZodOptional<z.ZodObject<{
|
|
88
70
|
shape: z.ZodOptional<z.ZodString>;
|
|
89
71
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
@@ -93,25 +75,7 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
93
75
|
fill: z.ZodOptional<z.ZodString>;
|
|
94
76
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
95
77
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
},
|
|
97
|
-
length?: number | undefined;
|
|
98
|
-
fill?: string | undefined;
|
|
99
|
-
shape?: string | undefined;
|
|
100
|
-
opacity?: number | undefined;
|
|
101
|
-
scale?: number | undefined;
|
|
102
|
-
color?: string | undefined;
|
|
103
|
-
lineWidth?: number | undefined;
|
|
104
|
-
width?: number | undefined;
|
|
105
|
-
}, {
|
|
106
|
-
length?: number | undefined;
|
|
107
|
-
fill?: string | undefined;
|
|
108
|
-
shape?: string | undefined;
|
|
109
|
-
opacity?: number | undefined;
|
|
110
|
-
scale?: number | undefined;
|
|
111
|
-
color?: string | undefined;
|
|
112
|
-
lineWidth?: number | undefined;
|
|
113
|
-
width?: number | undefined;
|
|
114
|
-
}>>;
|
|
78
|
+
}, z.core.$strip>>;
|
|
115
79
|
end: z.ZodOptional<z.ZodObject<{
|
|
116
80
|
shape: z.ZodOptional<z.ZodString>;
|
|
117
81
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
@@ -121,84 +85,8 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
121
85
|
fill: z.ZodOptional<z.ZodString>;
|
|
122
86
|
opacity: z.ZodOptional<z.ZodNumber>;
|
|
123
87
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
fill?: string | undefined;
|
|
127
|
-
shape?: string | undefined;
|
|
128
|
-
opacity?: number | undefined;
|
|
129
|
-
scale?: number | undefined;
|
|
130
|
-
color?: string | undefined;
|
|
131
|
-
lineWidth?: number | undefined;
|
|
132
|
-
width?: number | undefined;
|
|
133
|
-
}, {
|
|
134
|
-
length?: number | undefined;
|
|
135
|
-
fill?: string | undefined;
|
|
136
|
-
shape?: string | undefined;
|
|
137
|
-
opacity?: number | undefined;
|
|
138
|
-
scale?: number | undefined;
|
|
139
|
-
color?: string | undefined;
|
|
140
|
-
lineWidth?: number | undefined;
|
|
141
|
-
width?: number | undefined;
|
|
142
|
-
}>>;
|
|
143
|
-
}, "strip", z.ZodTypeAny, {
|
|
144
|
-
length?: number | undefined;
|
|
145
|
-
fill?: string | undefined;
|
|
146
|
-
shape?: string | undefined;
|
|
147
|
-
opacity?: number | undefined;
|
|
148
|
-
scale?: number | undefined;
|
|
149
|
-
color?: string | undefined;
|
|
150
|
-
lineWidth?: number | undefined;
|
|
151
|
-
width?: number | undefined;
|
|
152
|
-
start?: {
|
|
153
|
-
length?: number | undefined;
|
|
154
|
-
fill?: string | undefined;
|
|
155
|
-
shape?: string | undefined;
|
|
156
|
-
opacity?: number | undefined;
|
|
157
|
-
scale?: number | undefined;
|
|
158
|
-
color?: string | undefined;
|
|
159
|
-
lineWidth?: number | undefined;
|
|
160
|
-
width?: number | undefined;
|
|
161
|
-
} | undefined;
|
|
162
|
-
end?: {
|
|
163
|
-
length?: number | undefined;
|
|
164
|
-
fill?: string | undefined;
|
|
165
|
-
shape?: string | undefined;
|
|
166
|
-
opacity?: number | undefined;
|
|
167
|
-
scale?: number | undefined;
|
|
168
|
-
color?: string | undefined;
|
|
169
|
-
lineWidth?: number | undefined;
|
|
170
|
-
width?: number | undefined;
|
|
171
|
-
} | undefined;
|
|
172
|
-
}, {
|
|
173
|
-
length?: number | undefined;
|
|
174
|
-
fill?: string | undefined;
|
|
175
|
-
shape?: string | undefined;
|
|
176
|
-
opacity?: number | undefined;
|
|
177
|
-
scale?: number | undefined;
|
|
178
|
-
color?: string | undefined;
|
|
179
|
-
lineWidth?: number | undefined;
|
|
180
|
-
width?: number | undefined;
|
|
181
|
-
start?: {
|
|
182
|
-
length?: number | undefined;
|
|
183
|
-
fill?: string | undefined;
|
|
184
|
-
shape?: string | undefined;
|
|
185
|
-
opacity?: number | undefined;
|
|
186
|
-
scale?: number | undefined;
|
|
187
|
-
color?: string | undefined;
|
|
188
|
-
lineWidth?: number | undefined;
|
|
189
|
-
width?: number | undefined;
|
|
190
|
-
} | undefined;
|
|
191
|
-
end?: {
|
|
192
|
-
length?: number | undefined;
|
|
193
|
-
fill?: string | undefined;
|
|
194
|
-
shape?: string | undefined;
|
|
195
|
-
opacity?: number | undefined;
|
|
196
|
-
scale?: number | undefined;
|
|
197
|
-
color?: string | undefined;
|
|
198
|
-
lineWidth?: number | undefined;
|
|
199
|
-
width?: number | undefined;
|
|
200
|
-
} | undefined;
|
|
201
|
-
}>;
|
|
88
|
+
}, z.core.$strip>>;
|
|
89
|
+
}, z.core.$strip>;
|
|
202
90
|
/** 端点级箭头视觉规格 */
|
|
203
91
|
export type IRArrowEndDetail = z.infer<typeof ArrowEndDetailSchema>;
|
|
204
92
|
/** Path 级箭头详细配置 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,mBAAmB,WAAqB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sBAAqH,CAAC;AAEtJ,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAgE9B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS7B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/es/ir/path/arrow.js
CHANGED
|
@@ -2,27 +2,29 @@ import { z } from "zod";
|
|
|
2
2
|
//#region src/ir/path/arrow.ts
|
|
3
3
|
/**
|
|
4
4
|
* 箭头形状常量(用 const 而非 TS enum 避免 reverse-mapping 和字面量不互通)
|
|
5
|
-
* @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
|
|
5
|
+
* @description normal 实心三角;open 空心三角(UML 泛化/继承);stealth 尖锐倒钩(默认);openStealth 空心倒钩;diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
|
|
6
6
|
*/
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
var ArrowShape = {
|
|
8
|
+
Normal: "normal",
|
|
9
|
+
Open: "open",
|
|
10
|
+
Stealth: "stealth",
|
|
11
|
+
OpenStealth: "openStealth",
|
|
12
|
+
Diamond: "diamond",
|
|
13
|
+
OpenDiamond: "openDiamond",
|
|
14
|
+
Circle: "circle",
|
|
15
|
+
OpenCircle: "openCircle"
|
|
15
16
|
};
|
|
16
17
|
/** 箭头默认形状 */
|
|
17
|
-
var DEFAULT_ARROW_SHAPE =
|
|
18
|
+
var DEFAULT_ARROW_SHAPE = ArrowShape.Stealth;
|
|
18
19
|
/**
|
|
19
20
|
* 空心 shape 集合(fill 字段在这些 shape 上 silent no-op)
|
|
20
21
|
* @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
|
|
21
22
|
*/
|
|
22
23
|
var HOLLOW_ARROW_SHAPES = new Set([
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
ArrowShape.Open,
|
|
25
|
+
ArrowShape.OpenStealth,
|
|
26
|
+
ArrowShape.OpenDiamond,
|
|
27
|
+
ArrowShape.OpenCircle
|
|
26
28
|
]);
|
|
27
29
|
/** 箭头默认尺寸(length / width 的 fallback) */
|
|
28
30
|
var ARROW_MARKER_DEFAULT_SIZE = 6;
|
|
@@ -33,12 +35,12 @@ var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
|
33
35
|
* @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
|
|
34
36
|
*/
|
|
35
37
|
var ArrowEndDetailSchema = z.object({
|
|
36
|
-
shape: z.string().min(1).optional().describe("Registered arrow name: built-in
|
|
38
|
+
shape: z.string().min(1).optional().describe("Registered arrow name: built-in 8 (`normal` / `open` / `stealth` / `openStealth` / `diamond` / `openDiamond` / `circle` / `openCircle`) or an extension arrow registered via `CompileOptions.arrows`. Any non-empty string passes schema validation; unregistered names are rejected at compile time (throw). Defaults to `stealth`."),
|
|
37
39
|
scale: z.number().finite().positive().optional().describe("Uniform tip scale factor; multiplies `length` and `width` (e.g. `length=10, scale=1.5` → effective 15). Defaults to 1."),
|
|
38
40
|
length: z.number().finite().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
|
|
39
41
|
width: z.number().finite().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
|
|
40
42
|
color: z.string().optional().describe("Stroke color override. When omitted, the renderer should inherit the path stroke."),
|
|
41
|
-
fill: z.string().optional().describe("Fill color override (effective only on solid shapes). Hollow shapes (`open` / `openDiamond` / `openCircle`) silently ignore this field — `color` drives the stroke."),
|
|
43
|
+
fill: z.string().optional().describe("Fill color override (effective only on solid shapes). Hollow shapes (`open` / `openStealth` / `openDiamond` / `openCircle`) silently ignore this field — `color` drives the stroke."),
|
|
42
44
|
opacity: z.number().min(0).max(1).optional().describe("Arrow opacity 0..1, independent from the path opacity. When omitted, inherits the path opacity."),
|
|
43
45
|
lineWidth: z.number().finite().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
|
|
44
46
|
}).describe("Per-end arrow visual spec: shape + visual fields (scale / length / width / color / fill / opacity / lineWidth). All optional; omitted fields fall through to top-level `arrowDetail` defaults and then built-in defaults.");
|
|
@@ -51,4 +53,4 @@ var ArrowDetailSchema = ArrowEndDetailSchema.extend({
|
|
|
51
53
|
end: ArrowEndDetailSchema.optional().describe("End-end override (effective only when `arrow` includes an end arrow: `->` / `<->`). Fields merge into the top-level defaults; omitted fields inherit, present fields override.")
|
|
52
54
|
}).describe("Path-level arrow detail. Top-level visual fields (shape / scale / length / width / color / fill / opacity / lineWidth) act as shared defaults for both ends; `start` / `end` sub-objects per-field override the defaults.");
|
|
53
55
|
//#endregion
|
|
54
|
-
export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH,
|
|
56
|
+
export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ArrowDetailSchema, ArrowEndDetailSchema, ArrowShape, DEFAULT_ARROW_SHAPE, HOLLOW_ARROW_SHAPES };
|