sldeditor 0.5.0 → 0.6.1
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/canvas/BusLayer.d.ts.map +1 -1
- package/dist/canvas/CanvasSvg.d.ts.map +1 -1
- package/dist/canvas/JunctionLayer.d.ts +12 -0
- package/dist/canvas/JunctionLayer.d.ts.map +1 -0
- package/dist/canvas/WirePreview.d.ts +5 -4
- package/dist/canvas/WirePreview.d.ts.map +1 -1
- package/dist/canvas/hit-test.d.ts +6 -5
- package/dist/canvas/hit-test.d.ts.map +1 -1
- package/dist/canvas/resolve-wire-target.d.ts.map +1 -1
- package/dist/canvas/tools/JunctionTool.d.ts +3 -0
- package/dist/canvas/tools/JunctionTool.d.ts.map +1 -0
- package/dist/canvas/tools/SelectTool.d.ts.map +1 -1
- package/dist/canvas/tools/WireTool.d.ts.map +1 -1
- package/dist/canvas/tools/index.d.ts.map +1 -1
- package/dist/canvas/useKeyboardShortcuts.d.ts.map +1 -1
- package/dist/canvas/wire-target-bus.d.ts +4 -1
- package/dist/canvas/wire-target-bus.d.ts.map +1 -1
- package/dist/compiler/auto-route.d.ts.map +1 -1
- package/dist/compiler/compile.d.ts.map +1 -1
- package/dist/compiler/index.d.ts +1 -1
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/internal-model.d.ts +7 -1
- package/dist/compiler/internal-model.d.ts.map +1 -1
- package/dist/components/FloatingToolbar.d.ts.map +1 -1
- package/dist/components/PropertyPanel.d.ts.map +1 -1
- package/dist/i18n/messages.d.ts +16 -6
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/export-image.d.ts.map +1 -1
- package/dist/model/index.d.ts +1 -1
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/types.d.ts +25 -4
- package/dist/model/types.d.ts.map +1 -1
- package/dist/sldeditor.cjs +52 -47
- package/dist/sldeditor.cjs.map +1 -1
- package/dist/sldeditor.js +5596 -5245
- package/dist/sldeditor.js.map +1 -1
- package/dist/store/id-allocator.d.ts +1 -0
- package/dist/store/id-allocator.d.ts.map +1 -1
- package/dist/store/index.d.ts +2 -2
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/store.d.ts +36 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusLayer.d.ts","sourceRoot":"","sources":["../../src/canvas/BusLayer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,QAAQ,
|
|
1
|
+
{"version":3,"file":"BusLayer.d.ts","sourceRoot":"","sources":["../../src/canvas/BusLayer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,QAAQ,4CA4EvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasSvg.d.ts","sourceRoot":"","sources":["../../src/canvas/CanvasSvg.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"CanvasSvg.d.ts","sourceRoot":"","sources":["../../src/canvas/CanvasSvg.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2DH,wBAAgB,SAAS,4CAkRxB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renders one `<circle>` per junction — a free-standing point connection node
|
|
3
|
+
* (first-class peer to `Bus`). Tagged with `data-junction-id` so hit-test and
|
|
4
|
+
* the wire tool can attach to it, and `data-node-id` so a click resolves to
|
|
5
|
+
* the junction's electrical node, mirroring the bus/wire tagging convention.
|
|
6
|
+
*
|
|
7
|
+
* Junctions are always visible (unlike device terminals, which the wire tool
|
|
8
|
+
* reveals on demand) because they are model objects the user placed, not
|
|
9
|
+
* transient pins.
|
|
10
|
+
*/
|
|
11
|
+
export declare function JunctionLayer(): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=JunctionLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JunctionLayer.d.ts","sourceRoot":"","sources":["../../src/canvas/JunctionLayer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,wBAAgB,aAAa,4CAmC5B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dashed line from the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Dashed line from the wire-drag origin to the current cursor while the wire
|
|
3
|
+
* tool is mid-drag. The origin may be an existing terminal/bus/junction or a
|
|
4
|
+
* free point in space (which will mint a junction on release). When the cursor
|
|
5
|
+
* is over a valid drop target, a ring + dot marks the exact landing point; a
|
|
6
|
+
* hollow ring marks a spot where a release would create a new junction.
|
|
6
7
|
*/
|
|
7
8
|
export declare function WirePreview(): import("react/jsx-runtime").JSX.Element | null;
|
|
8
9
|
//# sourceMappingURL=WirePreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WirePreview.d.ts","sourceRoot":"","sources":["../../src/canvas/WirePreview.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"WirePreview.d.ts","sourceRoot":"","sources":["../../src/canvas/WirePreview.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,wBAAgB,WAAW,mDAoD1B"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { AnnotationId, BusId, ElementId, NodeId, WireEnd, WireId } from '../model';
|
|
1
|
+
import { AnnotationId, BusId, ElementId, JunctionId, NodeId, WireEnd, WireId } from '../model';
|
|
2
2
|
export declare function hitElement(target: EventTarget | null): ElementId | null;
|
|
3
3
|
export declare function hitBus(target: EventTarget | null): BusId | null;
|
|
4
|
+
export declare function hitJunction(target: EventTarget | null): JunctionId | null;
|
|
4
5
|
/**
|
|
5
|
-
* Returns
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* attach
|
|
6
|
+
* Returns the connectable WireEnd under the cursor — a device terminal ref
|
|
7
|
+
* ("X.Y"), a bare bus id, or a bare junction id. Direct hit on a
|
|
8
|
+
* `data-terminal-id` node wins; otherwise fall back to a junction dot or a bus
|
|
9
|
+
* body so the wire tool can attach to any of them.
|
|
9
10
|
*/
|
|
10
11
|
export declare function hitTerminal(target: EventTarget | null): WireEnd | null;
|
|
11
12
|
export declare function hitNode(target: EventTarget | null): NodeId | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hit-test.d.ts","sourceRoot":"","sources":["../../src/canvas/hit-test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EAEN,OAAO,EACP,MAAM,EACP,MAAM,UAAU,CAAC;AAOlB,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"hit-test.d.ts","sourceRoot":"","sources":["../../src/canvas/hit-test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,MAAM,EAEN,OAAO,EACP,MAAM,EACP,MAAM,UAAU,CAAC;AAOlB,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAE/D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAQtE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAK7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-wire-target.d.ts","sourceRoot":"","sources":["../../src/canvas/resolve-wire-target.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"resolve-wire-target.d.ts","sourceRoot":"","sources":["../../src/canvas/resolve-wire-target.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,UAAU,GAAG,IAAI,CA4BnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JunctionTool.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/JunctionTool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAKpC,eAAO,MAAM,YAAY,EAAE,IAY1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTool.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/SelectTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectTool.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/SelectTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA4CpC,eAAO,MAAM,UAAU,EAAE,IA8cxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WireTool.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/WireTool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"WireTool.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/WireTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA4EpC,eAAO,MAAM,QAAQ,EAAE,IAuFtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAS5C,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAQtC,CAAC;AAEF,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/canvas/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAiCvC;AAGD,wBAAgB,oBAAoB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/canvas/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAiCvC;AAGD,wBAAgB,oBAAoB,IAAI,IAAI,CAwH3C"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { WireEnd } from '../model';
|
|
2
2
|
export interface WireTarget {
|
|
3
|
-
ref
|
|
3
|
+
/** Existing connectable ref, or null when this target will mint a junction. */
|
|
4
|
+
ref: WireEnd | null;
|
|
4
5
|
/** World-frame coords of where the connection will physically attach. */
|
|
5
6
|
world: [number, number];
|
|
6
7
|
/** True when the target is a bare bus id. */
|
|
7
8
|
isBus: boolean;
|
|
9
|
+
/** Set when releasing here mints a junction (empty space, or a wire tap). */
|
|
10
|
+
create?: 'junction';
|
|
8
11
|
}
|
|
9
12
|
type Listener = (target: WireTarget | null) => void;
|
|
10
13
|
export declare function publishWireTarget(t: WireTarget | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-target-bus.d.ts","sourceRoot":"","sources":["../../src/canvas/wire-target-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wire-target-bus.d.ts","sourceRoot":"","sources":["../../src/canvas/wire-target-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,yEAAyE;IACzE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;AAKpD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAa5D;AAED,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,IAAI,CAK5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-route.d.ts","sourceRoot":"","sources":["../../src/compiler/auto-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3B,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,EAAE,EAAE,CAAC;CACZ;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CA6B5E;
|
|
1
|
+
{"version":3,"file":"auto-route.d.ts","sourceRoot":"","sources":["../../src/compiler/auto-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3B,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,EAAE,EAAE,CAAC;CACZ;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CA6B5E;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,EAAE,GAAG,IAAI,EACnB,KAAK,EAAE,aAAa,GACnB,EAAE,GAAG,IAAI,CAmBX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAGV,WAAW,
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAGV,WAAW,EASZ,MAAM,UAAU,CAAC;AAKlB,OAAO,EAKL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAyB1B,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CA2S3D"}
|
package/dist/compiler/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { compile } from './compile';
|
|
2
2
|
export { LIBRARY, getLibraryEntry } from './library-index';
|
|
3
3
|
export { busAxisFromRot, emptyInternalModel, resolvePlacement, } from './internal-model';
|
|
4
|
-
export type { BusGeometry, ConnectivityNode, Diagnostic, InternalModel, ResolvedBus, ResolvedElement, ResolvedPlacement, TerminalGeometry, WireRender, } from './internal-model';
|
|
4
|
+
export type { BusGeometry, ConnectivityNode, Diagnostic, InternalModel, ResolvedBus, ResolvedElement, ResolvedJunction, ResolvedPlacement, TerminalGeometry, WireRender, } from './internal-model';
|
|
5
5
|
export { orientationVec, transformOrientation, transformPoint, } from './transforms';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,MAAM,cAAc,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bus, BusId, Element, ElementId, LibraryEntry, NodeId, Orientation, Placement, TerminalRef, WireEnd } from '../model';
|
|
1
|
+
import { Bus, BusId, Element, ElementId, Junction, JunctionId, LibraryEntry, NodeId, Orientation, Placement, TerminalRef, WireEnd } from '../model';
|
|
2
2
|
/** Element + the resolved library record for its `kind`. */
|
|
3
3
|
export interface ResolvedElement {
|
|
4
4
|
element: Element;
|
|
@@ -22,6 +22,11 @@ export interface ResolvedBus {
|
|
|
22
22
|
bus: Bus;
|
|
23
23
|
geometry: BusGeometry;
|
|
24
24
|
}
|
|
25
|
+
export interface ResolvedJunction {
|
|
26
|
+
junction: Junction;
|
|
27
|
+
/** Canvas coordinate of the point node. */
|
|
28
|
+
world: [number, number];
|
|
29
|
+
}
|
|
25
30
|
export interface TerminalGeometry {
|
|
26
31
|
ref: TerminalRef;
|
|
27
32
|
elementId: ElementId;
|
|
@@ -58,6 +63,7 @@ export interface WireRender {
|
|
|
58
63
|
export interface InternalModel {
|
|
59
64
|
elements: Map<ElementId, ResolvedElement>;
|
|
60
65
|
buses: Map<BusId, ResolvedBus>;
|
|
66
|
+
junctions: Map<JunctionId, ResolvedJunction>;
|
|
61
67
|
terminals: Map<TerminalRef, TerminalGeometry>;
|
|
62
68
|
nodes: Map<NodeId, ConnectivityNode>;
|
|
63
69
|
layout: Map<ElementId, ResolvedPlacement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-model.d.ts","sourceRoot":"","sources":["../../src/compiler/internal-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,KAAK,EACL,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,EACX,SAAS,EACT,WAAW,EACX,OAAO,EACR,MAAM,UAAU,CAAC;AAElB,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,6DAA6D;IAC7D,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,SAAS,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,UAAU,EAAE,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1C,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9C,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC1C,qCAAqC;IACrC,WAAW,EAAE,GAAG,CAAC,OAAO,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IAClD,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"internal-model.d.ts","sourceRoot":"","sources":["../../src/compiler/internal-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingToolbar.d.ts","sourceRoot":"","sources":["../../src/components/FloatingToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingToolbar.d.ts","sourceRoot":"","sources":["../../src/components/FloatingToolbar.tsx"],"names":[],"mappings":"AA6KA,wBAAgB,eAAe,4CAyG9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyPanel.d.ts","sourceRoot":"","sources":["../../src/components/PropertyPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"PropertyPanel.d.ts","sourceRoot":"","sources":["../../src/components/PropertyPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,wBAAgB,aAAa,mDAwE5B"}
|
package/dist/i18n/messages.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export declare const messages: {
|
|
|
42
42
|
readonly 'props.node': "电气节点";
|
|
43
43
|
readonly 'props.wire': "连线";
|
|
44
44
|
readonly 'props.bus': "母线";
|
|
45
|
+
readonly 'props.junction': "接线柱";
|
|
46
|
+
readonly 'props.junctionPos': "位置";
|
|
45
47
|
readonly 'props.nSelected': "{n} 选中";
|
|
46
48
|
readonly 'props.empty': "未选中";
|
|
47
49
|
readonly 'props.multi': "已选中 {n} 个元件";
|
|
@@ -83,9 +85,11 @@ export declare const messages: {
|
|
|
83
85
|
readonly 'tool.pan': "平移";
|
|
84
86
|
readonly 'tool.panHint': "拖动画布;空格键可临时切换";
|
|
85
87
|
readonly 'tool.wire': "连线";
|
|
86
|
-
readonly 'tool.wireHint': "
|
|
88
|
+
readonly 'tool.wireHint': "从端子/母线/接线柱拖出;拖到空白处会自动新建接线柱,拖到已有连线上可打接点";
|
|
87
89
|
readonly 'tool.bus': "母线";
|
|
88
90
|
readonly 'tool.busHint': "画布上拖动一段母线,按下定起点、释放定终点";
|
|
91
|
+
readonly 'tool.junction': "接线柱";
|
|
92
|
+
readonly 'tool.junctionHint': "点击画布放置一个接线柱(接点),连线可自由连到它";
|
|
89
93
|
readonly 'tool.place': "元件";
|
|
90
94
|
readonly 'tool.placeHint': "点击画布放置;或从端子/母线拖出,同时放置并连接";
|
|
91
95
|
readonly 'tool.text': "文字";
|
|
@@ -93,10 +97,11 @@ export declare const messages: {
|
|
|
93
97
|
readonly 'mode.selectWithSel': "拖动元件移动 · 拖端子连线 · 右键打开菜单";
|
|
94
98
|
readonly 'mode.selectEmpty': "点选元件 · 拖动移动 · 框选多个 · 右键打开菜单";
|
|
95
99
|
readonly 'mode.pan': "拖动画布 · 滚轮缩放 · 按住空格可在其他工具下临时平移";
|
|
96
|
-
readonly 'mode.wireDragging': "
|
|
97
|
-
readonly 'mode.wireInit': "
|
|
100
|
+
readonly 'mode.wireDragging': "拖到端子/母线/接线柱释放;空白处释放会新建接线柱";
|
|
101
|
+
readonly 'mode.wireInit': "从任意连接点或空白处按下,拖到目标释放;空白处会新建接线柱";
|
|
98
102
|
readonly 'mode.busDragging': "拖动决定母线方向,释放定终点";
|
|
99
103
|
readonly 'mode.busInit': "在画布按下定起点,拖动后释放定终点";
|
|
104
|
+
readonly 'mode.junction': "点击画布放置一个接线柱";
|
|
100
105
|
readonly 'mode.placeNoKind': "从左侧元件库选择一种元件";
|
|
101
106
|
readonly 'mode.placeFromTerm': "拖到目标位置释放,新元件将连接到起点端子";
|
|
102
107
|
readonly 'mode.placeNormal': "点击空白放置;或从已有端子 / 母线拖出,同时放置并连接";
|
|
@@ -212,6 +217,8 @@ export declare const messages: {
|
|
|
212
217
|
readonly 'props.node': "Electrical node";
|
|
213
218
|
readonly 'props.wire': "Wire";
|
|
214
219
|
readonly 'props.bus': "Bus";
|
|
220
|
+
readonly 'props.junction': "Junction";
|
|
221
|
+
readonly 'props.junctionPos': "Position";
|
|
215
222
|
readonly 'props.nSelected': "{n} selected";
|
|
216
223
|
readonly 'props.empty': "Nothing selected";
|
|
217
224
|
readonly 'props.multi': "{n} elements selected";
|
|
@@ -253,9 +260,11 @@ export declare const messages: {
|
|
|
253
260
|
readonly 'tool.pan': "Pan";
|
|
254
261
|
readonly 'tool.panHint': "Drag the canvas; Space toggles temporarily";
|
|
255
262
|
readonly 'tool.wire': "Wire";
|
|
256
|
-
readonly 'tool.wireHint': "Drag from
|
|
263
|
+
readonly 'tool.wireHint': "Drag from a pin/bus/junction; into empty space drops a junction, onto a wire taps it";
|
|
257
264
|
readonly 'tool.bus': "Busbar";
|
|
258
265
|
readonly 'tool.busHint': "Drag on the canvas — press to set start, release to set end";
|
|
266
|
+
readonly 'tool.junction': "Junction";
|
|
267
|
+
readonly 'tool.junctionHint': "Click the canvas to drop a junction (node); wires attach to it freely";
|
|
259
268
|
readonly 'tool.place': "Place";
|
|
260
269
|
readonly 'tool.placeHint': "Click to place; or drag from a terminal/bus to place and connect";
|
|
261
270
|
readonly 'tool.text': "Text";
|
|
@@ -263,10 +272,11 @@ export declare const messages: {
|
|
|
263
272
|
readonly 'mode.selectWithSel': "Drag elements · drag terminals to wire · right-click for menu";
|
|
264
273
|
readonly 'mode.selectEmpty': "Click to pick · drag to move · marquee for multiple · right-click for menu";
|
|
265
274
|
readonly 'mode.pan': "Drag the canvas · scroll to zoom · hold Space to pan in any tool";
|
|
266
|
-
readonly 'mode.wireDragging': "Release on
|
|
267
|
-
readonly 'mode.wireInit': "Press on
|
|
275
|
+
readonly 'mode.wireDragging': "Release on a pin/bus/junction; release in empty space drops a junction";
|
|
276
|
+
readonly 'mode.wireInit': "Press on any connection point or empty space, drag to a target and release";
|
|
268
277
|
readonly 'mode.busDragging': "Drag sets bus direction; release sets the end";
|
|
269
278
|
readonly 'mode.busInit': "Press on the canvas to set start, drag, release to set end";
|
|
279
|
+
readonly 'mode.junction': "Click the canvas to drop a junction";
|
|
270
280
|
readonly 'mode.placeNoKind': "Pick an element kind from the library on the left";
|
|
271
281
|
readonly 'mode.placeFromTerm': "Release at the target — the new element will connect back to the source terminal";
|
|
272
282
|
readonly 'mode.placeNormal': "Click empty space to place; or drag from a terminal / bus to place and connect";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmYX,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,QAAQ,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { OneLineEditor } from './OneLineEditor';
|
|
2
2
|
export type { OneLineEditorProps } from './OneLineEditor';
|
|
3
3
|
export type { OneLineEditorProps as SldEditorProps } from './OneLineEditor';
|
|
4
|
-
export type { Bus, BusId, BusLayout, DiagramFile, DiagramMeta, DiagramVersion, Element, ElementId, LibraryEntry, LibraryLabelAnchor, LibraryParamField, LibrarySource, LibraryStateField, LibraryStretchable, LibraryTerminal, NodeId, Orientation, ParamValue, PinName, Placement, TerminalRef, Wire, WireEnd, WireId, } from './model';
|
|
4
|
+
export type { Bus, BusId, BusLayout, DiagramFile, DiagramMeta, DiagramVersion, Element, ElementId, Junction, JunctionId, JunctionLayout, LibraryEntry, LibraryLabelAnchor, LibraryParamField, LibrarySource, LibraryStateField, LibraryStretchable, LibraryTerminal, NodeId, Orientation, ParamValue, PinName, Placement, TerminalRef, Wire, WireEnd, WireId, } from './model';
|
|
5
5
|
export { compile, LIBRARY, getLibraryEntry, emptyInternalModel, resolvePlacement, transformPoint, transformOrientation, orientationVec, } from './compiler';
|
|
6
|
-
export type { BusGeometry, ConnectivityNode, Diagnostic, InternalModel, ResolvedBus, ResolvedElement, ResolvedPlacement, TerminalGeometry, WireRender, } from './compiler';
|
|
6
|
+
export type { BusGeometry, ConnectivityNode, Diagnostic, InternalModel, ResolvedBus, ResolvedElement, ResolvedJunction, ResolvedPlacement, TerminalGeometry, WireRender, } from './compiler';
|
|
7
7
|
export { useEditorStore } from './store';
|
|
8
8
|
export type { EditorState } from './store';
|
|
9
|
-
export { newBusId, newElementId, wireIdFromEnds, } from './store/id-allocator';
|
|
9
|
+
export { newBusId, newElementId, newJunctionId, wireIdFromEnds, } from './store/id-allocator';
|
|
10
10
|
export { useLocale } from './i18n';
|
|
11
11
|
export type { Locale } from './i18n';
|
|
12
12
|
export { applyTheme, getInitialTheme } from './hooks/use-theme';
|
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,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,YAAY,EACV,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,OAAO,EACP,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,OAAO,EACP,MAAM,GACP,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,OAAO,EACP,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5E,YAAY,EACV,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,OAAO,EACP,MAAM,GACP,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,OAAO,EACP,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-image.d.ts","sourceRoot":"","sources":["../../src/lib/export-image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAqB1D,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;iEAC6D;IAC7D,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,aAAkB,GACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"export-image.d.ts","sourceRoot":"","sources":["../../src/lib/export-image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAqB1D,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;iEAC6D;IAC7D,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,aAAkB,GACvB,MAAM,CAkHR;AAsHD,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,QAAQ,SAAgB,EACxB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,QAAQ,SAAgB,EACxB,IAAI,CAAC,EAAE,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
package/dist/model/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AnnotationId, Bus, BusId, BusLayout, DiagramFile, DiagramMeta, DiagramVersion, Element, ElementId, LabelMode, NodeId, ParamValue, PinName, Placement, TerminalRef, TextAnnotation, Wire, WireEnd, WireId, } from './types';
|
|
1
|
+
export type { AnnotationId, Bus, BusId, BusLayout, DiagramFile, DiagramMeta, DiagramVersion, Element, ElementId, Junction, JunctionId, JunctionLayout, LabelMode, NodeId, ParamValue, PinName, Placement, TerminalRef, TextAnnotation, Wire, WireEnd, WireId, } from './types';
|
|
2
2
|
export type { LibraryEntry, LibraryTerminal, LibraryStretchable, LibraryStateField, LibraryParamField, LibraryLabelAnchor, LibrarySource, Orientation, } from './library';
|
|
3
3
|
export { normalizePath } from './wire-path';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,cAAc,EACd,IAAI,EACJ,OAAO,EACP,MAAM,GACP,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,cAAc,EACd,IAAI,EACJ,OAAO,EACP,MAAM,GACP,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -4,14 +4,17 @@ export type ElementId = string;
|
|
|
4
4
|
export type PinName = string;
|
|
5
5
|
export type NodeId = string;
|
|
6
6
|
export type BusId = ElementId;
|
|
7
|
+
export type JunctionId = ElementId;
|
|
7
8
|
export type WireId = string;
|
|
8
9
|
/** "elementId.pinName" — dotted form for device pins. */
|
|
9
10
|
export type TerminalRef = `${ElementId}.${PinName}`;
|
|
10
11
|
/**
|
|
11
|
-
* Either a device terminal ("X.Y") or a bare
|
|
12
|
-
*
|
|
12
|
+
* A wire endpoint. Either a device terminal ("X.Y") or a bare **node** id —
|
|
13
|
+
* a bus id or a junction id. Disambiguated by the presence of a `.`: dotted is
|
|
14
|
+
* always a device pin, bare is a node resolved against `buses` then `junctions`
|
|
15
|
+
* (node ids share one namespace, so the two never collide).
|
|
13
16
|
*/
|
|
14
|
-
export type WireEnd = TerminalRef | BusId;
|
|
17
|
+
export type WireEnd = TerminalRef | BusId | JunctionId;
|
|
15
18
|
export type ParamValue = number | string | boolean;
|
|
16
19
|
export type LabelMode = 'off' | 'id' | 'all';
|
|
17
20
|
export interface DiagramFile {
|
|
@@ -21,7 +24,14 @@ export interface DiagramFile {
|
|
|
21
24
|
elements: Element[];
|
|
22
25
|
/** Bus collection. Each bus is a hyperedge node, not an element. */
|
|
23
26
|
buses?: Bus[];
|
|
24
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Junction collection. A junction is a free-standing point connection node —
|
|
29
|
+
* a first-class peer to `Bus` (it has geometry but no span). Wires meeting at
|
|
30
|
+
* a junction share one electrical node, so junctions back free point-to-point
|
|
31
|
+
* wiring without abusing buses.
|
|
32
|
+
*/
|
|
33
|
+
junctions?: Junction[];
|
|
34
|
+
/** Binary line segments between two endpoints (terminal pin, bus, or junction). */
|
|
25
35
|
wires?: Wire[];
|
|
26
36
|
/** Device placements only. Bus geometry lives in `Bus.layout`. */
|
|
27
37
|
layout?: Record<ElementId, Placement>;
|
|
@@ -57,6 +67,17 @@ export interface BusLayout {
|
|
|
57
67
|
span: number;
|
|
58
68
|
rot?: 0 | 90 | 180 | 270;
|
|
59
69
|
}
|
|
70
|
+
export interface Junction {
|
|
71
|
+
id: JunctionId;
|
|
72
|
+
name?: string;
|
|
73
|
+
note?: string;
|
|
74
|
+
params?: Record<string, ParamValue>;
|
|
75
|
+
/** If absent, auto-layout computes the point (midpoint of wire neighbors). */
|
|
76
|
+
layout?: JunctionLayout;
|
|
77
|
+
}
|
|
78
|
+
export interface JunctionLayout {
|
|
79
|
+
at: [number, number];
|
|
80
|
+
}
|
|
60
81
|
export interface Wire {
|
|
61
82
|
id: WireId;
|
|
62
83
|
ends: [WireEnd, WireEnd];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AACjC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC;AAC9B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;AACpD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
|