@escapace/minimum-perimeter-triangle 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +0,0 @@
1
- # @escapace/minimum-perimeter-triangle
2
-
3
- A light adaptation of Victor Ermolaev's
4
- [implementation](https://github.com/vnermolaev/minimal-perimeter-triangle) of an
5
- algorithm that computes the minimum perimeter triangle enclosing a convex
6
- polygon.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/line.ts","../../src/vec2.ts","../../src/inscribe.ts","../../src/index.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/line.ts","../../src/vec2.ts","../../src/inscribe.ts","../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,38 @@
1
- import { Line } from './line';
2
- import { Vec2 } from './vec2';
1
+ declare class Line {
2
+ readonly delta: Vec2;
3
+ readonly end: Vec2;
4
+ readonly start: Vec2;
5
+ constructor(start: Vec2, end: Vec2);
6
+ closestPoint(p: Vec2): Vec2;
7
+ closestPointParam(p: Vec2): number;
8
+ distanceToPoint(p: Vec2): number;
9
+ evaluate(t: number): Vec2;
10
+ intersectionParameter(that: Line, error: number): number | null;
11
+ intersectionPoint(that: Line, error: number): Vec2 | null;
12
+ overlaps(that: Line, error: number): boolean;
13
+ /**
14
+ * If alpha is less than deviationFromZeroAngle, the 2 lines are
15
+ * considered parallel.
16
+ * _______________________________
17
+ * alpha (/
18
+ * /
19
+ * /
20
+ * /
21
+ */
22
+ parallel(that: Line, deviationFromZeroAngle: number): boolean;
23
+ pointOnSide(p: Vec2, error?: number): number;
24
+ pointOnTop(p: Vec2, error: number): boolean;
25
+ /**
26
+ * Length of a line is the length between its two defining points
27
+ */
28
+ get length(): number;
29
+ }
30
+
3
31
  export declare function lineTangentToHull(line: Line, points: Vec2[], halo: number): {
4
32
  holds: boolean;
5
33
  side: number;
6
34
  };
7
- /**
8
- * Finds a minimal perimeter triangle enclosing a convex hull of an _arc_ trace
9
- * The longest side of the hull is considered to be a bottom of the triangle and
10
- * _is fixed_. This procedure is tailored from the generic algorithm given in
11
- * http://scholar.uwindsor.ca/cgi/viewcontent.cgi?article=2527&context=etd
12
- * starting from p. 22; In the notation of the generic algorithm BC is fixed
13
- */
14
- export declare function minTriangleWithBase(convexHull: Vec2[], error: number, tol: number): {
15
- A: Vec2;
16
- B: Vec2;
17
- C: Vec2;
18
- } | null;
35
+
19
36
  export declare function minTriangle(convexHull: Array<{
20
37
  x: number;
21
38
  y: number;
@@ -33,4 +50,41 @@ export declare function minTriangle(convexHull: Array<{
33
50
  y: number;
34
51
  };
35
52
  } | null;
36
- //# sourceMappingURL=index.d.ts.map
53
+
54
+ /**
55
+ * Finds a minimal perimeter triangle enclosing a convex hull of an _arc_ trace
56
+ * The longest side of the hull is considered to be a bottom of the triangle and
57
+ * _is fixed_. This procedure is tailored from the generic algorithm given in
58
+ * http://scholar.uwindsor.ca/cgi/viewcontent.cgi?article=2527&context=etd
59
+ * starting from p. 22; In the notation of the generic algorithm BC is fixed
60
+ */
61
+ export declare function minTriangleWithBase(convexHull: Vec2[], error: number, tol: number): {
62
+ A: Vec2;
63
+ B: Vec2;
64
+ C: Vec2;
65
+ } | null;
66
+
67
+ declare class Vec2 {
68
+ private _norm;
69
+ private _normalized;
70
+ private _normSquared;
71
+ private readonly _x;
72
+ private readonly _y;
73
+ constructor(x: number, y: number);
74
+ cross(that: Vec2): number;
75
+ dot(that: Vec2): number;
76
+ equals(that: Vec2, error: number): boolean;
77
+ minus(that: Vec2): Vec2;
78
+ normal(): Vec2;
79
+ over(s: number): Vec2;
80
+ plus(that: Vec2): Vec2;
81
+ times(s: number): Vec2;
82
+ toString(): string;
83
+ get norm(): number;
84
+ get normalized(): Vec2;
85
+ get normSquared(): number;
86
+ get x(): number;
87
+ get y(): number;
88
+ }
89
+
90
+ export { }
package/package.json CHANGED
@@ -1,32 +1,33 @@
1
1
  {
2
2
  "name": "@escapace/minimum-perimeter-triangle",
3
3
  "description": "",
4
- "version": "0.2.6",
4
+ "version": "0.3.0",
5
5
  "author": {
6
6
  "name": "escapace",
7
7
  "email": "opensource@escapace.com"
8
8
  },
9
9
  "bugs": "https://github.com/escapace/minimum-perimeter-triangle/issues",
10
10
  "devDependencies": {
11
- "@commitlint/cli": "19.6.0",
12
- "@commitlint/config-conventional": "19.6.0",
13
- "@escapace/pnpm-pack": "0.5.3",
14
- "@ls-lint/ls-lint": "2.2.3",
15
- "@vitest/coverage-v8": "2.1.8",
16
- "eslint": "9.17.0",
17
- "eslint-config-escapace": "5.4.0",
18
- "esroll": "0.3.0",
19
- "knip": "5.40.0",
20
- "lefthook": "1.9.2",
21
- "prettier": "3.4.2",
22
- "prettier-config-escapace": "1.2.1",
23
- "syncpack": "13.0.0",
24
- "tsx": "4.19.2",
25
- "typescript": "5.7.2",
26
- "vitest": "2.1.8"
11
+ "@commitlint/cli": "20.4.2",
12
+ "@commitlint/config-conventional": "20.4.2",
13
+ "@escapace/pnpm-pack": "0.7.0",
14
+ "@escapace/syncpack-configuration": "0.1.0",
15
+ "@ls-lint/ls-lint": "2.3.1",
16
+ "@vitest/coverage-v8": "4.0.18",
17
+ "eslint": "9.39.3",
18
+ "eslint-config-escapace": "5.13.0",
19
+ "esroll": "1.1.5",
20
+ "knip": "5.85.0",
21
+ "lefthook": "2.1.1",
22
+ "prettier": "3.8.1",
23
+ "prettier-config-escapace": "1.2.2",
24
+ "syncpack": "14.0.1",
25
+ "tsx": "4.21.0",
26
+ "typescript": "5.9.3",
27
+ "vitest": "4.0.18"
27
28
  },
28
29
  "engines": {
29
- "pnpm": ">=9.14.4"
30
+ "pnpm": ">=10.29.2"
30
31
  },
31
32
  "exports": {
32
33
  ".": {
@@ -52,12 +53,13 @@
52
53
  "types": "lib/types/index.d.ts",
53
54
  "scripts": {
54
55
  "build": "tsx scripts/build.ts",
55
- "format": "syncpack format && eslint --no-warn-ignored --fix && prettier -uw .",
56
+ "format": "syncpack format && eslint --no-warn-ignored --fix && prettier --no-error-on-unmatched-pattern -uw .",
56
57
  "lint": "ls-lint --config .ls-lint.yaml && knip --no-config-hints && eslint",
57
58
  "ls-lint": "ls-lint --config .ls-lint.yaml",
58
59
  "pack": "pnpm-pack package --pack-destination lib",
59
- "syncpack": "syncpack fix-mismatches && syncpack set-semver-ranges && syncpack format",
60
+ "syncpack": "syncpack fix && syncpack format",
60
61
  "test": "vitest --no-watch --coverage",
61
- "typecheck": "tsc --noEmit"
62
+ "typecheck": "tsc --noEmit",
63
+ "update": "ncu --cooldown 7 -p pnpm -u --peer --dep dev,peer,prod,optional && pnpm run syncpack"
62
64
  }
63
65
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAQ,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,EAAE,EACd,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAsBlC;AA6HD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,IAAI,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV;IAAE,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAoDtC;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV;IACD,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5B,GAAG,IAAI,CAgDP"}
@@ -1,36 +0,0 @@
1
- import { Line } from './line';
2
- import { Vec2 } from './vec2';
3
- interface Circle {
4
- centre: Vec2;
5
- r: number;
6
- }
7
- /**
8
- * Class describing a wedge.
9
- * Wedge can be degenerate, i.e., its arms are parallel,
10
- * in this case they must point in the same direction
11
- */
12
- export declare class Wedge {
13
- readonly isDegenerate: boolean;
14
- readonly leftArm: Line;
15
- readonly rightArm: Line;
16
- private constructor();
17
- static new(leftArm: Line, rightArm: Line, error: number): Wedge | null;
18
- private fit_Dl;
19
- private fit_Dp;
20
- private fit_NDl;
21
- private fit_NDp;
22
- fitCircles(element: Vec2, error: number): Array<{
23
- circle: Circle;
24
- tangent: Line;
25
- }> | null;
26
- fitCircles(element: Line, error: number): Array<{
27
- circle: Circle;
28
- tangentParameter: number;
29
- }> | null;
30
- formTriangle(line: Line, error: number): boolean;
31
- looselyContains(p: Vec2, error: number): boolean;
32
- strictlyContains(p: Vec2, error: number): boolean;
33
- toString(): string;
34
- }
35
- export {};
36
- //# sourceMappingURL=inscribe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inscribe.d.ts","sourceRoot":"","sources":["../../src/inscribe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAQ,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,UAAU,MAAM;IACd,MAAM,EAAE,IAAI,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;GAIG;AACH,qBAAa,KAAK;IAChB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;IAEvB,OAAO;IAMP,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IA4DtE,OAAO,CAAC,MAAM;IAkDd,OAAO,CAAC,MAAM;IA6Dd,OAAO,CAAC,OAAO;IAgHf,OAAO,CAAC,OAAO;IAqEf,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI;IAEzF,UAAU,CACR,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAc7D,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAwBhD,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAqBhD,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAsBjD,QAAQ,IAAI,MAAM;CAMnB"}
@@ -1,36 +0,0 @@
1
- import type { Vec2 } from './vec2';
2
- export declare enum Side {
3
- Left = 1,
4
- Right = -1,
5
- Top = 0
6
- }
7
- export declare class Line {
8
- readonly delta: Vec2;
9
- readonly end: Vec2;
10
- readonly start: Vec2;
11
- constructor(start: Vec2, end: Vec2);
12
- closestPoint(p: Vec2): Vec2;
13
- closestPointParam(p: Vec2): number;
14
- distanceToPoint(p: Vec2): number;
15
- evaluate(t: number): Vec2;
16
- intersectionParameter(that: Line, error: number): number | null;
17
- intersectionPoint(that: Line, error: number): Vec2 | null;
18
- overlaps(that: Line, error: number): boolean;
19
- /**
20
- * If alpha is less than deviationFromZeroAngle, the 2 lines are
21
- * considered parallel.
22
- * _______________________________
23
- * alpha (/
24
- * /
25
- * /
26
- * /
27
- */
28
- parallel(that: Line, deviationFromZeroAngle: number): boolean;
29
- pointOnSide(p: Vec2, error?: number): number;
30
- pointOnTop(p: Vec2, error: number): boolean;
31
- /**
32
- * Length of a line is the length between its two defining points
33
- */
34
- get length(): number;
35
- }
36
- //# sourceMappingURL=line.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAElC,oBAAY,IAAI;IACd,IAAI,IAAI;IACR,KAAK,KAAK;IACV,GAAG,IAAI;CACR;AAED,qBAAa,IAAI;IACf,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;gBAER,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;IAMlC,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI;IAI3B,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM;IAIlC,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM;IAIhC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS/D,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKzD,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI5C;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,GAAG,OAAO;IAM7D,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,SAAI,GAAG,MAAM;IAQvC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3C;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
@@ -1,23 +0,0 @@
1
- export declare class Vec2 {
2
- private _norm;
3
- private _normalized;
4
- private _normSquared;
5
- private readonly _x;
6
- private readonly _y;
7
- constructor(x: number, y: number);
8
- cross(that: Vec2): number;
9
- dot(that: Vec2): number;
10
- equals(that: Vec2, error: number): boolean;
11
- minus(that: Vec2): Vec2;
12
- normal(): Vec2;
13
- over(s: number): Vec2;
14
- plus(that: Vec2): Vec2;
15
- times(s: number): Vec2;
16
- toString(): string;
17
- get norm(): number;
18
- get normalized(): Vec2;
19
- get normSquared(): number;
20
- get x(): number;
21
- get y(): number;
22
- }
23
- //# sourceMappingURL=vec2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec2.d.ts","sourceRoot":"","sources":["../../src/vec2.ts"],"names":[],"mappings":"AACA,qBAAa,IAAI;IACf,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;gBAEf,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKhC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAIzB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAIvB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAO1C,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIvB,MAAM,IAAI,IAAI;IAId,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAItB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAItB,QAAQ,IAAI,MAAM;IAIlB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,UAAU,IAAI,IAAI,CAIrB;IAED,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;CACF"}