@flighthq/shape 0.3.1-next.996.06087b5 → 0.4.0-next.1263.aa14a22
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/morphShapePaint.js +9 -10
- package/dist/morphShapePaint.js.map +1 -1
- package/dist/shapeCommands.d.ts +2 -2
- package/dist/shapeCommands.d.ts.map +1 -1
- package/dist/shapeCommands.js +2 -2
- package/dist/shapeCommands.js.map +1 -1
- package/package.json +9 -9
- package/src/explainMorphShapeGradientEndpoints.test.ts +10 -10
- package/src/explainShapeTessellation.test.ts +5 -5
- package/src/morphShape.test.ts +3 -3
- package/src/morphShapeAnimation.test.ts +2 -2
- package/src/morphShapePaint.test.ts +19 -19
- package/src/registerDefaultShapeBoundsCommands.test.ts +13 -0
- package/src/scale9ShapeCommands.test.ts +3 -3
- package/src/shape.test.ts +6 -6
- package/src/shapeBounds.test.ts +5 -5
- package/src/shapeCommands.test.ts +18 -18
- package/src/shapeFill.test.ts +17 -17
- package/src/shapeStroke.test.ts +14 -14
- package/src/shapeStrokeOutline.test.ts +3 -3
package/dist/morphShapePaint.js
CHANGED
|
@@ -116,7 +116,7 @@ function sampleMorphShapePaintBinding(data, binding, progress) {
|
|
|
116
116
|
if (binding.kind === 'color') {
|
|
117
117
|
if (commands[i] !== 'beginFill')
|
|
118
118
|
return;
|
|
119
|
-
commands[i + 2] =
|
|
119
|
+
commands[i + 2] = interpolateRgba(binding.startColor, binding.endColor, progress);
|
|
120
120
|
commands[i + 3] = interpolateNumber(binding.startAlpha, binding.endAlpha, progress);
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
@@ -124,7 +124,7 @@ function sampleMorphShapePaintBinding(data, binding, progress) {
|
|
|
124
124
|
if (commands[i] !== 'lineStyle')
|
|
125
125
|
return;
|
|
126
126
|
commands[i + 2] = interpolateNumber(binding.startThickness, binding.endThickness, progress);
|
|
127
|
-
commands[i + 3] =
|
|
127
|
+
commands[i + 3] = interpolateRgba(binding.startColor, binding.endColor, progress);
|
|
128
128
|
commands[i + 4] = interpolateNumber(binding.startAlpha, binding.endAlpha, progress);
|
|
129
129
|
return;
|
|
130
130
|
}
|
|
@@ -138,7 +138,7 @@ function sampleMorphShapePaintBinding(data, binding, progress) {
|
|
|
138
138
|
const alphas = commands[i + 4];
|
|
139
139
|
const ratios = commands[i + 5];
|
|
140
140
|
for (let n = 0; n < binding.startColors.length; n++) {
|
|
141
|
-
colors[n] =
|
|
141
|
+
colors[n] = interpolateRgba(binding.startColors[n], binding.endColors[n], progress);
|
|
142
142
|
alphas[n] = interpolateNumber(binding.startAlphas[n], binding.endAlphas[n], progress);
|
|
143
143
|
ratios[n] = interpolateNumber(binding.startRatios[n], binding.endRatios[n], progress);
|
|
144
144
|
}
|
|
@@ -168,13 +168,12 @@ function interpolateNumber(start, end, progress) {
|
|
|
168
168
|
return end;
|
|
169
169
|
return start + (end - start) * progress;
|
|
170
170
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
return r * 0x10000 + g * 0x100 + b;
|
|
171
|
+
function interpolateRgba(start, end, progress) {
|
|
172
|
+
const r = interpolateByte((start >>> 24) & 0xff, (end >>> 24) & 0xff, progress);
|
|
173
|
+
const g = interpolateByte((start >>> 16) & 0xff, (end >>> 16) & 0xff, progress);
|
|
174
|
+
const b = interpolateByte((start >>> 8) & 0xff, (end >>> 8) & 0xff, progress);
|
|
175
|
+
const a = interpolateByte(start & 0xff, end & 0xff, progress);
|
|
176
|
+
return ((r << 24) | (g << 16) | (b << 8) | a) >>> 0;
|
|
178
177
|
}
|
|
179
178
|
function interpolateByte(start, end, progress) {
|
|
180
179
|
return Math.max(0, Math.min(0xff, Math.round(interpolateNumber(start, end, progress))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morphShapePaint.js","sourceRoot":"","sources":["../src/morphShapePaint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"morphShapePaint.js","sourceRoot":"","sources":["../src/morphShapePaint.ts"],"names":[],"mappings":"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"}
|
package/dist/shapeCommands.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { CapsStyle, GradientType, InterpolationMethod, JointStyle, LineScal
|
|
|
2
2
|
export { PathCommand } from '@flighthq/types/contract';
|
|
3
3
|
export declare function appendShapeArc(shape: Shape, cx: number, cy: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
|
|
4
4
|
export declare function appendShapeArcTo(shape: Shape, x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
5
|
-
export declare function appendShapeBeginFill(shape: Shape, color
|
|
5
|
+
export declare function appendShapeBeginFill(shape: Shape, color: number, alpha?: number): void;
|
|
6
6
|
export declare function appendShapeBeginGradientFill(shape: Shape, gradientType: GradientType, colors: number[], alphas: number[], ratios: number[], matrix?: Matrix | null, spreadMethod?: SpreadMethod, interpolationMethod?: InterpolationMethod, focalPointRatio?: number): void;
|
|
7
7
|
export declare function appendShapeBeginTextureFill(shape: Shape, texture: Texture, matrix?: Matrix | null): void;
|
|
8
8
|
export declare function appendShapeCircle(shape: Shape, x: number, y: number, radius: number): void;
|
|
@@ -12,7 +12,7 @@ export declare function appendShapeDrawTriangles(shape: Shape, vertices: number[
|
|
|
12
12
|
export declare function appendShapeEllipse(shape: Shape, x: number, y: number, width: number, height: number): void;
|
|
13
13
|
export declare function appendShapeEndFill(shape: Shape): void;
|
|
14
14
|
export declare function appendShapeLineGradientStyle(shape: Shape, gradientType: GradientType, colors: number[], alphas: number[], ratios: number[], matrix?: Matrix | null, spreadMethod?: SpreadMethod, interpolationMethod?: InterpolationMethod, focalPointRatio?: number): void;
|
|
15
|
-
export declare function appendShapeLineStyle(shape: Shape, thickness
|
|
15
|
+
export declare function appendShapeLineStyle(shape: Shape, thickness: number | undefined, color: number, alpha?: number, pixelHinting?: boolean, scaleMode?: LineScaleMode, caps?: CapsStyle, joints?: JointStyle, miterLimit?: number): void;
|
|
16
16
|
export declare function appendShapeLineTextureStyle(shape: Shape, texture: Texture, matrix?: Matrix | null): void;
|
|
17
17
|
export declare function appendShapeLineTo(shape: Shape, x: number, y: number): void;
|
|
18
18
|
export declare function appendShapeMoveTo(shape: Shape, x: number, y: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeCommands.d.ts","sourceRoot":"","sources":["../src/shapeCommands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,MAAM,EACN,WAAW,EACX,KAAK,EAEL,YAAY,EACZ,OAAO,EACP,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,UAAQ,GACpB,IAAI,CASN;AASD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsFnH;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"shapeCommands.d.ts","sourceRoot":"","sources":["../src/shapeCommands.ts"],"names":[],"mappings":"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"}
|
package/dist/shapeCommands.js
CHANGED
|
@@ -114,7 +114,7 @@ export function appendShapeArcTo(shape, x1, y1, x2, y2, radius) {
|
|
|
114
114
|
pushArcCubics(cmds, ocx, ocy, radius, startA, segmentCount, segmentAngle, alpha);
|
|
115
115
|
invalidateContent(shape);
|
|
116
116
|
}
|
|
117
|
-
export function appendShapeBeginFill(shape, color
|
|
117
|
+
export function appendShapeBeginFill(shape, color, alpha = 1) {
|
|
118
118
|
shape.data.commands.push('beginFill', 2, color, alpha);
|
|
119
119
|
invalidateContent(shape);
|
|
120
120
|
}
|
|
@@ -154,7 +154,7 @@ export function appendShapeLineGradientStyle(shape, gradientType, colors, alphas
|
|
|
154
154
|
shape.data.commands.push('lineGradientStyle', 8, gradientType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
|
|
155
155
|
invalidateContent(shape);
|
|
156
156
|
}
|
|
157
|
-
export function appendShapeLineStyle(shape, thickness = 1, color
|
|
157
|
+
export function appendShapeLineStyle(shape, thickness = 1, color, alpha = 1, pixelHinting = false, scaleMode = 'normal', caps = 'none', joints = 'round', miterLimit = 3) {
|
|
158
158
|
shape.data.commands.push('lineStyle', 8, thickness, color, alpha, pixelHinting, scaleMode, caps, joints, miterLimit);
|
|
159
159
|
invalidateContent(shape);
|
|
160
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeCommands.js","sourceRoot":"","sources":["../src/shapeCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAgB5D,sGAAsG;AACtG,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,uFAAuF;AACvF,+FAA+F;AAC/F,4FAA4F;AAC5F,yDAAyD;AACzD,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,8BAA8B;AAC9B,MAAM,UAAU,cAAc,CAC5B,KAAY,EACZ,EAAU,EACV,EAAU,EACV,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,aAAa,GAAG,KAAK;IAErB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACnF,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,+FAA+F;AAC/F,+FAA+F;AAC/F,0FAA0F;AAC1F,2CAA2C;AAC3C,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,KAAY,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,MAAc;IAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,4FAA4F;IAC5F,gEAAgE;IAChE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBAC7B,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBAC7B,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBAC7B,MAAM;QACV,CAAC;QACD,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,qCAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC9C,0EAA0E;IAC1E,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,mDAAmD;IACnD,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5C,mDAAmD;IACnD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,2DAA2D;IAC3D,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,uDAAuD;IACvD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzB,uDAAuD;IACvD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzB,qBAAqB;IACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,iCAAiC;IACjC,6EAA6E;IAC7E,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;IAC5C,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;IAC5C,+CAA+C;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IAC9C,kFAAkF;IAClF,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACnD,oFAAoF;IACpF,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACjF,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAY,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAY,EACZ,YAA0B,EAC1B,MAAgB,EAChB,MAAgB,EAChB,MAAgB,EAChB,SAAwB,IAAI,EAC5B,eAA6B,KAAK,EAClC,sBAA2C,KAAK,EAChD,eAAe,GAAG,CAAC;IAEnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,mBAAmB,EACnB,CAAC,EACD,YAAY,EACZ,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,eAAe,CAChB,CAAC;IACF,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAY,EAAE,OAAgB,EAAE,SAAwB,IAAI;IACtG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;IAClF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAY,EACZ,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,OAAe;IAEf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1G,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe;IAEf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7E,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAY,EACZ,QAAkB,EAClB,UAA2B,IAAI,EAC/B,UAA2B,IAAI,EAC/B,UAA2B,MAAM;IAEjC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClF,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;IAClG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACvC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAY,EACZ,YAA0B,EAC1B,MAAgB,EAChB,MAAgB,EAChB,MAAgB,EAChB,SAAwB,IAAI,EAC5B,eAA6B,KAAK,EAClC,sBAA2C,KAAK,EAChD,eAAe,GAAG,CAAC;IAEnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,mBAAmB,EACnB,CAAC,EACD,YAAY,EACZ,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,eAAe,CAChB,CAAC;IACF,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAY,EACZ,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,YAAY,GAAG,KAAK,EACpB,YAA2B,QAAQ,EACnC,OAAkB,MAAM,EACxB,SAAqB,OAAO,EAC5B,UAAU,GAAG,CAAC;IAEd,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACrH,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAY,EAAE,OAAgB,EAAE,SAAwB,IAAI;IACtG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS;IAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS;IAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAY,EACZ,QAAkB,EAClB,QAAkB,EAClB,UAAuB,SAAS;IAEhC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,4FAA4F;AAC5F,8FAA8F;AAC9F,8DAA8D;AAC9D,EAAE;AACF,4CAA4C;AAC5C,MAAM,UAAU,kBAAkB,CAAC,KAAY,EAAE,MAAgB;IAC/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,qBAAqB;IACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,4FAA4F;AAC5F,iGAAiG;AACjG,EAAE;AACF,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,MAAgB;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAY,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;IACpG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAY,EACZ,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,YAAoB,EACpB,aAAqB;IAErB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACpG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAY,EACZ,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,aAAqB,EACrB,cAAsB,EACtB,gBAAwB,EACxB,iBAAyB;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;IACpD,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,4FAA4F;AAC5F,4FAA4F;AAC5F,SAAS,iBAAiB,CAAC,UAAkB,EAAE,QAAgB,EAAE,aAAsB;IACrF,IAAI,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAClC,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+FAA+F;AAC/F,2FAA2F;AAC3F,sEAAsE;AACtE,SAAS,aAAa,CACpB,IAAyB,EACzB,EAAU,EACV,EAAU,EACV,MAAc,EACd,UAAkB,EAClB,YAAoB,EACpB,YAAoB,EACpB,KAAa;IAEb,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,GAAG,YAAY,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CACP,cAAc,EACd,CAAC,EACD,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EACnC,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EACnC,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EACnC,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,EACnC,EAAE,GAAG,MAAM,GAAG,IAAI,EAClB,EAAE,GAAG,MAAM,GAAG,IAAI,CACnB,CAAC;QACF,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"shapeCommands.js","sourceRoot":"","sources":["../src/shapeCommands.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/shape",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-next.1263.aa14a22",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/animation": "0.
|
|
42
|
-
"@flighthq/geometry": "0.
|
|
43
|
-
"@flighthq/log": "0.
|
|
44
|
-
"@flighthq/math": "0.
|
|
45
|
-
"@flighthq/node": "0.
|
|
46
|
-
"@flighthq/path": "0.
|
|
47
|
-
"@flighthq/scene2d": "0.
|
|
48
|
-
"@flighthq/types": "0.
|
|
41
|
+
"@flighthq/animation": "0.4.0-next.1263.aa14a22",
|
|
42
|
+
"@flighthq/geometry": "0.4.0-next.1263.aa14a22",
|
|
43
|
+
"@flighthq/log": "0.4.0-next.1263.aa14a22",
|
|
44
|
+
"@flighthq/math": "0.4.0-next.1263.aa14a22",
|
|
45
|
+
"@flighthq/node": "0.4.0-next.1263.aa14a22",
|
|
46
|
+
"@flighthq/path": "0.4.0-next.1263.aa14a22",
|
|
47
|
+
"@flighthq/scene2d": "0.4.0-next.1263.aa14a22",
|
|
48
|
+
"@flighthq/types": "0.4.0-next.1263.aa14a22"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"typescript": "^5.3.0"
|
|
@@ -7,8 +7,8 @@ describe('explainMorphShapeGradientEndpoints', () => {
|
|
|
7
7
|
it('reports compatible equal-length gradient stops', () => {
|
|
8
8
|
expect(
|
|
9
9
|
explainMorphShapeGradientEndpoints(
|
|
10
|
-
{ alphas: [1], colors: [
|
|
11
|
-
{ alphas: [1], colors: [
|
|
10
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
11
|
+
{ alphas: [1], colors: [0xffffffff], ratios: [255] },
|
|
12
12
|
),
|
|
13
13
|
).toStrictEqual({ endStopCount: 1, reason: 'ok', startStopCount: 1, supported: true });
|
|
14
14
|
});
|
|
@@ -16,18 +16,18 @@ describe('explainMorphShapeGradientEndpoints', () => {
|
|
|
16
16
|
it.each([
|
|
17
17
|
[{ alphas: [], colors: [], ratios: [] }, { alphas: [], colors: [], ratios: [] }, 'empty-gradient'],
|
|
18
18
|
[
|
|
19
|
-
{ alphas: [], colors: [
|
|
20
|
-
{ alphas: [1], colors: [
|
|
19
|
+
{ alphas: [], colors: [0x000000ff], ratios: [0] },
|
|
20
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
21
21
|
'start-stop-component-count-mismatch',
|
|
22
22
|
],
|
|
23
23
|
[
|
|
24
|
-
{ alphas: [1], colors: [
|
|
25
|
-
{ alphas: [], colors: [
|
|
24
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
25
|
+
{ alphas: [], colors: [0x000000ff], ratios: [0] },
|
|
26
26
|
'end-stop-component-count-mismatch',
|
|
27
27
|
],
|
|
28
28
|
[
|
|
29
|
-
{ alphas: [1], colors: [
|
|
30
|
-
{ alphas: [1, 1], colors: [
|
|
29
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
30
|
+
{ alphas: [1, 1], colors: [0x000000ff, 0xffffffff], ratios: [0, 255] },
|
|
31
31
|
'stop-count-mismatch',
|
|
32
32
|
],
|
|
33
33
|
])('reports incompatible topology as %s', (start, end, reason) => {
|
|
@@ -39,8 +39,8 @@ describe('getMorphShapeGradientEndpointIssue', () => {
|
|
|
39
39
|
it('provides a string-free compatibility seam for paint construction', () => {
|
|
40
40
|
expect(
|
|
41
41
|
getMorphShapeGradientEndpointIssue(
|
|
42
|
-
{ alphas: [1], colors: [
|
|
43
|
-
{ alphas: [1], colors: [
|
|
42
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
43
|
+
{ alphas: [1], colors: [0xffffffff], ratios: [255] },
|
|
44
44
|
),
|
|
45
45
|
).toBe(0);
|
|
46
46
|
});
|
|
@@ -16,7 +16,7 @@ describe('explainShapeTessellation', () => {
|
|
|
16
16
|
// because a translucent shape that fails to draw invites blaming the alpha.
|
|
17
17
|
for (const alpha of [1, 0.25, 0]) {
|
|
18
18
|
const shape = createShape();
|
|
19
|
-
appendShapeBeginFill(shape,
|
|
19
|
+
appendShapeBeginFill(shape, 0xff0000ff, alpha);
|
|
20
20
|
appendShapeRectangle(shape, 0, 0, 50, 50);
|
|
21
21
|
appendShapeEndFill(shape);
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@ describe('explainShapeTessellation', () => {
|
|
|
26
26
|
|
|
27
27
|
it('reports an open stroke as tessellating', () => {
|
|
28
28
|
const shape = createShape();
|
|
29
|
-
appendShapeLineStyle(shape, 2,
|
|
29
|
+
appendShapeLineStyle(shape, 2, 0x000000ff);
|
|
30
30
|
appendShapeMoveTo(shape, 0, 0);
|
|
31
31
|
appendShapeLineTo(shape, 50, 0);
|
|
32
32
|
|
|
@@ -35,8 +35,8 @@ describe('explainShapeTessellation', () => {
|
|
|
35
35
|
|
|
36
36
|
it('names the closed stroke that the default lane declines, and clears it for the opt-in lane', () => {
|
|
37
37
|
const shape = createShape();
|
|
38
|
-
appendShapeBeginFill(shape,
|
|
39
|
-
appendShapeLineStyle(shape, 2,
|
|
38
|
+
appendShapeBeginFill(shape, 0xff0000ff, 1);
|
|
39
|
+
appendShapeLineStyle(shape, 2, 0x000000ff);
|
|
40
40
|
appendShapeRectangle(shape, 0, 0, 50, 50);
|
|
41
41
|
appendShapeEndFill(shape);
|
|
42
42
|
|
|
@@ -52,7 +52,7 @@ describe('explainShapeTessellation', () => {
|
|
|
52
52
|
|
|
53
53
|
it('names a non-solid fill, which no stroke lane setting can rescue', () => {
|
|
54
54
|
const shape = createShape();
|
|
55
|
-
appendShapeBeginGradientFill(shape, 'linear', [
|
|
55
|
+
appendShapeBeginGradientFill(shape, 'linear', [0xff0000ff, 0x0000ffff], [1, 1], [0, 255]);
|
|
56
56
|
appendShapeRectangle(shape, 0, 0, 50, 50);
|
|
57
57
|
appendShapeEndFill(shape);
|
|
58
58
|
|
package/src/morphShape.test.ts
CHANGED
|
@@ -33,7 +33,7 @@ beforeAll(() => {
|
|
|
33
33
|
describe('appendMorphShapePath', () => {
|
|
34
34
|
it('inserts the live path between ordinary Shape styling commands', () => {
|
|
35
35
|
const shape = createMorphShape(createTestMorph());
|
|
36
|
-
appendShapeBeginFill(shape,
|
|
36
|
+
appendShapeBeginFill(shape, 0x336699ff, 0.75);
|
|
37
37
|
|
|
38
38
|
appendMorphShapePath(shape);
|
|
39
39
|
appendShapeEndFill(shape);
|
|
@@ -41,7 +41,7 @@ describe('appendMorphShapePath', () => {
|
|
|
41
41
|
expect(shape.data.commands).toStrictEqual([
|
|
42
42
|
'beginFill',
|
|
43
43
|
2,
|
|
44
|
-
|
|
44
|
+
0x336699ff,
|
|
45
45
|
0.75,
|
|
46
46
|
'drawPath',
|
|
47
47
|
3,
|
|
@@ -98,7 +98,7 @@ describe('createMorphShape', () => {
|
|
|
98
98
|
});
|
|
99
99
|
|
|
100
100
|
it('uses initial progress and a provided command buffer', () => {
|
|
101
|
-
const commands: ShapeCommandToken[] = ['beginFill', 2,
|
|
101
|
+
const commands: ShapeCommandToken[] = ['beginFill', 2, 0xff0000ff, 1];
|
|
102
102
|
|
|
103
103
|
const shape = createMorphShape(createTestMorph(), { data: { commands, progress: 0.5 } });
|
|
104
104
|
|
|
@@ -39,7 +39,7 @@ describe('applyAnimationClipToMorphShape', () => {
|
|
|
39
39
|
it('applies one clip sample atomically to compound geometry and paint', () => {
|
|
40
40
|
const shape = createTestMorphShape();
|
|
41
41
|
const secondMorph = createTestMorph(100);
|
|
42
|
-
appendMorphShapeBeginFill(shape, { color:
|
|
42
|
+
appendMorphShapeBeginFill(shape, { color: 0xff0000ff }, { color: 0x0000ffff });
|
|
43
43
|
appendMorphShapePath(shape);
|
|
44
44
|
const secondPath = appendMorphShapePath(shape, secondMorph);
|
|
45
45
|
const revision = getNodeLocalContentRevision(shape);
|
|
@@ -54,7 +54,7 @@ describe('applyAnimationClipToMorphShape', () => {
|
|
|
54
54
|
|
|
55
55
|
expect(shape.data.path.data.slice(0, 2)).toStrictEqual([10, 15]);
|
|
56
56
|
expect(secondPath.data.slice(0, 2)).toStrictEqual([110, 115]);
|
|
57
|
-
expect(shape.data.commands[2]).toBe(
|
|
57
|
+
expect(shape.data.commands[2]).toBe(0x800080ff);
|
|
58
58
|
expect(getNodeLocalContentRevision(shape)).toBe(revision + 1);
|
|
59
59
|
});
|
|
60
60
|
|
|
@@ -20,14 +20,14 @@ describe('appendMorphShapeBeginFill', () => {
|
|
|
20
20
|
it('retains one command while sampling packed RGB and alpha at the current progress', () => {
|
|
21
21
|
const shape = createTestMorphShape(0.5);
|
|
22
22
|
|
|
23
|
-
appendMorphShapeBeginFill(shape, { alpha: 0.25, color:
|
|
23
|
+
appendMorphShapeBeginFill(shape, { alpha: 0.25, color: 0xff0000ff }, { alpha: 0.75, color: 0x0000ffff });
|
|
24
24
|
|
|
25
|
-
expect(shape.data.commands).toStrictEqual(['beginFill', 2,
|
|
25
|
+
expect(shape.data.commands).toStrictEqual(['beginFill', 2, 0x800080ff, 0.5]);
|
|
26
26
|
expect(shape.data.paintBindings).toHaveLength(1);
|
|
27
27
|
const commands = shape.data.commands;
|
|
28
28
|
setMorphShapeProgress(shape, 1);
|
|
29
29
|
expect(shape.data.commands).toBe(commands);
|
|
30
|
-
expect(shape.data.commands).toStrictEqual(['beginFill', 2,
|
|
30
|
+
expect(shape.data.commands).toStrictEqual(['beginFill', 2, 0x0000ffff, 0.75]);
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
|
|
@@ -43,14 +43,14 @@ describe('appendMorphShapeBeginGradientFill', () => {
|
|
|
43
43
|
'radial',
|
|
44
44
|
{
|
|
45
45
|
alphas: [0.25, 0.5],
|
|
46
|
-
colors: [
|
|
46
|
+
colors: [0x000000ff, 0xff0000ff],
|
|
47
47
|
focalPointRatio: -0.5,
|
|
48
48
|
matrix: startMatrix,
|
|
49
49
|
ratios: [0, 100],
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
alphas: [0.75, 1],
|
|
53
|
-
colors: [
|
|
53
|
+
colors: [0xffffffff, 0x0000ffff],
|
|
54
54
|
focalPointRatio: 0.5,
|
|
55
55
|
matrix: endMatrix,
|
|
56
56
|
ratios: [100, 200],
|
|
@@ -68,7 +68,7 @@ describe('appendMorphShapeBeginGradientFill', () => {
|
|
|
68
68
|
expect(shape.data.commands[4]).toBe(alphas);
|
|
69
69
|
expect(shape.data.commands[5]).toBe(ratios);
|
|
70
70
|
expect(shape.data.commands[6]).toBe(matrix);
|
|
71
|
-
expect(colors).toStrictEqual([
|
|
71
|
+
expect(colors).toStrictEqual([0x808080ff, 0x800080ff]);
|
|
72
72
|
expect(alphas).toStrictEqual([0.5, 0.75]);
|
|
73
73
|
expect(ratios).toStrictEqual([50, 150]);
|
|
74
74
|
expect(matrix).toMatchObject({ a: 2, b: 3, c: 4, d: 5, tx: 6, ty: 7 });
|
|
@@ -83,8 +83,8 @@ describe('appendMorphShapeBeginGradientFill', () => {
|
|
|
83
83
|
appendMorphShapeBeginGradientFill(
|
|
84
84
|
shape,
|
|
85
85
|
'linear',
|
|
86
|
-
{ alphas: [1], colors: [
|
|
87
|
-
{ alphas: [1, 1], colors: [
|
|
86
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
87
|
+
{ alphas: [1, 1], colors: [0x000000ff, 0xffffffff], ratios: [0, 255] },
|
|
88
88
|
),
|
|
89
89
|
).toBe(false);
|
|
90
90
|
expect(shape.data.commands).toStrictEqual([]);
|
|
@@ -98,8 +98,8 @@ describe('appendMorphShapeBeginGradientFill', () => {
|
|
|
98
98
|
appendMorphShapeBeginGradientFill(
|
|
99
99
|
shape,
|
|
100
100
|
'linear',
|
|
101
|
-
{ alphas: [1], colors: [
|
|
102
|
-
{ alphas: [1], colors: [
|
|
101
|
+
{ alphas: [1], colors: [0x000000ff], ratios: [0] },
|
|
102
|
+
{ alphas: [1], colors: [0xffffffff], matrix: createMatrix(3, 0, 0, 5, 20, 40), ratios: [255] },
|
|
103
103
|
),
|
|
104
104
|
).toBe(true);
|
|
105
105
|
const matrix = shape.data.commands[6];
|
|
@@ -142,14 +142,14 @@ describe('appendMorphShapeLineGradientStyle', () => {
|
|
|
142
142
|
appendMorphShapeLineGradientStyle(
|
|
143
143
|
shape,
|
|
144
144
|
'linear',
|
|
145
|
-
{ alphas: [1], colors: [
|
|
146
|
-
{ alphas: [0.5], colors: [
|
|
145
|
+
{ alphas: [1], colors: [0xff0000ff], ratios: [0] },
|
|
146
|
+
{ alphas: [0.5], colors: [0x0000ffff], ratios: [255] },
|
|
147
147
|
),
|
|
148
148
|
).toBe(true);
|
|
149
149
|
setMorphShapeProgress(shape, 1);
|
|
150
150
|
|
|
151
151
|
expect(shape.data.commands[0]).toBe('lineGradientStyle');
|
|
152
|
-
expect(shape.data.commands[3]).toStrictEqual([
|
|
152
|
+
expect(shape.data.commands[3]).toStrictEqual([0x0000ffff]);
|
|
153
153
|
expect(shape.data.commands[4]).toStrictEqual([0.5]);
|
|
154
154
|
expect(shape.data.commands[5]).toStrictEqual([255]);
|
|
155
155
|
});
|
|
@@ -161,8 +161,8 @@ describe('appendMorphShapeLineStyle', () => {
|
|
|
161
161
|
|
|
162
162
|
appendMorphShapeLineStyle(
|
|
163
163
|
shape,
|
|
164
|
-
{ alpha: 0.25, color:
|
|
165
|
-
{ alpha: 0.75, color:
|
|
164
|
+
{ alpha: 0.25, color: 0xff0000ff, thickness: 2 },
|
|
165
|
+
{ alpha: 0.75, color: 0x0000ffff, thickness: 10 },
|
|
166
166
|
true,
|
|
167
167
|
'horizontal',
|
|
168
168
|
'round',
|
|
@@ -174,7 +174,7 @@ describe('appendMorphShapeLineStyle', () => {
|
|
|
174
174
|
'lineStyle',
|
|
175
175
|
8,
|
|
176
176
|
6,
|
|
177
|
-
|
|
177
|
+
0x800080ff,
|
|
178
178
|
0.5,
|
|
179
179
|
true,
|
|
180
180
|
'horizontal',
|
|
@@ -202,7 +202,7 @@ describe('appendMorphShapeLineTextureStyle', () => {
|
|
|
202
202
|
describe('clearShapeCommands with MorphShape paint', () => {
|
|
203
203
|
it('removes stale paint bindings with the ordinary Shape command stream', () => {
|
|
204
204
|
const shape = createTestMorphShape();
|
|
205
|
-
appendMorphShapeBeginFill(shape, { color:
|
|
205
|
+
appendMorphShapeBeginFill(shape, { color: 0x000000ff }, { color: 0xffffffff });
|
|
206
206
|
|
|
207
207
|
clearShapeCommands(shape);
|
|
208
208
|
setMorphShapeProgress(shape, 1);
|
|
@@ -215,13 +215,13 @@ describe('clearShapeCommands with MorphShape paint', () => {
|
|
|
215
215
|
describe('sampleMorphShapePaintBindings', () => {
|
|
216
216
|
it('can resample prepared paint bindings without reallocating their command values', () => {
|
|
217
217
|
const shape = createTestMorphShape();
|
|
218
|
-
appendMorphShapeBeginFill(shape, { color:
|
|
218
|
+
appendMorphShapeBeginFill(shape, { color: 0x000000ff }, { color: 0xffffffff });
|
|
219
219
|
const commands = shape.data.commands;
|
|
220
220
|
|
|
221
221
|
sampleMorphShapePaintBindings(shape.data, 0.25);
|
|
222
222
|
|
|
223
223
|
expect(shape.data.commands).toBe(commands);
|
|
224
|
-
expect(shape.data.commands[2]).toBe(
|
|
224
|
+
expect(shape.data.commands[2]).toBe(0x404040ff);
|
|
225
225
|
});
|
|
226
226
|
});
|
|
227
227
|
|
|
@@ -13,6 +13,19 @@ import {
|
|
|
13
13
|
} from './shapeBounds';
|
|
14
14
|
import { getShapeBoundsCommand, getShapeBoundsCommandRegistryRevision } from './shapeBoundsRegistry';
|
|
15
15
|
|
|
16
|
+
// ★ THIS FILE RUNS ISOLATED — scripts/registryIsolatedTests.ts lists it with reason
|
|
17
|
+
// `process-global-registry`, and that routing is LOAD-BEARING. Do not demote it to the shared tier.
|
|
18
|
+
// What it guards: importing @flighthq/shape registers NOTHING. That side-effect-free-import property is
|
|
19
|
+
// the entire reason `registerDefaultShapeBoundsCommands` exists as an explicit entry point instead of a
|
|
20
|
+
// module-scope call, so the pre-install assertion below is the only thing holding that guarantee.
|
|
21
|
+
// Why isolation rather than a beforeEach that clears the registry: the registry is process-global, so
|
|
22
|
+
// "nothing is registered" is a claim about a PROCESS and can only be asserted in one nobody else has
|
|
23
|
+
// touched. Clearing first would change the claim to "nothing is registered after I cleared it" — which
|
|
24
|
+
// passes identically in a world where importing this package registered forty commands, and so retires
|
|
25
|
+
// the guarantee while turning the suite green. Five sibling files register deliberately and assert
|
|
26
|
+
// nothing about emptiness; they are correct in the shared tier and only this file needs its own process.
|
|
27
|
+
// The list is keyed by MECHANISM (needs a private module registry), not by cause, so this entry is an
|
|
28
|
+
// ordinary member whose reason is not mocking — not an escape from a rule about mocking.
|
|
16
29
|
describe('registerDefaultShapeBoundsCommands', () => {
|
|
17
30
|
it('does nothing on import, then explicitly installs every standard command idempotently', () => {
|
|
18
31
|
const bindings = [
|
|
@@ -11,8 +11,8 @@ describe('mapScale9ShapeCommands', () => {
|
|
|
11
11
|
|
|
12
12
|
it('passes style commands through unchanged', () => {
|
|
13
13
|
const mapper = { mapX: (x: number) => x, mapY: (y: number) => y };
|
|
14
|
-
mapScale9ShapeCommands(out, ['beginFill', 2,
|
|
15
|
-
expect(out).toEqual(['beginFill', 2,
|
|
14
|
+
mapScale9ShapeCommands(out, ['beginFill', 2, 0xff0000ff, 1], mapper);
|
|
15
|
+
expect(out).toEqual(['beginFill', 2, 0xff0000ff, 1]);
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
it('remaps moveTo coordinates', () => {
|
|
@@ -54,7 +54,7 @@ describe('mapScale9ShapeCommands', () => {
|
|
|
54
54
|
|
|
55
55
|
it('returns a buffer with the same element count as the input', () => {
|
|
56
56
|
const shape = createScale9Shape(grid);
|
|
57
|
-
appendShapeBeginFill(shape,
|
|
57
|
+
appendShapeBeginFill(shape, 0xff0000ff);
|
|
58
58
|
appendShapeRectangle(shape, 0, 0, 100, 100);
|
|
59
59
|
// A mapper is any pair of coordinate functions; building one from a grid is a renderer's job, and
|
|
60
60
|
// the rewrite under test does not care where the mapping came from.
|
package/src/shape.test.ts
CHANGED
|
@@ -144,7 +144,7 @@ describe('computeShapeLocalBoundsRectangle', () => {
|
|
|
144
144
|
|
|
145
145
|
it('includes a miter point beyond the half-width endpoint envelope', () => {
|
|
146
146
|
const shape = createShape();
|
|
147
|
-
appendShapeLineStyle(shape, 30,
|
|
147
|
+
appendShapeLineStyle(shape, 30, 0xffffffff, 1, false, 'normal', 'none', 'miter', 6);
|
|
148
148
|
appendShapeMoveTo(shape, -110, -110);
|
|
149
149
|
appendShapeLineTo(shape, 0, 0);
|
|
150
150
|
appendShapeLineTo(shape, 110, -110);
|
|
@@ -157,7 +157,7 @@ describe('computeShapeLocalBoundsRectangle', () => {
|
|
|
157
157
|
|
|
158
158
|
it('bounds a closed rectangle stroke without applying the miter limit to every axis', () => {
|
|
159
159
|
const shape = createShape();
|
|
160
|
-
appendShapeLineStyle(shape, 30,
|
|
160
|
+
appendShapeLineStyle(shape, 30, 0xffffffff, 1, false, 'normal', 'none', 'miter', 6);
|
|
161
161
|
appendShapeRectangle(shape, 0, 0, 100, 100);
|
|
162
162
|
const out = createRectangle();
|
|
163
163
|
|
|
@@ -202,13 +202,13 @@ describe('copyShapeCommands', () => {
|
|
|
202
202
|
it('discards target paint bindings when replacing a MorphShape command stream', () => {
|
|
203
203
|
const path = createPath();
|
|
204
204
|
const target = createMorphShape(createPathMorph(path, path)!);
|
|
205
|
-
appendMorphShapeBeginFill(target, { color:
|
|
206
|
-
const source = createShape({ data: { commands: ['beginFill', 2,
|
|
205
|
+
appendMorphShapeBeginFill(target, { color: 0x000000ff }, { color: 0xffffffff });
|
|
206
|
+
const source = createShape({ data: { commands: ['beginFill', 2, 0x123456ff, 1] } });
|
|
207
207
|
|
|
208
208
|
copyShapeCommands(target, source);
|
|
209
209
|
setMorphShapeProgress(target, 1);
|
|
210
210
|
|
|
211
|
-
expect(target.data.commands).toStrictEqual(['beginFill', 2,
|
|
211
|
+
expect(target.data.commands).toStrictEqual(['beginFill', 2, 0x123456ff, 1]);
|
|
212
212
|
expect(target.data.paintBindings).toStrictEqual([]);
|
|
213
213
|
});
|
|
214
214
|
|
|
@@ -338,7 +338,7 @@ describe('getShapeCommandCount', () => {
|
|
|
338
338
|
|
|
339
339
|
it('counts each command entry (not each flat array element)', () => {
|
|
340
340
|
const shape = createShape();
|
|
341
|
-
shape.data.commands.push('beginFill', 2,
|
|
341
|
+
shape.data.commands.push('beginFill', 2, 0xff0000ff, 1);
|
|
342
342
|
shape.data.commands.push('drawRectangle', 4, 0, 0, 100, 100);
|
|
343
343
|
shape.data.commands.push('endFill', 0);
|
|
344
344
|
expect(getShapeCommandCount(shape)).toBe(3);
|
package/src/shapeBounds.test.ts
CHANGED
|
@@ -57,7 +57,7 @@ describe('computeShapeBoundsRectangle', () => {
|
|
|
57
57
|
|
|
58
58
|
it('selects fill-only or ink-inclusive contributions from the same command binding', () => {
|
|
59
59
|
const shape = createShape();
|
|
60
|
-
appendShapeLineStyle(shape, 10);
|
|
60
|
+
appendShapeLineStyle(shape, 10, 0x000000ff);
|
|
61
61
|
appendShapeRectangle(shape, 0, 0, 100, 50);
|
|
62
62
|
const fill = createRectangle();
|
|
63
63
|
const ink = createRectangle();
|
|
@@ -71,7 +71,7 @@ describe('computeShapeBoundsRectangle', () => {
|
|
|
71
71
|
|
|
72
72
|
it('resolves a miter from adjacent segment summaries', () => {
|
|
73
73
|
const shape = createShape();
|
|
74
|
-
appendShapeLineStyle(shape, 30,
|
|
74
|
+
appendShapeLineStyle(shape, 30, 0x000000ff, 1, false, 'normal', 'none', 'miter', 6);
|
|
75
75
|
appendShapeMoveTo(shape, -110, -110);
|
|
76
76
|
appendShapeLineTo(shape, 0, 0);
|
|
77
77
|
appendShapeLineTo(shape, 110, -110);
|
|
@@ -84,7 +84,7 @@ describe('computeShapeBoundsRectangle', () => {
|
|
|
84
84
|
|
|
85
85
|
it('falls back to the half-width bevel envelope beyond the authored miter limit', () => {
|
|
86
86
|
const shape = createShape();
|
|
87
|
-
appendShapeLineStyle(shape, 30,
|
|
87
|
+
appendShapeLineStyle(shape, 30, 0x000000ff, 1, false, 'normal', 'none', 'miter', 1);
|
|
88
88
|
appendShapeMoveTo(shape, -110, -110);
|
|
89
89
|
appendShapeLineTo(shape, 0, 0);
|
|
90
90
|
appendShapeLineTo(shape, 110, -110);
|
|
@@ -97,7 +97,7 @@ describe('computeShapeBoundsRectangle', () => {
|
|
|
97
97
|
|
|
98
98
|
it('includes square cap extension for an open stroke', () => {
|
|
99
99
|
const shape = createShape();
|
|
100
|
-
appendShapeLineStyle(shape, 10,
|
|
100
|
+
appendShapeLineStyle(shape, 10, 0x000000ff, 1, false, 'normal', 'square');
|
|
101
101
|
appendShapeMoveTo(shape, 0, 0);
|
|
102
102
|
appendShapeLineTo(shape, 100, 0);
|
|
103
103
|
const out = createRectangle();
|
|
@@ -109,7 +109,7 @@ describe('computeShapeBoundsRectangle', () => {
|
|
|
109
109
|
|
|
110
110
|
it('tracks CLOSE as the final segment and last-to-first join', () => {
|
|
111
111
|
const shape = createShape();
|
|
112
|
-
appendShapeLineStyle(shape, 10,
|
|
112
|
+
appendShapeLineStyle(shape, 10, 0x000000ff, 1, false, 'normal', 'none', 'miter', 4);
|
|
113
113
|
appendShapePath(
|
|
114
114
|
shape,
|
|
115
115
|
[PathCommand.MOVE_TO, PathCommand.LINE_TO, PathCommand.LINE_TO, PathCommand.CLOSE],
|
|
@@ -127,14 +127,14 @@ describe('appendShapeArcTo', () => {
|
|
|
127
127
|
describe('appendShapeBeginFill', () => {
|
|
128
128
|
it('pushes a beginFill command with color and alpha', () => {
|
|
129
129
|
const shape = createShape();
|
|
130
|
-
appendShapeBeginFill(shape,
|
|
131
|
-
expect(shape.data.commands).toEqual(['beginFill', 2,
|
|
130
|
+
appendShapeBeginFill(shape, 0xff0000ff, 0.5);
|
|
131
|
+
expect(shape.data.commands).toEqual(['beginFill', 2, 0xff0000ff, 0.5]);
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
-
it('defaults to
|
|
134
|
+
it('defaults alpha to 1', () => {
|
|
135
135
|
const shape = createShape();
|
|
136
|
-
appendShapeBeginFill(shape);
|
|
137
|
-
expect(shape.data.commands).toEqual(['beginFill', 2,
|
|
136
|
+
appendShapeBeginFill(shape, 0x000000ff);
|
|
137
|
+
expect(shape.data.commands).toEqual(['beginFill', 2, 0x000000ff, 1]);
|
|
138
138
|
});
|
|
139
139
|
});
|
|
140
140
|
|
|
@@ -144,7 +144,7 @@ describe('appendShapeBeginGradientFill', () => {
|
|
|
144
144
|
appendShapeBeginGradientFill(
|
|
145
145
|
shape,
|
|
146
146
|
'linear',
|
|
147
|
-
[
|
|
147
|
+
[0xff0000ff, 0x0000ffff],
|
|
148
148
|
[1, 1],
|
|
149
149
|
[0, 255],
|
|
150
150
|
fakeMatrix,
|
|
@@ -156,7 +156,7 @@ describe('appendShapeBeginGradientFill', () => {
|
|
|
156
156
|
'beginGradientFill',
|
|
157
157
|
8,
|
|
158
158
|
'linear',
|
|
159
|
-
[
|
|
159
|
+
[0xff0000ff, 0x0000ffff],
|
|
160
160
|
[1, 1],
|
|
161
161
|
[0, 255],
|
|
162
162
|
fakeMatrix,
|
|
@@ -168,12 +168,12 @@ describe('appendShapeBeginGradientFill', () => {
|
|
|
168
168
|
|
|
169
169
|
it('defaults matrix null, spreadMethod pad, interpolationMethod rgb, focalPointRatio 0', () => {
|
|
170
170
|
const shape = createShape();
|
|
171
|
-
appendShapeBeginGradientFill(shape, 'radial', [
|
|
171
|
+
appendShapeBeginGradientFill(shape, 'radial', [0xffffffff], [1], [0]);
|
|
172
172
|
expect(shape.data.commands).toEqual([
|
|
173
173
|
'beginGradientFill',
|
|
174
174
|
8,
|
|
175
175
|
'radial',
|
|
176
|
-
[
|
|
176
|
+
[0xffffffff],
|
|
177
177
|
[1],
|
|
178
178
|
[0],
|
|
179
179
|
null,
|
|
@@ -255,7 +255,7 @@ describe('appendShapeDrawTriangles', () => {
|
|
|
255
255
|
|
|
256
256
|
it('works within a beginFill/endFill cycle', () => {
|
|
257
257
|
const shape = createShape();
|
|
258
|
-
appendShapeBeginFill(shape,
|
|
258
|
+
appendShapeBeginFill(shape, 0xff0000ff, 1);
|
|
259
259
|
appendShapeDrawTriangles(shape, [0, 0, 100, 0, 50, 80], [0, 1, 2]);
|
|
260
260
|
appendShapeEndFill(shape);
|
|
261
261
|
const keys: string[] = [];
|
|
@@ -296,12 +296,12 @@ describe('appendShapeEndFill', () => {
|
|
|
296
296
|
describe('appendShapeLineGradientStyle', () => {
|
|
297
297
|
it('pushes a lineGradientStyle command with all fields', () => {
|
|
298
298
|
const shape = createShape();
|
|
299
|
-
appendShapeLineGradientStyle(shape, 'linear', [
|
|
299
|
+
appendShapeLineGradientStyle(shape, 'linear', [0xff0000ff], [1], [0]);
|
|
300
300
|
expect(shape.data.commands).toEqual([
|
|
301
301
|
'lineGradientStyle',
|
|
302
302
|
8,
|
|
303
303
|
'linear',
|
|
304
|
-
[
|
|
304
|
+
[0xff0000ff],
|
|
305
305
|
[1],
|
|
306
306
|
[0],
|
|
307
307
|
null,
|
|
@@ -315,14 +315,14 @@ describe('appendShapeLineGradientStyle', () => {
|
|
|
315
315
|
describe('appendShapeLineStyle', () => {
|
|
316
316
|
it('pushes a lineStyle command with all parameters', () => {
|
|
317
317
|
const shape = createShape();
|
|
318
|
-
appendShapeLineStyle(shape, 2,
|
|
319
|
-
expect(shape.data.commands).toEqual(['lineStyle', 8, 2,
|
|
318
|
+
appendShapeLineStyle(shape, 2, 0x0000ffff, 0.8, true, 'horizontal', 'round', 'bevel', 5);
|
|
319
|
+
expect(shape.data.commands).toEqual(['lineStyle', 8, 2, 0x0000ffff, 0.8, true, 'horizontal', 'round', 'bevel', 5]);
|
|
320
320
|
});
|
|
321
321
|
|
|
322
|
-
it('defaults thickness 1,
|
|
322
|
+
it('defaults thickness 1, alpha 1, pixelHinting false, scaleMode normal, caps none, joints round, miterLimit 3', () => {
|
|
323
323
|
const shape = createShape();
|
|
324
|
-
appendShapeLineStyle(shape);
|
|
325
|
-
expect(shape.data.commands).toEqual(['lineStyle', 8, 1,
|
|
324
|
+
appendShapeLineStyle(shape, 1, 0x000000ff);
|
|
325
|
+
expect(shape.data.commands).toEqual(['lineStyle', 8, 1, 0x000000ff, 1, false, 'normal', 'none', 'round', 3]);
|
|
326
326
|
});
|
|
327
327
|
});
|
|
328
328
|
|
|
@@ -404,7 +404,7 @@ describe('appendShapePath', () => {
|
|
|
404
404
|
|
|
405
405
|
it('works within a beginFill/endFill cycle', () => {
|
|
406
406
|
const shape = createShape();
|
|
407
|
-
appendShapeBeginFill(shape,
|
|
407
|
+
appendShapeBeginFill(shape, 0x00ff00ff, 1);
|
|
408
408
|
appendShapePath(shape, [PathCommand.MOVE_TO, PathCommand.LINE_TO], [0, 0, 100, 100]);
|
|
409
409
|
appendShapeEndFill(shape);
|
|
410
410
|
const keys: string[] = [];
|
package/src/shapeFill.test.ts
CHANGED
|
@@ -40,7 +40,7 @@ describe('appendShapeGeometryCommand', () => {
|
|
|
40
40
|
|
|
41
41
|
// A styling command name is a no-op.
|
|
42
42
|
const noop = { commands: [] as number[], data: [] as number[], winding: 'nonZero' as const };
|
|
43
|
-
appendShapeGeometryCommand(noop, 'beginFill', ['beginFill', 2,
|
|
43
|
+
appendShapeGeometryCommand(noop, 'beginFill', ['beginFill', 2, 0xff0000ff, 1], 2);
|
|
44
44
|
expect(noop.commands).toEqual([]);
|
|
45
45
|
});
|
|
46
46
|
|
|
@@ -79,7 +79,7 @@ describe('getPathCommandOperandCount', () => {
|
|
|
79
79
|
describe('getShapeFillRegions', () => {
|
|
80
80
|
it('resolves a solid rectangle fill into one region with a closed outline', () => {
|
|
81
81
|
const shape = createShape();
|
|
82
|
-
appendShapeBeginFill(shape,
|
|
82
|
+
appendShapeBeginFill(shape, 0xff0000ff, 1);
|
|
83
83
|
appendShapeRectangle(shape, 10, 20, 100, 50);
|
|
84
84
|
appendShapeEndFill(shape);
|
|
85
85
|
|
|
@@ -87,7 +87,7 @@ describe('getShapeFillRegions', () => {
|
|
|
87
87
|
|
|
88
88
|
expect(regions).not.toBeNull();
|
|
89
89
|
expect(regions!.length).toBe(1);
|
|
90
|
-
expect(regions![0].color).toBe(
|
|
90
|
+
expect(regions![0].color).toBe(0xff0000ff);
|
|
91
91
|
expect(regions![0].alpha).toBe(1);
|
|
92
92
|
expect(regions![0].path.commands).toEqual([
|
|
93
93
|
PathCommand.MOVE_TO,
|
|
@@ -101,7 +101,7 @@ describe('getShapeFillRegions', () => {
|
|
|
101
101
|
|
|
102
102
|
it('expands a circle into four cubic curves', () => {
|
|
103
103
|
const shape = createShape();
|
|
104
|
-
appendShapeBeginFill(shape,
|
|
104
|
+
appendShapeBeginFill(shape, 0x00ff00ff);
|
|
105
105
|
appendShapeCircle(shape, 50, 50, 20);
|
|
106
106
|
appendShapeEndFill(shape);
|
|
107
107
|
|
|
@@ -119,7 +119,7 @@ describe('getShapeFillRegions', () => {
|
|
|
119
119
|
|
|
120
120
|
it('resolves a moveTo/lineTo polygon fill', () => {
|
|
121
121
|
const shape = createShape();
|
|
122
|
-
appendShapeBeginFill(shape,
|
|
122
|
+
appendShapeBeginFill(shape, 0x0000ffff);
|
|
123
123
|
appendShapeMoveTo(shape, 0, 0);
|
|
124
124
|
appendShapeLineTo(shape, 100, 0);
|
|
125
125
|
appendShapeLineTo(shape, 50, 80);
|
|
@@ -132,19 +132,19 @@ describe('getShapeFillRegions', () => {
|
|
|
132
132
|
|
|
133
133
|
it('returns a region per fill span when fills are not explicitly ended', () => {
|
|
134
134
|
const shape = createShape();
|
|
135
|
-
appendShapeBeginFill(shape,
|
|
135
|
+
appendShapeBeginFill(shape, 0x111111ff);
|
|
136
136
|
appendShapeRectangle(shape, 0, 0, 10, 10);
|
|
137
|
-
appendShapeBeginFill(shape,
|
|
137
|
+
appendShapeBeginFill(shape, 0x222222ff);
|
|
138
138
|
appendShapeRectangle(shape, 20, 20, 10, 10);
|
|
139
139
|
appendShapeEndFill(shape);
|
|
140
140
|
|
|
141
141
|
const regions = getShapeFillRegions(shape.data.commands)!;
|
|
142
|
-
expect(regions.map((r) => r.color)).toEqual([
|
|
142
|
+
expect(regions.map((r) => r.color)).toEqual([0x111111ff, 0x222222ff]);
|
|
143
143
|
});
|
|
144
144
|
|
|
145
145
|
it('returns null for a gradient fill (falls back to raster)', () => {
|
|
146
146
|
const shape = createShape();
|
|
147
|
-
appendShapeBeginGradientFill(shape, 'linear', [
|
|
147
|
+
appendShapeBeginGradientFill(shape, 'linear', [0xff0000ff, 0x0000ffff], [1, 1], [0, 255]);
|
|
148
148
|
appendShapeRectangle(shape, 0, 0, 10, 10);
|
|
149
149
|
appendShapeEndFill(shape);
|
|
150
150
|
|
|
@@ -153,22 +153,22 @@ describe('getShapeFillRegions', () => {
|
|
|
153
153
|
|
|
154
154
|
it('resolves solid fills independently of a solid stroke', () => {
|
|
155
155
|
const shape = createShape();
|
|
156
|
-
appendShapeLineStyle(shape, 2,
|
|
157
|
-
appendShapeBeginFill(shape,
|
|
156
|
+
appendShapeLineStyle(shape, 2, 0x000000ff);
|
|
157
|
+
appendShapeBeginFill(shape, 0xff0000ff);
|
|
158
158
|
appendShapeRectangle(shape, 0, 0, 10, 10);
|
|
159
159
|
appendShapeEndFill(shape);
|
|
160
160
|
|
|
161
161
|
const regions = getShapeFillRegions(shape.data.commands);
|
|
162
162
|
expect(regions).not.toBeNull();
|
|
163
163
|
expect(regions).toHaveLength(1);
|
|
164
|
-
expect(regions![0].color).toBe(
|
|
164
|
+
expect(regions![0].color).toBe(0xff0000ff);
|
|
165
165
|
});
|
|
166
166
|
});
|
|
167
167
|
|
|
168
168
|
describe('hasNonSolidShapeFill', () => {
|
|
169
169
|
it('is false for solid fills only', () => {
|
|
170
170
|
const shape = createShape();
|
|
171
|
-
appendShapeBeginFill(shape,
|
|
171
|
+
appendShapeBeginFill(shape, 0xff0000ff);
|
|
172
172
|
appendShapeRectangle(shape, 0, 0, 10, 10);
|
|
173
173
|
appendShapeEndFill(shape);
|
|
174
174
|
expect(hasNonSolidShapeFill(shape.data.commands)).toBe(false);
|
|
@@ -176,10 +176,10 @@ describe('hasNonSolidShapeFill', () => {
|
|
|
176
176
|
|
|
177
177
|
it('is false for a solid stroke and true for a bitmap or gradient style', () => {
|
|
178
178
|
const shape = createShape();
|
|
179
|
-
appendShapeLineStyle(shape, 1,
|
|
179
|
+
appendShapeLineStyle(shape, 1, 0x000000ff);
|
|
180
180
|
expect(hasNonSolidShapeFill(shape.data.commands)).toBe(false);
|
|
181
181
|
|
|
182
|
-
appendShapeBeginGradientFill(shape, 'linear', [
|
|
182
|
+
appendShapeBeginGradientFill(shape, 'linear', [0xff0000ff, 0x0000ffff], [1, 1], [0, 255]);
|
|
183
183
|
expect(hasNonSolidShapeFill(shape.data.commands)).toBe(true);
|
|
184
184
|
});
|
|
185
185
|
});
|
|
@@ -187,12 +187,12 @@ describe('hasNonSolidShapeFill', () => {
|
|
|
187
187
|
describe('hasShapeFill', () => {
|
|
188
188
|
it('is true when a fill is declared and false for a stroke-only shape', () => {
|
|
189
189
|
const filled = createShape();
|
|
190
|
-
appendShapeBeginFill(filled,
|
|
190
|
+
appendShapeBeginFill(filled, 0xff0000ff);
|
|
191
191
|
appendShapeRectangle(filled, 0, 0, 10, 10);
|
|
192
192
|
expect(hasShapeFill(filled.data.commands)).toBe(true);
|
|
193
193
|
|
|
194
194
|
const strokeOnly = createShape();
|
|
195
|
-
appendShapeLineStyle(strokeOnly, 2,
|
|
195
|
+
appendShapeLineStyle(strokeOnly, 2, 0x000000ff);
|
|
196
196
|
appendShapeMoveTo(strokeOnly, 0, 0);
|
|
197
197
|
appendShapeLineTo(strokeOnly, 10, 0);
|
|
198
198
|
expect(hasShapeFill(strokeOnly.data.commands)).toBe(false);
|
package/src/shapeStroke.test.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { getShapeStrokeRegions, hasNonSolidShapeStroke } from './shapeStroke';
|
|
|
17
17
|
// A 90° corner stroked with the given join, as one span.
|
|
18
18
|
function strokedCorner(join: 'bevel' | 'miter' | 'round', thickness = 20) {
|
|
19
19
|
const shape = createShape();
|
|
20
|
-
appendShapeLineStyle(shape, thickness,
|
|
20
|
+
appendShapeLineStyle(shape, thickness, 0x112233ff, 0.5, false, 'normal', 'none', join, 6);
|
|
21
21
|
appendShapeMoveTo(shape, 0, 0);
|
|
22
22
|
appendShapeLineTo(shape, 100, 0);
|
|
23
23
|
appendShapeLineTo(shape, 100, 100);
|
|
@@ -29,7 +29,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
29
29
|
const regions = strokedCorner('miter');
|
|
30
30
|
expect(regions).not.toBeNull();
|
|
31
31
|
expect(regions!.length).toBe(1);
|
|
32
|
-
expect(regions![0].color).toBe(
|
|
32
|
+
expect(regions![0].color).toBe(0x112233ff);
|
|
33
33
|
expect(regions![0].alpha).toBe(0.5);
|
|
34
34
|
expect(regions![0].style).toMatchObject({ width: 20, join: 'miter', cap: 'butt' });
|
|
35
35
|
expect(regions![0].path.commands.length).toBeGreaterThan(0);
|
|
@@ -44,7 +44,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
44
44
|
|
|
45
45
|
it('emits no region for a cleared stroke (lineStyle thickness 0) and for a stroke-free shape', () => {
|
|
46
46
|
const cleared = createShape();
|
|
47
|
-
appendShapeLineStyle(cleared, 0);
|
|
47
|
+
appendShapeLineStyle(cleared, 0, 0x000000ff);
|
|
48
48
|
appendShapeMoveTo(cleared, 0, 0);
|
|
49
49
|
appendShapeLineTo(cleared, 50, 0);
|
|
50
50
|
expect(getShapeStrokeRegions(cleared.data.commands)).toEqual([]);
|
|
@@ -57,16 +57,16 @@ describe('getShapeStrokeRegions', () => {
|
|
|
57
57
|
|
|
58
58
|
it('closes each span and re-strokes on a new lineStyle (two spans → two regions)', () => {
|
|
59
59
|
const shape = createShape();
|
|
60
|
-
appendShapeLineStyle(shape, 10,
|
|
60
|
+
appendShapeLineStyle(shape, 10, 0xff0000ff, 1, false, 'normal', 'none', 'miter', 6);
|
|
61
61
|
appendShapeMoveTo(shape, 0, 0);
|
|
62
62
|
appendShapeLineTo(shape, 50, 0);
|
|
63
|
-
appendShapeLineStyle(shape, 4,
|
|
63
|
+
appendShapeLineStyle(shape, 4, 0x00ff00ff, 1, false, 'normal', 'round', 'round', 6);
|
|
64
64
|
appendShapeMoveTo(shape, 0, 20);
|
|
65
65
|
appendShapeLineTo(shape, 50, 20);
|
|
66
66
|
const regions = getShapeStrokeRegions(shape.data.commands);
|
|
67
67
|
expect(regions!.length).toBe(2);
|
|
68
|
-
expect(regions![0].color).toBe(
|
|
69
|
-
expect(regions![1].color).toBe(
|
|
68
|
+
expect(regions![0].color).toBe(0xff0000ff);
|
|
69
|
+
expect(regions![1].color).toBe(0x00ff00ff);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
72
|
it('tessellates an open styled centerline into a non-empty mesh', () => {
|
|
@@ -78,7 +78,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
78
78
|
|
|
79
79
|
it('resolves and tessellates a closed rectangle as a hollow ring', () => {
|
|
80
80
|
const shape = createShape();
|
|
81
|
-
appendShapeLineStyle(shape, 8,
|
|
81
|
+
appendShapeLineStyle(shape, 8, 0xff0000ff, 1, false, 'normal', 'none', 'miter', 4);
|
|
82
82
|
appendShapeRectangle(shape, 10, 10, 100, 50);
|
|
83
83
|
const region = getShapeStrokeRegions(shape.data.commands)![0];
|
|
84
84
|
expect(tessellateStrokePath(region.path, region.style)).not.toBeNull();
|
|
@@ -86,7 +86,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
86
86
|
|
|
87
87
|
it('resolves a stroked drawPath carrying a CLOSE verb', () => {
|
|
88
88
|
const shape = createShape();
|
|
89
|
-
appendShapeLineStyle(shape, 6,
|
|
89
|
+
appendShapeLineStyle(shape, 6, 0x0000ffff, 1, false, 'normal', 'none', 'miter', 4);
|
|
90
90
|
// A triangle subpath closed by an explicit CLOSE verb — a ring, not an open stroke.
|
|
91
91
|
const verbs = [PathCommand.MOVE_TO, PathCommand.LINE_TO, PathCommand.LINE_TO, PathCommand.CLOSE];
|
|
92
92
|
appendShapePath(shape, verbs, [0, 0, 40, 0, 20, 30], 'nonZero');
|
|
@@ -96,7 +96,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
96
96
|
|
|
97
97
|
it('resolves a stroked return-to-start polygon without a CLOSE verb', () => {
|
|
98
98
|
const shape = createShape();
|
|
99
|
-
appendShapeLineStyle(shape, 6,
|
|
99
|
+
appendShapeLineStyle(shape, 6, 0x0000ffff, 1, false, 'normal', 'none', 'miter', 4);
|
|
100
100
|
// appendShapePolygon re-emits the first point as a trailing lineTo (return-to-start), no CLOSE verb.
|
|
101
101
|
appendShapePolygon(shape, [0, 0, 50, 0, 25, 40]);
|
|
102
102
|
const region = getShapeStrokeRegions(shape.data.commands)![0];
|
|
@@ -105,7 +105,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
105
105
|
|
|
106
106
|
it('keeps a pathological centerline as a region so the renderer can select raster fallback', () => {
|
|
107
107
|
const shape = createShape();
|
|
108
|
-
appendShapeLineStyle(shape, 6,
|
|
108
|
+
appendShapeLineStyle(shape, 6, 0x0000ffff, 1, false, 'normal', 'none', 'miter', 4);
|
|
109
109
|
appendShapePath(
|
|
110
110
|
shape,
|
|
111
111
|
[PathCommand.MOVE_TO, PathCommand.LINE_TO, PathCommand.LINE_TO, PathCommand.LINE_TO, PathCommand.CLOSE],
|
|
@@ -121,13 +121,13 @@ describe('getShapeStrokeRegions', () => {
|
|
|
121
121
|
// Rectangle drawn with no active lineStyle — it never reaches a centerline, so it must NOT force the
|
|
122
122
|
// whole shape to the raster fallback. The later open stroked line still yields one region.
|
|
123
123
|
appendShapeRectangle(shape, 0, 0, 100, 50);
|
|
124
|
-
appendShapeLineStyle(shape, 6,
|
|
124
|
+
appendShapeLineStyle(shape, 6, 0xff0000ff, 1, false, 'normal', 'none', 'miter', 4);
|
|
125
125
|
appendShapeMoveTo(shape, 10, 80);
|
|
126
126
|
appendShapeLineTo(shape, 90, 80);
|
|
127
127
|
const regions = getShapeStrokeRegions(shape.data.commands);
|
|
128
128
|
expect(regions).not.toBeNull();
|
|
129
129
|
expect(regions!.length).toBe(1);
|
|
130
|
-
expect(regions![0].color).toBe(
|
|
130
|
+
expect(regions![0].color).toBe(0xff0000ff);
|
|
131
131
|
});
|
|
132
132
|
|
|
133
133
|
it('defers a gradient/bitmap stroke to the raster path (null)', () => {
|
|
@@ -139,7 +139,7 @@ describe('getShapeStrokeRegions', () => {
|
|
|
139
139
|
describe('hasNonSolidShapeStroke', () => {
|
|
140
140
|
it('is true only for a gradient or bitmap stroke, not a solid lineStyle', () => {
|
|
141
141
|
const solid = createShape();
|
|
142
|
-
appendShapeLineStyle(solid, 3);
|
|
142
|
+
appendShapeLineStyle(solid, 3, 0x000000ff);
|
|
143
143
|
expect(hasNonSolidShapeStroke(solid.data.commands)).toBe(false);
|
|
144
144
|
expect(hasNonSolidShapeStroke(['lineGradientStyle', 1, 0] as ShapeCommandToken[])).toBe(true);
|
|
145
145
|
expect(hasNonSolidShapeStroke(['lineTextureStyle', 1, 0] as ShapeCommandToken[])).toBe(true);
|
|
@@ -7,7 +7,7 @@ import { getShapeStrokeOutlineRegions } from './shapeStrokeOutline';
|
|
|
7
7
|
describe('getShapeStrokeOutlineRegions', () => {
|
|
8
8
|
it('converts a solid open stroke into a fill region with matching color and alpha', () => {
|
|
9
9
|
const shape = createShape();
|
|
10
|
-
appendShapeLineStyle(shape, 8,
|
|
10
|
+
appendShapeLineStyle(shape, 8, 0x123456ff, 0.5, false, 'normal', 'square', 'bevel', 4);
|
|
11
11
|
appendShapeMoveTo(shape, 0, 0);
|
|
12
12
|
appendShapeLineTo(shape, 20, 0);
|
|
13
13
|
|
|
@@ -15,13 +15,13 @@ describe('getShapeStrokeOutlineRegions', () => {
|
|
|
15
15
|
|
|
16
16
|
expect(regions).not.toBeNull();
|
|
17
17
|
expect(regions).toHaveLength(1);
|
|
18
|
-
expect(regions![0]).toMatchObject({ alpha: 0.5, color:
|
|
18
|
+
expect(regions![0]).toMatchObject({ alpha: 0.5, color: 0x123456ff });
|
|
19
19
|
expect(regions![0].path.commands.length).toBeGreaterThan(0);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
it('defers closed and non-solid strokes to the renderer fallback', () => {
|
|
23
23
|
const closed = createShape();
|
|
24
|
-
appendShapeLineStyle(closed, 8);
|
|
24
|
+
appendShapeLineStyle(closed, 8, 0x000000ff);
|
|
25
25
|
appendShapeRectangle(closed, 0, 0, 20, 10);
|
|
26
26
|
expect(getShapeStrokeOutlineRegions(closed.data.commands)).toBeNull();
|
|
27
27
|
|