@skillpet/circuit 0.5.0 → 0.5.2

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.
Files changed (333) hide show
  1. package/LICENSE +43 -0
  2. package/README.md +24 -30
  3. package/dist/circuit.bundle.js +0 -1
  4. package/dist/circuit.bundle.min.js +0 -1
  5. package/dist/circuit.esm.js +0 -1
  6. package/dist/config.d.ts +0 -1
  7. package/dist/container.d.ts +0 -1
  8. package/dist/drawing-gradient.d.ts +0 -1
  9. package/dist/drawing-stack.d.ts +0 -1
  10. package/dist/drawing-transition.d.ts +0 -1
  11. package/dist/drawing.d.ts +0 -1
  12. package/dist/element-label.d.ts +0 -1
  13. package/dist/element-style.d.ts +0 -1
  14. package/dist/element.d.ts +0 -1
  15. package/dist/element2term.d.ts +0 -1
  16. package/dist/elements/cables.d.ts +0 -1
  17. package/dist/elements/capacitor.d.ts +0 -1
  18. package/dist/elements/compound.d.ts +0 -1
  19. package/dist/elements/connectors.d.ts +0 -1
  20. package/dist/elements/crystal.d.ts +0 -1
  21. package/dist/elements/diode-more.d.ts +0 -1
  22. package/dist/elements/diode.d.ts +0 -1
  23. package/dist/elements/element-compound.d.ts +0 -1
  24. package/dist/elements/element-drawing.d.ts +0 -1
  25. package/dist/elements/ground.d.ts +0 -1
  26. package/dist/elements/ic.d.ts +0 -1
  27. package/dist/elements/image.d.ts +0 -1
  28. package/dist/elements/inductor.d.ts +0 -1
  29. package/dist/elements/line.d.ts +0 -1
  30. package/dist/elements/lines-arc-labels.d.ts +0 -1
  31. package/dist/elements/lines-elements.d.ts +0 -1
  32. package/dist/elements/misc-elements.d.ts +0 -1
  33. package/dist/elements/oneterm.d.ts +0 -1
  34. package/dist/elements/opamp.d.ts +0 -1
  35. package/dist/elements/outlets.d.ts +0 -1
  36. package/dist/elements/resistor-more.d.ts +0 -1
  37. package/dist/elements/resistor.d.ts +0 -1
  38. package/dist/elements/source-v.d.ts +0 -1
  39. package/dist/elements/sources.d.ts +0 -1
  40. package/dist/elements/switches.d.ts +0 -1
  41. package/dist/elements/transformer.d.ts +0 -1
  42. package/dist/elements/transistors.d.ts +0 -1
  43. package/dist/elements/tubes.d.ts +0 -1
  44. package/dist/elements/twoports.d.ts +0 -1
  45. package/dist/elements/twoterm-extras.d.ts +0 -1
  46. package/dist/elements/twoterm.d.ts +0 -1
  47. package/dist/geometry/point.d.ts +0 -1
  48. package/dist/geometry/roundcorners.d.ts +0 -1
  49. package/dist/geometry/transform.d.ts +0 -1
  50. package/dist/geometry/util.d.ts +0 -1
  51. package/dist/index.cjs +0 -1
  52. package/dist/index.d.ts +0 -1
  53. package/dist/json/anchor-ref.d.ts +0 -1
  54. package/dist/json/mount.d.ts +0 -1
  55. package/dist/json/registry.d.ts +0 -1
  56. package/dist/json/render.d.ts +0 -1
  57. package/dist/json/theme.d.ts +0 -1
  58. package/dist/json/types.d.ts +0 -1
  59. package/dist/json/validate.d.ts +0 -1
  60. package/dist/label-hint.d.ts +0 -1
  61. package/dist/logic/and.d.ts +0 -1
  62. package/dist/logic/bitfield.d.ts +0 -1
  63. package/dist/logic/buffer.d.ts +0 -1
  64. package/dist/logic/extras.d.ts +0 -1
  65. package/dist/logic/kmap.d.ts +0 -1
  66. package/dist/logic/or.d.ts +0 -1
  67. package/dist/logic/timing.d.ts +0 -1
  68. package/dist/logic/tristate.d.ts +0 -1
  69. package/dist/math-render.d.ts +0 -1
  70. package/dist/package-api.d.ts +0 -1
  71. package/dist/params.d.ts +0 -1
  72. package/dist/react/index.d.ts +0 -1
  73. package/dist/react/index.js +0 -1
  74. package/dist/segment.d.ts +0 -1
  75. package/dist/style.d.ts +0 -1
  76. package/dist/subsystems/dsp.d.ts +0 -1
  77. package/dist/subsystems/flow.d.ts +0 -1
  78. package/dist/subsystems/index.d.ts +0 -1
  79. package/dist/subsystems/parsing.d.ts +0 -1
  80. package/dist/subsystems/pictorial.d.ts +0 -1
  81. package/dist/svg/constants.d.ts +0 -1
  82. package/dist/svg/figure.d.ts +0 -1
  83. package/dist/svg/fmt.d.ts +0 -1
  84. package/dist/svg/svg-style.d.ts +0 -1
  85. package/dist/types.d.ts +0 -1
  86. package/dist/version.d.ts +0 -1
  87. package/dist/vue/index.d.ts +0 -1
  88. package/dist/vue/index.js +0 -1
  89. package/package.json +22 -9
  90. package/dist/circuit.bundle.js.map +0 -7
  91. package/dist/circuit.bundle.min.js.map +0 -7
  92. package/dist/circuit.esm.js.map +0 -7
  93. package/dist/config.d.ts.map +0 -1
  94. package/dist/config.js +0 -23
  95. package/dist/config.js.map +0 -1
  96. package/dist/container.d.ts.map +0 -1
  97. package/dist/container.js +0 -101
  98. package/dist/container.js.map +0 -1
  99. package/dist/drawing-gradient.d.ts.map +0 -1
  100. package/dist/drawing-gradient.js +0 -39
  101. package/dist/drawing-gradient.js.map +0 -1
  102. package/dist/drawing-stack.d.ts.map +0 -1
  103. package/dist/drawing-stack.js +0 -32
  104. package/dist/drawing-stack.js.map +0 -1
  105. package/dist/drawing-transition.d.ts.map +0 -1
  106. package/dist/drawing-transition.js +0 -181
  107. package/dist/drawing-transition.js.map +0 -1
  108. package/dist/drawing.d.ts.map +0 -1
  109. package/dist/drawing.js +0 -337
  110. package/dist/drawing.js.map +0 -1
  111. package/dist/element-label.d.ts.map +0 -1
  112. package/dist/element-label.js +0 -377
  113. package/dist/element-label.js.map +0 -1
  114. package/dist/element-style.d.ts.map +0 -1
  115. package/dist/element-style.js +0 -51
  116. package/dist/element-style.js.map +0 -1
  117. package/dist/element.d.ts.map +0 -1
  118. package/dist/element.js +0 -514
  119. package/dist/element.js.map +0 -1
  120. package/dist/element2term.d.ts.map +0 -1
  121. package/dist/element2term.js +0 -245
  122. package/dist/element2term.js.map +0 -1
  123. package/dist/elements/cables.d.ts.map +0 -1
  124. package/dist/elements/cables.js +0 -100
  125. package/dist/elements/cables.js.map +0 -1
  126. package/dist/elements/capacitor.d.ts.map +0 -1
  127. package/dist/elements/capacitor.js +0 -93
  128. package/dist/elements/capacitor.js.map +0 -1
  129. package/dist/elements/compound.d.ts.map +0 -1
  130. package/dist/elements/compound.js +0 -266
  131. package/dist/elements/compound.js.map +0 -1
  132. package/dist/elements/connectors.d.ts.map +0 -1
  133. package/dist/elements/connectors.js +0 -578
  134. package/dist/elements/connectors.js.map +0 -1
  135. package/dist/elements/crystal.d.ts.map +0 -1
  136. package/dist/elements/crystal.js +0 -31
  137. package/dist/elements/crystal.js.map +0 -1
  138. package/dist/elements/diode-more.d.ts.map +0 -1
  139. package/dist/elements/diode-more.js +0 -233
  140. package/dist/elements/diode-more.js.map +0 -1
  141. package/dist/elements/diode.d.ts.map +0 -1
  142. package/dist/elements/diode.js +0 -58
  143. package/dist/elements/diode.js.map +0 -1
  144. package/dist/elements/element-compound.d.ts.map +0 -1
  145. package/dist/elements/element-compound.js +0 -68
  146. package/dist/elements/element-compound.js.map +0 -1
  147. package/dist/elements/element-drawing.d.ts.map +0 -1
  148. package/dist/elements/element-drawing.js +0 -16
  149. package/dist/elements/element-drawing.js.map +0 -1
  150. package/dist/elements/ground.d.ts.map +0 -1
  151. package/dist/elements/ground.js +0 -30
  152. package/dist/elements/ground.js.map +0 -1
  153. package/dist/elements/ic.d.ts.map +0 -1
  154. package/dist/elements/ic.js +0 -816
  155. package/dist/elements/ic.js.map +0 -1
  156. package/dist/elements/image.d.ts.map +0 -1
  157. package/dist/elements/image.js +0 -27
  158. package/dist/elements/image.js.map +0 -1
  159. package/dist/elements/inductor.d.ts.map +0 -1
  160. package/dist/elements/inductor.js +0 -111
  161. package/dist/elements/inductor.js.map +0 -1
  162. package/dist/elements/line.d.ts.map +0 -1
  163. package/dist/elements/line.js +0 -14
  164. package/dist/elements/line.js.map +0 -1
  165. package/dist/elements/lines-arc-labels.d.ts.map +0 -1
  166. package/dist/elements/lines-arc-labels.js +0 -822
  167. package/dist/elements/lines-arc-labels.js.map +0 -1
  168. package/dist/elements/lines-elements.d.ts.map +0 -1
  169. package/dist/elements/lines-elements.js +0 -271
  170. package/dist/elements/lines-elements.js.map +0 -1
  171. package/dist/elements/misc-elements.d.ts.map +0 -1
  172. package/dist/elements/misc-elements.js +0 -160
  173. package/dist/elements/misc-elements.js.map +0 -1
  174. package/dist/elements/oneterm.d.ts.map +0 -1
  175. package/dist/elements/oneterm.js +0 -163
  176. package/dist/elements/oneterm.js.map +0 -1
  177. package/dist/elements/opamp.d.ts.map +0 -1
  178. package/dist/elements/opamp.js +0 -72
  179. package/dist/elements/opamp.js.map +0 -1
  180. package/dist/elements/outlets.d.ts.map +0 -1
  181. package/dist/elements/outlets.js +0 -285
  182. package/dist/elements/outlets.js.map +0 -1
  183. package/dist/elements/resistor-more.d.ts.map +0 -1
  184. package/dist/elements/resistor-more.js +0 -171
  185. package/dist/elements/resistor-more.js.map +0 -1
  186. package/dist/elements/resistor.d.ts.map +0 -1
  187. package/dist/elements/resistor.js +0 -22
  188. package/dist/elements/resistor.js.map +0 -1
  189. package/dist/elements/source-v.d.ts.map +0 -1
  190. package/dist/elements/source-v.js +0 -3
  191. package/dist/elements/source-v.js.map +0 -1
  192. package/dist/elements/sources.d.ts.map +0 -1
  193. package/dist/elements/sources.js +0 -519
  194. package/dist/elements/sources.js.map +0 -1
  195. package/dist/elements/switches.d.ts.map +0 -1
  196. package/dist/elements/switches.js +0 -328
  197. package/dist/elements/switches.js.map +0 -1
  198. package/dist/elements/transformer.d.ts.map +0 -1
  199. package/dist/elements/transformer.js +0 -184
  200. package/dist/elements/transformer.js.map +0 -1
  201. package/dist/elements/transistors.d.ts.map +0 -1
  202. package/dist/elements/transistors.js +0 -1009
  203. package/dist/elements/transistors.js.map +0 -1
  204. package/dist/elements/tubes.d.ts.map +0 -1
  205. package/dist/elements/tubes.js +0 -386
  206. package/dist/elements/tubes.js.map +0 -1
  207. package/dist/elements/twoports.d.ts.map +0 -1
  208. package/dist/elements/twoports.js +0 -231
  209. package/dist/elements/twoports.js.map +0 -1
  210. package/dist/elements/twoterm-extras.d.ts.map +0 -1
  211. package/dist/elements/twoterm-extras.js +0 -243
  212. package/dist/elements/twoterm-extras.js.map +0 -1
  213. package/dist/elements/twoterm.d.ts.map +0 -1
  214. package/dist/elements/twoterm.js +0 -4
  215. package/dist/elements/twoterm.js.map +0 -1
  216. package/dist/geometry/point.d.ts.map +0 -1
  217. package/dist/geometry/point.js +0 -99
  218. package/dist/geometry/point.js.map +0 -1
  219. package/dist/geometry/roundcorners.d.ts.map +0 -1
  220. package/dist/geometry/roundcorners.js +0 -64
  221. package/dist/geometry/roundcorners.js.map +0 -1
  222. package/dist/geometry/transform.d.ts.map +0 -1
  223. package/dist/geometry/transform.js +0 -33
  224. package/dist/geometry/transform.js.map +0 -1
  225. package/dist/geometry/util.d.ts.map +0 -1
  226. package/dist/geometry/util.js +0 -36
  227. package/dist/geometry/util.js.map +0 -1
  228. package/dist/index.cjs.map +0 -7
  229. package/dist/index.d.ts.map +0 -1
  230. package/dist/index.js +0 -68
  231. package/dist/index.js.map +0 -1
  232. package/dist/json/anchor-ref.d.ts.map +0 -1
  233. package/dist/json/anchor-ref.js +0 -35
  234. package/dist/json/anchor-ref.js.map +0 -1
  235. package/dist/json/mount.d.ts.map +0 -1
  236. package/dist/json/mount.js +0 -369
  237. package/dist/json/mount.js.map +0 -1
  238. package/dist/json/registry.d.ts.map +0 -1
  239. package/dist/json/registry.js +0 -323
  240. package/dist/json/registry.js.map +0 -1
  241. package/dist/json/render.d.ts.map +0 -1
  242. package/dist/json/render.js +0 -113
  243. package/dist/json/render.js.map +0 -1
  244. package/dist/json/theme.d.ts.map +0 -1
  245. package/dist/json/theme.js +0 -57
  246. package/dist/json/theme.js.map +0 -1
  247. package/dist/json/types.d.ts.map +0 -1
  248. package/dist/json/types.js +0 -2
  249. package/dist/json/types.js.map +0 -1
  250. package/dist/json/validate.d.ts.map +0 -1
  251. package/dist/json/validate.js +0 -77
  252. package/dist/json/validate.js.map +0 -1
  253. package/dist/label-hint.d.ts.map +0 -1
  254. package/dist/label-hint.js +0 -2
  255. package/dist/label-hint.js.map +0 -1
  256. package/dist/logic/and.d.ts.map +0 -1
  257. package/dist/logic/and.js +0 -63
  258. package/dist/logic/and.js.map +0 -1
  259. package/dist/logic/bitfield.d.ts.map +0 -1
  260. package/dist/logic/bitfield.js +0 -271
  261. package/dist/logic/bitfield.js.map +0 -1
  262. package/dist/logic/buffer.d.ts.map +0 -1
  263. package/dist/logic/buffer.js +0 -46
  264. package/dist/logic/buffer.js.map +0 -1
  265. package/dist/logic/extras.d.ts.map +0 -1
  266. package/dist/logic/extras.js +0 -211
  267. package/dist/logic/extras.js.map +0 -1
  268. package/dist/logic/kmap.d.ts.map +0 -1
  269. package/dist/logic/kmap.js +0 -163
  270. package/dist/logic/kmap.js.map +0 -1
  271. package/dist/logic/or.d.ts.map +0 -1
  272. package/dist/logic/or.js +0 -117
  273. package/dist/logic/or.js.map +0 -1
  274. package/dist/logic/timing.d.ts.map +0 -1
  275. package/dist/logic/timing.js +0 -791
  276. package/dist/logic/timing.js.map +0 -1
  277. package/dist/logic/tristate.d.ts.map +0 -1
  278. package/dist/logic/tristate.js +0 -48
  279. package/dist/logic/tristate.js.map +0 -1
  280. package/dist/math-render.d.ts.map +0 -1
  281. package/dist/math-render.js +0 -53
  282. package/dist/math-render.js.map +0 -1
  283. package/dist/package-api.d.ts.map +0 -1
  284. package/dist/package-api.js +0 -75
  285. package/dist/package-api.js.map +0 -1
  286. package/dist/params.d.ts.map +0 -1
  287. package/dist/params.js +0 -35
  288. package/dist/params.js.map +0 -1
  289. package/dist/react/index.d.ts.map +0 -1
  290. package/dist/react/index.js.map +0 -1
  291. package/dist/schemdraw-ts.bundle.js +0 -30448
  292. package/dist/schemdraw-ts.bundle.js.map +0 -7
  293. package/dist/segment.d.ts.map +0 -1
  294. package/dist/segment.js +0 -844
  295. package/dist/segment.js.map +0 -1
  296. package/dist/style.d.ts.map +0 -1
  297. package/dist/style.js +0 -230
  298. package/dist/style.js.map +0 -1
  299. package/dist/subsystems/dsp.d.ts.map +0 -1
  300. package/dist/subsystems/dsp.js +0 -267
  301. package/dist/subsystems/dsp.js.map +0 -1
  302. package/dist/subsystems/flow.d.ts.map +0 -1
  303. package/dist/subsystems/flow.js +0 -315
  304. package/dist/subsystems/flow.js.map +0 -1
  305. package/dist/subsystems/index.d.ts.map +0 -1
  306. package/dist/subsystems/index.js +0 -22
  307. package/dist/subsystems/index.js.map +0 -1
  308. package/dist/subsystems/parsing.d.ts.map +0 -1
  309. package/dist/subsystems/parsing.js +0 -456
  310. package/dist/subsystems/parsing.js.map +0 -1
  311. package/dist/subsystems/pictorial.d.ts.map +0 -1
  312. package/dist/subsystems/pictorial.js +0 -469
  313. package/dist/subsystems/pictorial.js.map +0 -1
  314. package/dist/svg/constants.d.ts.map +0 -1
  315. package/dist/svg/constants.js +0 -5
  316. package/dist/svg/constants.js.map +0 -1
  317. package/dist/svg/figure.d.ts.map +0 -1
  318. package/dist/svg/figure.js +0 -634
  319. package/dist/svg/figure.js.map +0 -1
  320. package/dist/svg/fmt.d.ts.map +0 -1
  321. package/dist/svg/fmt.js +0 -7
  322. package/dist/svg/fmt.js.map +0 -1
  323. package/dist/svg/svg-style.d.ts.map +0 -1
  324. package/dist/svg/svg-style.js +0 -46
  325. package/dist/svg/svg-style.js.map +0 -1
  326. package/dist/types.d.ts.map +0 -1
  327. package/dist/types.js +0 -21
  328. package/dist/types.js.map +0 -1
  329. package/dist/version.d.ts.map +0 -1
  330. package/dist/version.js +0 -3
  331. package/dist/version.js.map +0 -1
  332. package/dist/vue/index.d.ts.map +0 -1
  333. package/dist/vue/index.js.map +0 -1
