@mylasertools/kerfscript 0.2.1 → 0.4.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/CHANGELOG.md +99 -2
- package/LANGUAGE.md +102 -66
- package/README.md +21 -10
- package/THIRD-PARTY-NOTICES.md +13 -4
- package/dist/assembly.d.cts +20 -0
- package/dist/assembly.d.ts +20 -0
- package/dist/cli.js +923 -288
- package/dist/evaluator.d.cts +6 -0
- package/dist/evaluator.d.ts +6 -0
- package/dist/export/dxf.d.cts +1 -1
- package/dist/export/dxf.d.ts +1 -1
- package/dist/font.d.cts +3 -0
- package/dist/font.d.ts +3 -0
- package/dist/functions.d.cts +21 -2
- package/dist/functions.d.ts +21 -2
- package/dist/geometry.d.cts +2 -0
- package/dist/geometry.d.ts +2 -0
- package/dist/index.cjs +24 -19
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +24 -19
- package/dist/lexer.d.cts +4 -1
- package/dist/lexer.d.ts +4 -1
- package/dist/parser.d.cts +1 -1
- package/dist/parser.d.ts +1 -1
- package/dist/render.d.cts +3 -1
- package/dist/render.d.ts +3 -1
- package/dist/values.d.cts +10 -2
- package/dist/values.d.ts +10 -2
- package/dist/wasm.d.cts +1 -0
- package/dist/wasm.d.ts +1 -0
- package/docs/cli.md +46 -20
- package/docs/compatibility.md +3 -3
- package/docs/customizer.md +9 -9
- package/docs/desktop.md +96 -0
- package/docs/javascript.md +30 -27
- package/docs/layers.md +6 -6
- package/docs/openscad.md +9 -9
- package/docs/parts-and-sheets.md +32 -0
- package/docs/versions.md +2 -2
- package/docs/webassembly.md +133 -0
- package/fonts/OFL.txt +92 -0
- package/package.json +6 -3
package/dist/evaluator.d.cts
CHANGED
|
@@ -25,6 +25,7 @@ export interface Limits {
|
|
|
25
25
|
maxPoints: number;
|
|
26
26
|
maxOutputPoints: number;
|
|
27
27
|
maxSheets: number;
|
|
28
|
+
maxCollisionPairs: number;
|
|
28
29
|
}
|
|
29
30
|
export declare const DEFAULT_LIMITS: Limits;
|
|
30
31
|
interface ModDef {
|
|
@@ -98,6 +99,8 @@ export declare class Evaluator {
|
|
|
98
99
|
private loop;
|
|
99
100
|
private evalArgs;
|
|
100
101
|
private bindParams;
|
|
102
|
+
private unknownArg;
|
|
103
|
+
private warn;
|
|
101
104
|
private callModule;
|
|
102
105
|
private childStmts;
|
|
103
106
|
callFunction(f: FnDef | Closure, args: Args, caller: Env, name: string): Value;
|
|
@@ -107,12 +110,15 @@ export declare class Evaluator {
|
|
|
107
110
|
private charge;
|
|
108
111
|
private call;
|
|
109
112
|
private specialFunction;
|
|
113
|
+
private assert;
|
|
110
114
|
private echo;
|
|
111
115
|
private echoText;
|
|
112
116
|
private arith;
|
|
113
117
|
private arg;
|
|
114
118
|
private num;
|
|
115
119
|
private vec2;
|
|
120
|
+
private vec3;
|
|
121
|
+
private placements;
|
|
116
122
|
private points;
|
|
117
123
|
private dyn;
|
|
118
124
|
private spend;
|
package/dist/evaluator.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface Limits {
|
|
|
25
25
|
maxPoints: number;
|
|
26
26
|
maxOutputPoints: number;
|
|
27
27
|
maxSheets: number;
|
|
28
|
+
maxCollisionPairs: number;
|
|
28
29
|
}
|
|
29
30
|
export declare const DEFAULT_LIMITS: Limits;
|
|
30
31
|
interface ModDef {
|
|
@@ -98,6 +99,8 @@ export declare class Evaluator {
|
|
|
98
99
|
private loop;
|
|
99
100
|
private evalArgs;
|
|
100
101
|
private bindParams;
|
|
102
|
+
private unknownArg;
|
|
103
|
+
private warn;
|
|
101
104
|
private callModule;
|
|
102
105
|
private childStmts;
|
|
103
106
|
callFunction(f: FnDef | Closure, args: Args, caller: Env, name: string): Value;
|
|
@@ -107,12 +110,15 @@ export declare class Evaluator {
|
|
|
107
110
|
private charge;
|
|
108
111
|
private call;
|
|
109
112
|
private specialFunction;
|
|
113
|
+
private assert;
|
|
110
114
|
private echo;
|
|
111
115
|
private echoText;
|
|
112
116
|
private arith;
|
|
113
117
|
private arg;
|
|
114
118
|
private num;
|
|
115
119
|
private vec2;
|
|
120
|
+
private vec3;
|
|
121
|
+
private placements;
|
|
116
122
|
private points;
|
|
117
123
|
private dyn;
|
|
118
124
|
private spend;
|
package/dist/export/dxf.d.cts
CHANGED
package/dist/export/dxf.d.ts
CHANGED
package/dist/font.d.cts
ADDED
package/dist/font.d.ts
ADDED
package/dist/functions.d.cts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { type Value } from './values.cjs';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export interface FnCtx {
|
|
3
|
+
maxLength: number;
|
|
4
|
+
step: (n?: number) => void;
|
|
5
|
+
given: number;
|
|
6
|
+
}
|
|
7
|
+
type Run = (args: Value[], c: FnCtx) => Value;
|
|
8
|
+
export interface Builtin {
|
|
9
|
+
params: string[];
|
|
10
|
+
rest: boolean;
|
|
11
|
+
order?: (n: number) => string[];
|
|
12
|
+
run: Run;
|
|
13
|
+
}
|
|
14
|
+
export declare function givenTwice(f: Builtin, pos: Value[], named: Map<string, Value>): string[];
|
|
15
|
+
export declare function bindArgs(f: Builtin, pos: Value[], named: Map<string, Value>): Value[];
|
|
16
|
+
/**
|
|
17
|
+
* Steps a built-in takes to go through its arguments: one for each item of a
|
|
18
|
+
* list or range and each character of a string. len() of a list is a single
|
|
19
|
+
* step. A range is counted up to just past max, the most items it may hold.
|
|
20
|
+
*/
|
|
21
|
+
export declare function argumentWork(name: string, args: Value[], max: number): number;
|
|
22
|
+
export declare const FUNCTIONS: Record<string, Builtin>;
|
|
4
23
|
export {};
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { type Value } from './values.js';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export interface FnCtx {
|
|
3
|
+
maxLength: number;
|
|
4
|
+
step: (n?: number) => void;
|
|
5
|
+
given: number;
|
|
6
|
+
}
|
|
7
|
+
type Run = (args: Value[], c: FnCtx) => Value;
|
|
8
|
+
export interface Builtin {
|
|
9
|
+
params: string[];
|
|
10
|
+
rest: boolean;
|
|
11
|
+
order?: (n: number) => string[];
|
|
12
|
+
run: Run;
|
|
13
|
+
}
|
|
14
|
+
export declare function givenTwice(f: Builtin, pos: Value[], named: Map<string, Value>): string[];
|
|
15
|
+
export declare function bindArgs(f: Builtin, pos: Value[], named: Map<string, Value>): Value[];
|
|
16
|
+
/**
|
|
17
|
+
* Steps a built-in takes to go through its arguments: one for each item of a
|
|
18
|
+
* list or range and each character of a string. len() of a list is a single
|
|
19
|
+
* step. A range is counted up to just past max, the most items it may hold.
|
|
20
|
+
*/
|
|
21
|
+
export declare function argumentWork(name: string, args: Value[], max: number): number;
|
|
22
|
+
export declare const FUNCTIONS: Record<string, Builtin>;
|
|
4
23
|
export {};
|
package/dist/geometry.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Placement } from './assembly.cjs';
|
|
1
2
|
export type Pt = [number, number];
|
|
2
3
|
export type Poly = Pt[];
|
|
3
4
|
export type Matrix = [number, number, number, number, number, number];
|
|
@@ -12,6 +13,7 @@ export interface PartShape {
|
|
|
12
13
|
thickness: number;
|
|
13
14
|
kerf: number;
|
|
14
15
|
material: string;
|
|
16
|
+
placements?: Placement[];
|
|
15
17
|
}
|
|
16
18
|
export interface Shape {
|
|
17
19
|
layers: Map<string, Layer>;
|
package/dist/geometry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Placement } from './assembly.js';
|
|
1
2
|
export type Pt = [number, number];
|
|
2
3
|
export type Poly = Pt[];
|
|
3
4
|
export type Matrix = [number, number, number, number, number, number];
|
|
@@ -12,6 +13,7 @@ export interface PartShape {
|
|
|
12
13
|
thickness: number;
|
|
13
14
|
kerf: number;
|
|
14
15
|
material: string;
|
|
16
|
+
placements?: Placement[];
|
|
15
17
|
}
|
|
16
18
|
export interface Shape {
|
|
17
19
|
layers: Map<string, Layer>;
|