@flighthq/path 0.3.0-next.906.07cea63 → 0.3.1-next.1041.35b950c
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/contract.d.ts +4 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +4 -0
- package/dist/contract.js.map +1 -1
- package/dist/explainPathMorphCreation.d.ts +4 -0
- package/dist/explainPathMorphCreation.d.ts.map +1 -0
- package/dist/explainPathMorphCreation.js +24 -0
- package/dist/explainPathMorphCreation.js.map +1 -0
- package/dist/explainStrokePathTessellation.d.ts +4 -0
- package/dist/explainStrokePathTessellation.d.ts.map +1 -0
- package/dist/explainStrokePathTessellation.js +26 -0
- package/dist/explainStrokePathTessellation.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/path.d.ts.map +1 -1
- package/dist/path.js +6 -6
- package/dist/path.js.map +1 -1
- package/dist/pathMorph.d.ts +5 -0
- package/dist/pathMorph.d.ts.map +1 -0
- package/dist/pathMorph.js +35 -0
- package/dist/pathMorph.js.map +1 -0
- package/dist/pathMorphGeometry.d.ts +14 -0
- package/dist/pathMorphGeometry.d.ts.map +1 -0
- package/dist/pathMorphGeometry.js +347 -0
- package/dist/pathMorphGeometry.js.map +1 -0
- package/dist/strokePath.d.ts.map +1 -1
- package/dist/strokePath.js +30 -451
- package/dist/strokePath.js.map +1 -1
- package/dist/strokePathGeometry.d.ts +23 -0
- package/dist/strokePathGeometry.d.ts.map +1 -0
- package/dist/strokePathGeometry.js +422 -0
- package/dist/strokePathGeometry.js.map +1 -0
- package/dist/tessellateStrokePath.d.ts +3 -0
- package/dist/tessellateStrokePath.d.ts.map +1 -0
- package/dist/tessellateStrokePath.js +66 -0
- package/dist/tessellateStrokePath.js.map +1 -0
- package/package.json +5 -2
- package/src/explainPathMorphCreation.test.ts +81 -0
- package/src/explainStrokePathTessellation.test.ts +39 -0
- package/src/pathMorph.test.ts +290 -0
- package/src/pathMorphGeometry.test.ts +18 -0
- package/src/strokePathGeometry.test.ts +27 -0
- package/src/tessellateStrokePath.test.ts +91 -0
package/dist/contract.d.ts
CHANGED
|
@@ -13,11 +13,15 @@ export * from './getPathPointAtDistance';
|
|
|
13
13
|
export * from './getPathSegmentAtParameter';
|
|
14
14
|
export * from './getPathSignedArea';
|
|
15
15
|
export * from './path';
|
|
16
|
+
export * from './pathMorph';
|
|
16
17
|
export * from './pathMeshPool';
|
|
17
18
|
export * from './reversePath';
|
|
18
19
|
export * from './decimatePath';
|
|
20
|
+
export * from './explainPathMorphCreation';
|
|
21
|
+
export * from './explainStrokePathTessellation';
|
|
19
22
|
export * from './strokePath';
|
|
20
23
|
export * from './tessellatePath';
|
|
21
24
|
export * from './tessellatePathTyped';
|
|
25
|
+
export * from './tessellateStrokePath';
|
|
22
26
|
export * from './transformPath';
|
|
23
27
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -13,11 +13,15 @@ export * from './getPathPointAtDistance';
|
|
|
13
13
|
export * from './getPathSegmentAtParameter';
|
|
14
14
|
export * from './getPathSignedArea';
|
|
15
15
|
export * from './path';
|
|
16
|
+
export * from './pathMorph';
|
|
16
17
|
export * from './pathMeshPool';
|
|
17
18
|
export * from './reversePath';
|
|
18
19
|
export * from './decimatePath';
|
|
20
|
+
export * from './explainPathMorphCreation';
|
|
21
|
+
export * from './explainStrokePathTessellation';
|
|
19
22
|
export * from './strokePath';
|
|
20
23
|
export * from './tessellatePath';
|
|
21
24
|
export * from './tessellatePathTyped';
|
|
25
|
+
export * from './tessellateStrokePath';
|
|
22
26
|
export * from './transformPath';
|
|
23
27
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Path, PathMorphCreationExplanation } from '@flighthq/types/contract';
|
|
2
|
+
export type { PathMorphCreationExplanation, PathMorphCreationReason } from '@flighthq/types/contract';
|
|
3
|
+
export declare function explainPathMorphCreation(start: Readonly<Path>, end: Readonly<Path>): PathMorphCreationExplanation;
|
|
4
|
+
//# sourceMappingURL=explainPathMorphCreation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainPathMorphCreation.d.ts","sourceRoot":"","sources":["../src/explainPathMorphCreation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAA2B,MAAM,0BAA0B,CAAC;AAE5G,YAAY,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AActG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAOjH"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { buildPathMorph, PathMorphIssueContourClosednessMismatch, PathMorphIssueContourCountMismatch, PathMorphIssueContourOrientationMismatch, PathMorphIssueNone, PathMorphIssueWindingMismatch, } from './pathMorphGeometry';
|
|
2
|
+
// Pure diagnostic twin of createPathMorph. Re-runs preparation, retains and mutates nothing, and
|
|
3
|
+
// returns detached data explaining whether the two paths have compatible morph topology. Kept in its
|
|
4
|
+
// own module so users importing only the morph constructor do not ship diagnostic reason strings.
|
|
5
|
+
export function explainPathMorphCreation(start, end) {
|
|
6
|
+
const result = buildPathMorph(start, end);
|
|
7
|
+
return {
|
|
8
|
+
contour: result.contour,
|
|
9
|
+
reason: getReason(result.issue),
|
|
10
|
+
supported: result.issue === PathMorphIssueNone,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function getReason(issue) {
|
|
14
|
+
if (issue === PathMorphIssueWindingMismatch)
|
|
15
|
+
return 'winding-mismatch';
|
|
16
|
+
if (issue === PathMorphIssueContourCountMismatch)
|
|
17
|
+
return 'contour-count-mismatch';
|
|
18
|
+
if (issue === PathMorphIssueContourClosednessMismatch)
|
|
19
|
+
return 'contour-closedness-mismatch';
|
|
20
|
+
if (issue === PathMorphIssueContourOrientationMismatch)
|
|
21
|
+
return 'contour-orientation-mismatch';
|
|
22
|
+
return 'ok';
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=explainPathMorphCreation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainPathMorphCreation.js","sourceRoot":"","sources":["../src/explainPathMorphCreation.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,uCAAuC,EACvC,kCAAkC,EAClC,wCAAwC,EACxC,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,iGAAiG;AACjG,qGAAqG;AACrG,kGAAkG;AAClG,MAAM,UAAU,wBAAwB,CAAC,KAAqB,EAAE,GAAmB;IACjF,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC,KAAK,KAAK,kBAAkB;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,6BAA6B;QAAE,OAAO,kBAAkB,CAAC;IACvE,IAAI,KAAK,KAAK,kCAAkC;QAAE,OAAO,wBAAwB,CAAC;IAClF,IAAI,KAAK,KAAK,uCAAuC;QAAE,OAAO,6BAA6B,CAAC;IAC5F,IAAI,KAAK,KAAK,wCAAwC;QAAE,OAAO,8BAA8B,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Path, StrokePathTessellationExplanation, StrokeStyle } from '@flighthq/types/contract';
|
|
2
|
+
export type { StrokePathTessellationExplanation, StrokePathTessellationReason } from '@flighthq/types/contract';
|
|
3
|
+
export declare function explainStrokePathTessellation(path: Readonly<Path>, style: Readonly<StrokeStyle>, tolerance?: number): StrokePathTessellationExplanation;
|
|
4
|
+
//# sourceMappingURL=explainStrokePathTessellation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainStrokePathTessellation.d.ts","sourceRoot":"","sources":["../src/explainStrokePathTessellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,iCAAiC,EAEjC,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,iCAAiC,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAehH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpB,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,SAAS,SAAO,GACf,iCAAiC,CAOnC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { buildStrokePathGeometry, StrokePathTessellationIssueInvalidPath, StrokePathTessellationIssueInvalidStyle, StrokePathTessellationIssueNone, StrokePathTessellationIssueReversingJoin, StrokePathTessellationIssueSelfIntersectingCenterline, StrokePathTessellationIssueSelfIntersectingOutline, } from './strokePathGeometry';
|
|
2
|
+
// Pure diagnostic twin of tessellateStrokePath: re-runs the shared validation, retains and mutates
|
|
3
|
+
// nothing, never throws, and returns detached plain data explaining a null mesh. Kept in its own module
|
|
4
|
+
// so production users importing only the tessellator do not ship reason strings.
|
|
5
|
+
export function explainStrokePathTessellation(path, style, tolerance = 0.25) {
|
|
6
|
+
const geometry = buildStrokePathGeometry(path, style, tolerance);
|
|
7
|
+
return {
|
|
8
|
+
reason: getReason(geometry.issue),
|
|
9
|
+
subpath: geometry.issueSubpath,
|
|
10
|
+
supported: geometry.issue === StrokePathTessellationIssueNone,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function getReason(issue) {
|
|
14
|
+
if (issue === StrokePathTessellationIssueInvalidStyle)
|
|
15
|
+
return 'invalid-style';
|
|
16
|
+
if (issue === StrokePathTessellationIssueInvalidPath)
|
|
17
|
+
return 'invalid-path';
|
|
18
|
+
if (issue === StrokePathTessellationIssueSelfIntersectingCenterline)
|
|
19
|
+
return 'self-intersecting-centerline';
|
|
20
|
+
if (issue === StrokePathTessellationIssueReversingJoin)
|
|
21
|
+
return 'reversing-join';
|
|
22
|
+
if (issue === StrokePathTessellationIssueSelfIntersectingOutline)
|
|
23
|
+
return 'self-intersecting-outline';
|
|
24
|
+
return 'ok';
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=explainStrokePathTessellation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainStrokePathTessellation.js","sourceRoot":"","sources":["../src/explainStrokePathTessellation.ts"],"names":[],"mappings":"AASA,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,uCAAuC,EACvC,+BAA+B,EAC/B,wCAAwC,EACxC,qDAAqD,EACrD,kDAAkD,GACnD,MAAM,sBAAsB,CAAC;AAE9B,mGAAmG;AACnG,wGAAwG;AACxG,iFAAiF;AACjF,MAAM,UAAU,6BAA6B,CAC3C,IAAoB,EACpB,KAA4B,EAC5B,SAAS,GAAG,IAAI;IAEhB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACjE,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,OAAO,EAAE,QAAQ,CAAC,YAAY;QAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK,KAAK,+BAA+B;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,uCAAuC;QAAE,OAAO,eAAe,CAAC;IAC9E,IAAI,KAAK,KAAK,sCAAsC;QAAE,OAAO,cAAc,CAAC;IAC5E,IAAI,KAAK,KAAK,qDAAqD;QAAE,OAAO,8BAA8B,CAAC;IAC3G,IAAI,KAAK,KAAK,wCAAwC;QAAE,OAAO,gBAAgB,CAAC;IAChF,IAAI,KAAK,KAAK,kDAAkD;QAAE,OAAO,2BAA2B,CAAC;IACrG,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { acquirePathMesh, acquirePathMeshTyped, appendPathArc, appendPathArcTo, appendPathCircle, appendPathClose, appendPathCubicCurveTo, appendPathCurveTo, appendPathEllipse, appendPathLineTo, appendPathMoveTo, appendPathPolygon, appendPathPolyline, appendPathRectangle, appendPathRoundRectangle, cleanPath, clonePath, containsPathPoint, copyPath, createPath, createPathMorph, dashPath, decimatePath, explainPathMorphCreation, explainStrokePathTessellation, fitPathCurves, flattenPath, forEachPathSegment, getCubicBezierPoint, getCubicBezierTangent, getPathBounds, getPathContourLengths, getPathContourOrientation, getPathLastPoint, getPathLength, getPathNearestPoint, getPathPointAtDistance, getPathPositionAtDistance, getPathSegmentPointAtParameter, getPathSegmentTangentAtParameter, getPathSignedArea, getPathTangentAtDistance, getQuadraticBezierPoint, getQuadraticBezierTangent, releasePathMesh, releasePathMeshTyped, reversePath, samplePathMorph, strokePath, tessellatePath, tessellatePathTyped, tessellateStrokePath, transformPath, translatePath, } from './contract';
|
|
2
|
+
export type { PathMorph, PathMorphCreationExplanation, PathMorphCreationReason, StrokePathTessellationExplanation, StrokePathTessellationReason, } from './contract';
|
|
3
|
+
export type { StrokeStyle } from './contract';
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,SAAS,EACT,4BAA4B,EAC5B,uBAAuB,EACvB,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { acquirePathMesh, acquirePathMeshTyped, appendPathArc, appendPathArcTo, appendPathCircle, appendPathClose, appendPathCubicCurveTo, appendPathCurveTo, appendPathEllipse, appendPathLineTo, appendPathMoveTo, appendPathPolygon, appendPathPolyline, appendPathRectangle, appendPathRoundRectangle, cleanPath, clonePath, containsPathPoint, copyPath, createPath, dashPath, decimatePath, fitPathCurves, flattenPath, forEachPathSegment, getCubicBezierPoint, getCubicBezierTangent, getPathBounds, getPathContourLengths, getPathContourOrientation, getPathLastPoint, getPathLength, getPathNearestPoint, getPathPointAtDistance, getPathPositionAtDistance, getPathSegmentPointAtParameter, getPathSegmentTangentAtParameter, getPathSignedArea, getPathTangentAtDistance, getQuadraticBezierPoint, getQuadraticBezierTangent, releasePathMesh, releasePathMeshTyped, reversePath, strokePath, tessellatePath, tessellatePathTyped, transformPath, translatePath, } from './contract';
|
|
1
|
+
export { acquirePathMesh, acquirePathMeshTyped, appendPathArc, appendPathArcTo, appendPathCircle, appendPathClose, appendPathCubicCurveTo, appendPathCurveTo, appendPathEllipse, appendPathLineTo, appendPathMoveTo, appendPathPolygon, appendPathPolyline, appendPathRectangle, appendPathRoundRectangle, cleanPath, clonePath, containsPathPoint, copyPath, createPath, createPathMorph, dashPath, decimatePath, explainPathMorphCreation, explainStrokePathTessellation, fitPathCurves, flattenPath, forEachPathSegment, getCubicBezierPoint, getCubicBezierTangent, getPathBounds, getPathContourLengths, getPathContourOrientation, getPathLastPoint, getPathLength, getPathNearestPoint, getPathPointAtDistance, getPathPositionAtDistance, getPathSegmentPointAtParameter, getPathSegmentTangentAtParameter, getPathSignedArea, getPathTangentAtDistance, getQuadraticBezierPoint, getQuadraticBezierTangent, releasePathMesh, releasePathMeshTyped, reversePath, samplePathMorph, strokePath, tessellatePath, tessellatePathTyped, tessellateStrokePath, transformPath, translatePath, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC"}
|
package/dist/path.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AASlE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,UAAQ,EACrB,gBAAgB,UAAQ,GACvB,IAAI,CAiBN;AAWD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,IAAI,CA8DN;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzF;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEhD;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CAGN;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CAGN;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAU5G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvE;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAO9E;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAM/E;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMzG;AAMD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChD,IAAI,CAiBN;AAID,wBAAgB,UAAU,CAAC,OAAO,GAAE,WAAuB,GAAG,IAAI,CAEjE;AA+ED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAI9E"}
|
package/dist/path.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CIRCLE_KAPPA } from '@flighthq/math/contract';
|
|
1
2
|
import { PathCommand } from '@flighthq/types/contract';
|
|
2
3
|
// Approximates an arc centered at (cx, cy) from `startAngle` to `endAngle` (radians) with the given
|
|
3
4
|
// `radius`, using one or more cubic bezier segments. Each cubic segment spans at most π/2 (90°) to
|
|
@@ -122,13 +123,13 @@ export function appendPathCurveTo(path, controlX, controlY, anchorX, anchorY) {
|
|
|
122
123
|
path.commands.push(PathCommand.CURVE_TO);
|
|
123
124
|
path.data.push(controlX, controlY, anchorX, anchorY);
|
|
124
125
|
}
|
|
125
|
-
// Approximates an axis-aligned ellipse using four cubic bezier segments
|
|
126
|
-
//
|
|
126
|
+
// Approximates an axis-aligned ellipse using four cubic bezier segments, each tangent handle reaching
|
|
127
|
+
// CIRCLE_KAPPA = 4*(sqrt(2)-1)/3 of the radius. The error is less than 0.03% of the radius. Appends a
|
|
127
128
|
// MOVE_TO at the rightmost point and a CLOSE after the fourth arc segment.
|
|
128
129
|
export function appendPathEllipse(path, cx, cy, radiusX, radiusY) {
|
|
129
130
|
// kappa: the distance along each tangent handle for the optimal cubic arc approximation.
|
|
130
|
-
const kx = radiusX *
|
|
131
|
-
const ky = radiusY *
|
|
131
|
+
const kx = radiusX * CIRCLE_KAPPA;
|
|
132
|
+
const ky = radiusY * CIRCLE_KAPPA;
|
|
132
133
|
appendPathMoveTo(path, cx + radiusX, cy);
|
|
133
134
|
appendPathCubicCurveTo(path, cx + radiusX, cy - ky, cx + kx, cy - radiusY, cx, cy - radiusY);
|
|
134
135
|
appendPathCubicCurveTo(path, cx - kx, cy - radiusY, cx - radiusX, cy - ky, cx - radiusX, cy);
|
|
@@ -209,7 +210,7 @@ function appendCornerArc(path, cx, cy, radius, startAngle, endAngle) {
|
|
|
209
210
|
if (radius <= 0)
|
|
210
211
|
return;
|
|
211
212
|
// Single cubic approximation for a quarter arc using kappa.
|
|
212
|
-
const k = radius *
|
|
213
|
+
const k = radius * CIRCLE_KAPPA;
|
|
213
214
|
const cosStart = Math.cos(startAngle);
|
|
214
215
|
const sinStart = Math.sin(startAngle);
|
|
215
216
|
const cosEnd = Math.cos(endAngle);
|
|
@@ -289,5 +290,4 @@ function vectorAngle(ux, uy, vx, vy) {
|
|
|
289
290
|
}
|
|
290
291
|
// Optimal cubic Bezier arc approximation constant: 4*(sqrt(2)-1)/3.
|
|
291
292
|
// Maximum radial error is < 0.03% of the radius.
|
|
292
|
-
const KAPPA = 0.5522847498308936;
|
|
293
293
|
//# sourceMappingURL=path.js.map
|
package/dist/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Path, PathMorph } from '@flighthq/types/contract';
|
|
2
|
+
export type { PathMorph } from '@flighthq/types/contract';
|
|
3
|
+
export declare function createPathMorph(start: Readonly<Path>, end: Readonly<Path>): PathMorph | null;
|
|
4
|
+
export declare function samplePathMorph(out: Path, morph: Readonly<PathMorph>, progress: number): void;
|
|
5
|
+
//# sourceMappingURL=pathMorph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathMorph.d.ts","sourceRoot":"","sources":["../src/pathMorph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEhE,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAS1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAE5F;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoB7F"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { buildPathMorph } from './pathMorphGeometry';
|
|
2
|
+
// Allocates a prepared interpolation between two paths. The paths may use different line, quadratic,
|
|
3
|
+
// and cubic verbs and may contain different segment counts; preparation converts them to exact cubic
|
|
4
|
+
// equivalents and subdivides the smaller side. Corresponding contours must have the same ordering,
|
|
5
|
+
// winding, count, and open/closed topology. Closed traversal direction is normalized when doing so
|
|
6
|
+
// preserves the fill; returns null when a non-zero path reverses only a subset of its contours.
|
|
7
|
+
export function createPathMorph(start, end) {
|
|
8
|
+
return buildPathMorph(start, end).morph;
|
|
9
|
+
}
|
|
10
|
+
// Samples a prepared morph into `out`. Reuses the existing command and coordinate arrays, making
|
|
11
|
+
// repeated calls allocation-free once they have sufficient capacity. Progress is not clamped: 0 and
|
|
12
|
+
// 1 are the endpoints, while values outside that range permit deliberate easing overshoot.
|
|
13
|
+
export function samplePathMorph(out, morph, progress) {
|
|
14
|
+
const commands = morph.commands;
|
|
15
|
+
out.commands.length = commands.length;
|
|
16
|
+
for (let i = 0; i < commands.length; i++)
|
|
17
|
+
out.commands[i] = commands[i];
|
|
18
|
+
const startData = morph.startData;
|
|
19
|
+
const endData = morph.endData;
|
|
20
|
+
out.data.length = startData.length;
|
|
21
|
+
if (progress === 0 || progress === 1) {
|
|
22
|
+
const endpoint = progress === 0 ? startData : endData;
|
|
23
|
+
for (let i = 0; i < endpoint.length; i++)
|
|
24
|
+
out.data[i] = endpoint[i];
|
|
25
|
+
out.winding = morph.winding;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
for (let i = 0; i < startData.length; i++) {
|
|
29
|
+
const start = startData[i];
|
|
30
|
+
const end = endData[i];
|
|
31
|
+
out.data[i] = start + (end - start) * progress;
|
|
32
|
+
}
|
|
33
|
+
out.winding = morph.winding;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=pathMorph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathMorph.js","sourceRoot":"","sources":["../src/pathMorph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qGAAqG;AACrG,qGAAqG;AACrG,mGAAmG;AACnG,mGAAmG;AACnG,gGAAgG;AAChG,MAAM,UAAU,eAAe,CAAC,KAAqB,EAAE,GAAmB;IACxE,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC;AAED,iGAAiG;AACjG,oGAAoG;AACpG,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,GAAS,EAAE,KAA0B,EAAE,QAAgB;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;IACjD,CAAC;IACD,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Path, PathMorph } from '@flighthq/types/contract';
|
|
2
|
+
export declare const PathMorphIssueNone = 0;
|
|
3
|
+
export declare const PathMorphIssueWindingMismatch = 1;
|
|
4
|
+
export declare const PathMorphIssueContourCountMismatch = 2;
|
|
5
|
+
export declare const PathMorphIssueContourClosednessMismatch = 3;
|
|
6
|
+
export declare const PathMorphIssueContourOrientationMismatch = 4;
|
|
7
|
+
interface PathMorphBuildResult {
|
|
8
|
+
contour: number | null;
|
|
9
|
+
issue: number;
|
|
10
|
+
morph: PathMorph | null;
|
|
11
|
+
}
|
|
12
|
+
export declare function buildPathMorph(start: Readonly<Path>, end: Readonly<Path>): PathMorphBuildResult;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=pathMorphGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathMorphGeometry.d.ts","sourceRoot":"","sources":["../src/pathMorphGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKhE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACzB;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAwC/F"}
|