package/dist/drawing.js DELETED
@@ -1,337 +0,0 @@
1
- /**
2
- * Drawing canvas — aligned with Python `schemdraw.Drawing` (SVG subset).
3
- */
4
- import { ImageFormat, bbox } from "./types.js";
5
- import { getGlobalStyle } from "./config.js";
6
- import { mergeParams, mergeParamsFirstWins } from "./params.js";
7
- import { Point } from "./geometry/point.js";
8
- import { popDrawing, pushDrawing, pushElement } from "./drawing-stack.js";
9
- import { Container } from "./container.js";
10
- import { SvgFigure } from "./svg/figure.js";
11
- import { assignGradientFillIds } from "./drawing-gradient.js";
12
- import { buildConnectionGraph, assignLeadTransitionIds } from "./drawing-transition.js";
13
- import { PT_PER_IN } from "./svg/constants.js";
14
- /** True if `prop` is a real field/getter/method on `Drawing` (not a dynamic anchor name). */
15
- function drawingHasProperty(obj, prop) {
16
- let o = obj;
17
- while (o) {
18
- if (Object.prototype.hasOwnProperty.call(o, prop)) {
19
- return true;
20
- }
21
- if (Object.getOwnPropertyDescriptor(o, prop) !== undefined) {
22
- return true;
23
- }
24
- o = Object.getPrototypeOf(o);
25
- }
26
- return false;
27
- }
28
- /**
29
- * 电路画布。构造返回的实例经 `Proxy` 支持 Python 式锚点:`drawing.foo` 在已 `setAnchor('foo')` 且不与成员名冲突时得到 {@link Point}。
30
- * TypeScript 若报「无此属性」,可用 {@link Drawing.getAnchor} 或 `anchors['foo']`。
31
- */
32
- export class Drawing {
33
- elements = [];
34
- /** Named positions in drawing coordinates (`set_anchor` / Python `Drawing.anchors`). */
35
- anchors = {};
36
- /** Extra SVG `<defs>` fragments (Python `Drawing.svgdefs`). */
37
- svgdefs = [];
38
- dwgparams = {};
39
- _here = new Point(0, 0);
40
- _theta = 0;
41
- _state = [];
42
- outfile;
43
- _elementMeta = new Map();
44
- setElementMeta(el, meta) {
45
- this._elementMeta.set(el, meta);
46
- }
47
- getElementMeta(el) {
48
- return this._elementMeta.get(el);
49
- }
50
- /**
51
- * Current placement position (Python `Drawing.here` / `_here`).
52
- * Get/set both call `push_element(None)` like Python — flushes any pending implicit `add`.
53
- */
54
- get here() {
55
- pushElement(null);
56
- return this._here;
57
- }
58
- set here(v) {
59
- pushElement(null);
60
- this._here = v instanceof Point ? v : Point.fromXY(v);
61
- }
62
- /** Current drawing direction in degrees (Python `Drawing.theta`). Getter flushes implicit stack. */
63
- get theta() {
64
- pushElement(null);
65
- return this._theta;
66
- }
67
- set theta(v) {
68
- this._theta = v;
69
- }
70
- /** Two-terminal default length (Python `Drawing.unit`). */
71
- get unit() {
72
- return this.dwgparams.unit ?? 3;
73
- }
74
- set unit(v) {
75
- this.dwgparams.unit = v;
76
- }
77
- constructor(opts = {}) {
78
- const g = getGlobalStyle();
79
- this.dwgparams = mergeParams(g, opts);
80
- if (opts.file !== undefined) {
81
- this.outfile = opts.file;
82
- }
83
- return drawingProxy(this);
84
- }
85
- /**
86
- * Typed read of a named anchor (same coordinates as Python `drawing.name` after `set_anchor`).
87
- * Dot access `drawing.name` also works on instances returned by `new Drawing()` / `withDrawing`.
88
- */
89
- getAnchor(name) {
90
- const xy = this.anchors[name];
91
- return xy === undefined ? undefined : new Point(xy[0], xy[1]);
92
- }
93
- enter() {
94
- pushDrawing(this);
95
- }
96
- exit() {
97
- pushElement(null);
98
- popDrawing(this);
99
- }
100
- containsElement(el) {
101
- return this.elements.includes(el);
102
- }
103
- add(el) {
104
- const r = el._place(this._here.toTuple(), this._theta, this.dwgparams);
105
- this.elements.push(el);
106
- this._here = r.point;
107
- this._theta = r.theta;
108
- return el;
109
- }
110
- /** Remove last element; restore `here` / `theta` from last remaining (Python `Drawing.undo`). */
111
- undo() {
112
- this.elements.pop();
113
- if (this.elements.length > 0) {
114
- const last = this.elements[this.elements.length - 1];
115
- this._here = last.absdrop.point;
116
- this._theta = last.absdrop.theta;
117
- }
118
- else {
119
- this._here = new Point(0, 0);
120
- this._theta = 0;
121
- }
122
- }
123
- /** Merge drawing defaults (Python `Drawing.config`). */
124
- config(partial) {
125
- this.dwgparams = mergeParams(this.dwgparams, partial);
126
- }
127
- /** Append multiple elements (Python `Drawing.add_elements`). */
128
- addElements(...els) {
129
- for (const el of els) {
130
- this.add(el);
131
- }
132
- }
133
- /**
134
- * Grouping box for implicit `add` stack (Python `Drawing.container()` / `with drawing.container():`).
135
- * Call {@link Container.enter} before child elements and {@link Container.exit} after, then {@link add} the container.
136
- */
137
- container(opts) {
138
- return new Container(this, { ...(opts ?? {}) });
139
- }
140
- /** Offset the current placement position (Python `Drawing.move`). */
141
- move(dx = 0, dy = 0) {
142
- this._here = this._here.add([dx, dy]);
143
- }
144
- /** Set placement position relative to `ref` (Python `Drawing.move_from`). */
145
- moveFrom(ref, dx = 0, dy = 0, theta) {
146
- this._here = ref.add([dx, dy]);
147
- if (theta !== undefined) {
148
- this._theta = theta;
149
- }
150
- }
151
- /** Save `here` / `theta` on a stack (Python `Drawing.push`). */
152
- push() {
153
- this._state.push([new Point(this._here.x, this._here.y), this._theta]);
154
- }
155
- /** Restore last pushed `here` / `theta` (Python `Drawing.pop`). */
156
- pop() {
157
- const s = this._state.pop();
158
- if (s !== undefined) {
159
- this._here = s[0];
160
- this._theta = s[1];
161
- }
162
- }
163
- /**
164
- * Save / restore `here` and `theta` around a callback — same stack as `push`/`pop`
165
- * (Python `with drawing.hold():`).
166
- */
167
- withHold(fn) {
168
- this.push();
169
- try {
170
- return fn();
171
- }
172
- finally {
173
- this.pop();
174
- }
175
- }
176
- /**
177
- * Manual alternative to `withHold`: call `hold()` then `close()` when done
178
- * (Python `HoldState` context manager).
179
- */
180
- hold() {
181
- this.push();
182
- const d = this;
183
- return {
184
- close: () => {
185
- d.pop();
186
- },
187
- };
188
- }
189
- /** Append raw XML inside `<defs>` (Python `Drawing.add_svgdef`). */
190
- addSvgDef(svgdef) {
191
- this.svgdefs.push(svgdef);
192
- }
193
- /** Record a named anchor at the current position (Python `Drawing.set_anchor`). */
194
- setAnchor(name) {
195
- this.anchors[name] = this._here.toTuple();
196
- }
197
- /**
198
- * Flattened transformed segments — `params` = user ∪ elm ∪ defaults (**no** drawing `_dwgparams`),
199
- * aligned with Python `Drawing.get_segments`.
200
- */
201
- getSegments() {
202
- const out = [];
203
- for (const el of this.elements) {
204
- const params = mergeParamsFirstWins(el.userParams, el.elmParams, el.defaults);
205
- for (const s of el.segments) {
206
- out.push(s.xform(el.transform, params));
207
- }
208
- }
209
- return out;
210
- }
211
- /**
212
- * Write SVG to a file (Node only). Extension should be `.svg`.
213
- * In browser environments this method throws — use {@link toSvgString} instead.
214
- */
215
- async save(path) {
216
- try {
217
- const { writeFileSync } = await import("node:fs");
218
- writeFileSync(path, this.toSvgString(), "utf8");
219
- }
220
- catch (err) {
221
- if (err instanceof Error && /Cannot find module|not supported|Failed to resolve|dynamically imported module|Module not found/.test(err.message)) {
222
- throw new Error("Drawing.save() requires Node.js. In the browser, use drawing.toSvgString() instead.");
223
- }
224
- throw err;
225
- }
226
- }
227
- getBBox() {
228
- let xmin = Infinity;
229
- let ymin = Infinity;
230
- let xmax = -Infinity;
231
- let ymax = -Infinity;
232
- for (const el of this.elements) {
233
- /** Include label segments so `toSvgString` viewBox matches Python (geometry + text). */
234
- const b = el.getBBox(true, true);
235
- xmin = Math.min(xmin, b.xmin);
236
- ymin = Math.min(ymin, b.ymin);
237
- xmax = Math.max(xmax, b.xmax);
238
- ymax = Math.max(ymax, b.ymax);
239
- }
240
- if (!Number.isFinite(xmin)) {
241
- return bbox(0, 0, 0, 0);
242
- }
243
- return bbox(xmin, ymin, xmax, ymax);
244
- }
245
- /** Render to SVG string (user units, SVG backend). */
246
- toSvgString() {
247
- const bb = this.getBBox();
248
- const { defsXml, cleanup } = assignGradientFillIds(this.elements);
249
- let transDefsXml = "";
250
- let transCleanup = () => { };
251
- if (this.dwgparams.colorTransition) {
252
- const ipu = this.dwgparams.inches_per_unit ?? 0.5;
253
- const scale = PT_PER_IN * ipu;
254
- const edges = buildConnectionGraph(this.elements);
255
- const trans = assignLeadTransitionIds(this.elements, edges, scale);
256
- transDefsXml = trans.defsXml;
257
- transCleanup = trans.cleanup;
258
- }
259
- try {
260
- const defsParts = [this.svgdefs.join(""), defsXml, transDefsXml].filter((s) => s.length > 0);
261
- const fig = new SvgFigure(bb, {
262
- inchesPerUnit: this.dwgparams.inches_per_unit,
263
- margin: this.dwgparams.margin,
264
- extraDefs: defsParts.length > 0 ? defsParts.join("") : undefined,
265
- });
266
- const bg = this.dwgparams.bgcolor;
267
- if (bg) {
268
- fig.bgcolor(bg);
269
- }
270
- for (const el of this.elements) {
271
- const meta = this._elementMeta.get(el);
272
- if (this.dwgparams.interactive && meta) {
273
- const attrs = {
274
- 'data-id': meta.id,
275
- 'data-type': meta.type,
276
- 'class': 'sd-el',
277
- };
278
- if (meta.tooltip) {
279
- attrs['data-tooltip'] = meta.tooltip;
280
- }
281
- const titleText = meta.tooltip || `${meta.id} — ${meta.type}`;
282
- fig.beginGroup(attrs, titleText);
283
- }
284
- el._draw(fig);
285
- if (this.dwgparams.interactive && meta) {
286
- fig.endGroup();
287
- }
288
- }
289
- return fig.toSvgString();
290
- }
291
- finally {
292
- cleanup();
293
- transCleanup();
294
- }
295
- }
296
- /**
297
- * Python `Drawing.get_imagedata` — 当前构建仅支持 SVG(UTF-8 字节);PNG 等栅格格式未接入。
298
- */
299
- getImageData(fmt = ImageFormat.SVG) {
300
- const s = typeof fmt === "string" ? fmt.toLowerCase() : String(fmt).toLowerCase();
301
- if (s !== "svg") {
302
- throw new Error(`@skillpet/circuit: getImageData('${fmt}') is not supported; only SVG bytes are available in this build.`);
303
- }
304
- return new TextEncoder().encode(this.toSvgString());
305
- }
306
- }
307
- /**
308
- * Python `Drawing.__getattr__`: `drawing.anchorName` resolves to `Point` when `anchorName` is in `anchors`
309
- * and is not a real `Drawing` member (methods, `elements`, `anchors`, etc.).
310
- */
311
- function drawingProxy(drawing) {
312
- return new Proxy(drawing, {
313
- get(target, prop, receiver) {
314
- if (typeof prop === "symbol") {
315
- return Reflect.get(target, prop, receiver);
316
- }
317
- if (!drawingHasProperty(target, prop) && prop in target.anchors) {
318
- const xy = target.anchors[prop];
319
- return new Point(xy[0], xy[1]);
320
- }
321
- return Reflect.get(target, prop, receiver);
322
- },
323
- });
324
- }
325
- /** Run `fn` with drawing stack (implicit `add` for elements created inside). */
326
- export function withDrawing(fn, opts) {
327
- const d = new Drawing(opts ?? {});
328
- d.enter();
329
- try {
330
- fn(d);
331
- }
332
- finally {
333
- d.exit();
334
- }
335
- return d;
336
- }
337
- //# sourceMappingURL=drawing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawing.js","sourceRoot":"","sources":["../src/drawing.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-label.d.ts","sourceRoot":"","sources":["../src/element-label.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC1C,KAAK,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAenD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkB1E;AAED,yGAAyG;AACzG,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAetF;AAcD,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GAAG,EAAE,EACnB,EAAE,EAAE,QAAQ,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAuFjD;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAwJ1G;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAuDhH"}