circuit-json 0.0.517 → 0.0.519

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
@@ -1432,7 +1432,10 @@ interface UnknownErrorFindingPart extends BaseCircuitJsonError {
1432
1432
 
1433
1433
  ```typescript
1434
1434
  /** Resolved cable geometry in circuit-world XYZ, mm, +Z up. Path samples are
1435
- * points; first and last are wire exits. Connector poses follow path tangents.
1435
+ * points; first and last are wire exits. Optional pin 1 positions are absolute
1436
+ * points at the connector mating faces, resolved by the circuit producer.
1437
+ * Their transverse offsets from the endpoint centerlines fix connector roll.
1438
+ * Omitted positions preserve legacy parallel-transport orientation.
1436
1439
  * Rendering consumes this path without rerouting or adding sag. */
1437
1440
  interface CadCable {
1438
1441
  type: "cad_cable"
@@ -1440,6 +1443,8 @@ interface CadCable {
1440
1443
  name: string
1441
1444
  from_source_component_id: string
1442
1445
  to_source_component_id: string
1446
+ from_connector_pin1_position?: Point3
1447
+ to_connector_pin1_position?: Point3
1443
1448
  cableprinter_string: string
1444
1449
  path: Point3[]
1445
1450
  }
@@ -2068,6 +2073,10 @@ interface PcbFabricationNotePath {
2068
2073
  route: Point[]
2069
2074
  stroke_width: Length
2070
2075
  color?: string
2076
+ /** Fill the route as a closed polygon using color. Defaults to false. */
2077
+ is_filled?: boolean
2078
+ /** Draw the outline using stroke_width and color. Defaults to true. */
2079
+ has_stroke?: boolean
2071
2080
  }
2072
2081
  ```
2073
2082
 
package/dist/index.d.mts CHANGED
@@ -12260,6 +12260,8 @@ declare const pcb_fabrication_note_path: z.ZodObject<{
12260
12260
  }>, "many">;
12261
12261
  stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
12262
12262
  color: z.ZodOptional<z.ZodString>;
12263
+ is_filled: z.ZodOptional<z.ZodBoolean>;
12264
+ has_stroke: z.ZodOptional<z.ZodBoolean>;
12263
12265
  }, "strip", z.ZodTypeAny, {
12264
12266
  type: "pcb_fabrication_note_path";
12265
12267
  layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
@@ -12271,6 +12273,8 @@ declare const pcb_fabrication_note_path: z.ZodObject<{
12271
12273
  stroke_width: number;
12272
12274
  pcb_fabrication_note_path_id: string;
12273
12275
  subcircuit_id?: string | undefined;
12276
+ is_filled?: boolean | undefined;
12277
+ has_stroke?: boolean | undefined;
12274
12278
  color?: string | undefined;
12275
12279
  }, {
12276
12280
  type: "pcb_fabrication_note_path";
@@ -12284,6 +12288,8 @@ declare const pcb_fabrication_note_path: z.ZodObject<{
12284
12288
  }[];
12285
12289
  stroke_width: string | number;
12286
12290
  subcircuit_id?: string | undefined;
12291
+ is_filled?: boolean | undefined;
12292
+ has_stroke?: boolean | undefined;
12287
12293
  color?: string | undefined;
12288
12294
  pcb_fabrication_note_path_id?: string | undefined;
12289
12295
  }>;
@@ -12300,6 +12306,10 @@ interface PcbFabricationNotePath {
12300
12306
  route: Point[];
12301
12307
  stroke_width: Length;
12302
12308
  color?: string;
12309
+ /** Fill the route as a closed polygon using color. Defaults to false. */
12310
+ is_filled?: boolean;
12311
+ /** Draw the outline using stroke_width and color. Defaults to true. */
12312
+ has_stroke?: boolean;
12303
12313
  }
12304
12314
  /**
12305
12315
  * @deprecated use PcbFabricationNotePath
@@ -39780,6 +39790,48 @@ declare const cad_cable: z.ZodObject<{
39780
39790
  name: z.ZodString;
39781
39791
  from_source_component_id: z.ZodString;
39782
39792
  to_source_component_id: z.ZodString;
39793
+ from_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
39794
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39795
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39796
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39797
+ }, "strip", z.ZodTypeAny, {
39798
+ x: number;
39799
+ y: number;
39800
+ z: number;
39801
+ }, {
39802
+ x: string | number;
39803
+ y: string | number;
39804
+ z: string | number;
39805
+ }>, {
39806
+ x: number;
39807
+ y: number;
39808
+ z: number;
39809
+ }, {
39810
+ x: string | number;
39811
+ y: string | number;
39812
+ z: string | number;
39813
+ }>>;
39814
+ to_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
39815
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39816
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39817
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
39818
+ }, "strip", z.ZodTypeAny, {
39819
+ x: number;
39820
+ y: number;
39821
+ z: number;
39822
+ }, {
39823
+ x: string | number;
39824
+ y: string | number;
39825
+ z: string | number;
39826
+ }>, {
39827
+ x: number;
39828
+ y: number;
39829
+ z: number;
39830
+ }, {
39831
+ x: string | number;
39832
+ y: string | number;
39833
+ z: string | number;
39834
+ }>>;
39783
39835
  cableprinter_string: z.ZodString;
39784
39836
  path: z.ZodEffects<z.ZodArray<z.ZodObject<{
39785
39837
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -39814,6 +39866,16 @@ declare const cad_cable: z.ZodObject<{
39814
39866
  from_source_component_id: string;
39815
39867
  to_source_component_id: string;
39816
39868
  cableprinter_string: string;
39869
+ from_connector_pin1_position?: {
39870
+ x: number;
39871
+ y: number;
39872
+ z: number;
39873
+ } | undefined;
39874
+ to_connector_pin1_position?: {
39875
+ x: number;
39876
+ y: number;
39877
+ z: number;
39878
+ } | undefined;
39817
39879
  }, {
39818
39880
  path: {
39819
39881
  x: string | number;
@@ -39826,10 +39888,23 @@ declare const cad_cable: z.ZodObject<{
39826
39888
  from_source_component_id: string;
39827
39889
  to_source_component_id: string;
39828
39890
  cableprinter_string: string;
39891
+ from_connector_pin1_position?: {
39892
+ x: string | number;
39893
+ y: string | number;
39894
+ z: string | number;
39895
+ } | undefined;
39896
+ to_connector_pin1_position?: {
39897
+ x: string | number;
39898
+ y: string | number;
39899
+ z: string | number;
39900
+ } | undefined;
39829
39901
  }>;
39830
39902
  type CadCableInput = z.input<typeof cad_cable>;
39831
39903
  /** Resolved cable geometry in circuit-world XYZ, mm, +Z up. Path samples are
39832
- * points; first and last are wire exits. Connector poses follow path tangents.
39904
+ * points; first and last are wire exits. Optional pin 1 positions are absolute
39905
+ * points at the connector mating faces, resolved by the circuit producer.
39906
+ * Their transverse offsets from the endpoint centerlines fix connector roll.
39907
+ * Omitted positions preserve legacy parallel-transport orientation.
39833
39908
  * Rendering consumes this path without rerouting or adding sag.
39834
39909
  */
39835
39910
  interface CadCable {
@@ -39838,6 +39913,8 @@ interface CadCable {
39838
39913
  name: string;
39839
39914
  from_source_component_id: string;
39840
39915
  to_source_component_id: string;
39916
+ from_connector_pin1_position?: Point3;
39917
+ to_connector_pin1_position?: Point3;
39841
39918
  cableprinter_string: string;
39842
39919
  path: Point3[];
39843
39920
  }
@@ -50689,6 +50766,8 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
50689
50766
  }>, "many">;
50690
50767
  stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
50691
50768
  color: z.ZodOptional<z.ZodString>;
50769
+ is_filled: z.ZodOptional<z.ZodBoolean>;
50770
+ has_stroke: z.ZodOptional<z.ZodBoolean>;
50692
50771
  }, "strip", z.ZodTypeAny, {
50693
50772
  type: "pcb_fabrication_note_path";
50694
50773
  layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
@@ -50700,6 +50779,8 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
50700
50779
  stroke_width: number;
50701
50780
  pcb_fabrication_note_path_id: string;
50702
50781
  subcircuit_id?: string | undefined;
50782
+ is_filled?: boolean | undefined;
50783
+ has_stroke?: boolean | undefined;
50703
50784
  color?: string | undefined;
50704
50785
  }, {
50705
50786
  type: "pcb_fabrication_note_path";
@@ -50713,6 +50794,8 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
50713
50794
  }[];
50714
50795
  stroke_width: string | number;
50715
50796
  subcircuit_id?: string | undefined;
50797
+ is_filled?: boolean | undefined;
50798
+ has_stroke?: boolean | undefined;
50716
50799
  color?: string | undefined;
50717
50800
  pcb_fabrication_note_path_id?: string | undefined;
50718
50801
  }>, z.ZodObject<{
@@ -60987,6 +61070,48 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
60987
61070
  name: z.ZodString;
60988
61071
  from_source_component_id: z.ZodString;
60989
61072
  to_source_component_id: z.ZodString;
61073
+ from_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
61074
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61075
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61076
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61077
+ }, "strip", z.ZodTypeAny, {
61078
+ x: number;
61079
+ y: number;
61080
+ z: number;
61081
+ }, {
61082
+ x: string | number;
61083
+ y: string | number;
61084
+ z: string | number;
61085
+ }>, {
61086
+ x: number;
61087
+ y: number;
61088
+ z: number;
61089
+ }, {
61090
+ x: string | number;
61091
+ y: string | number;
61092
+ z: string | number;
61093
+ }>>;
61094
+ to_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
61095
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61096
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61097
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
61098
+ }, "strip", z.ZodTypeAny, {
61099
+ x: number;
61100
+ y: number;
61101
+ z: number;
61102
+ }, {
61103
+ x: string | number;
61104
+ y: string | number;
61105
+ z: string | number;
61106
+ }>, {
61107
+ x: number;
61108
+ y: number;
61109
+ z: number;
61110
+ }, {
61111
+ x: string | number;
61112
+ y: string | number;
61113
+ z: string | number;
61114
+ }>>;
60990
61115
  cableprinter_string: z.ZodString;
60991
61116
  path: z.ZodEffects<z.ZodArray<z.ZodObject<{
60992
61117
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -61021,6 +61146,16 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
61021
61146
  from_source_component_id: string;
61022
61147
  to_source_component_id: string;
61023
61148
  cableprinter_string: string;
61149
+ from_connector_pin1_position?: {
61150
+ x: number;
61151
+ y: number;
61152
+ z: number;
61153
+ } | undefined;
61154
+ to_connector_pin1_position?: {
61155
+ x: number;
61156
+ y: number;
61157
+ z: number;
61158
+ } | undefined;
61024
61159
  }, {
61025
61160
  path: {
61026
61161
  x: string | number;
@@ -61033,6 +61168,16 @@ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
61033
61168
  from_source_component_id: string;
61034
61169
  to_source_component_id: string;
61035
61170
  cableprinter_string: string;
61171
+ from_connector_pin1_position?: {
61172
+ x: string | number;
61173
+ y: string | number;
61174
+ z: string | number;
61175
+ } | undefined;
61176
+ to_connector_pin1_position?: {
61177
+ x: string | number;
61178
+ y: string | number;
61179
+ z: string | number;
61180
+ } | undefined;
61036
61181
  }>, z.ZodObject<{
61037
61182
  message: z.ZodString;
61038
61183
  is_fatal: z.ZodOptional<z.ZodBoolean>;
@@ -73269,6 +73414,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
73269
73414
  }>, "many">;
73270
73415
  stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
73271
73416
  color: z.ZodOptional<z.ZodString>;
73417
+ is_filled: z.ZodOptional<z.ZodBoolean>;
73418
+ has_stroke: z.ZodOptional<z.ZodBoolean>;
73272
73419
  }, "strip", z.ZodTypeAny, {
73273
73420
  type: "pcb_fabrication_note_path";
73274
73421
  layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
@@ -73280,6 +73427,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
73280
73427
  stroke_width: number;
73281
73428
  pcb_fabrication_note_path_id: string;
73282
73429
  subcircuit_id?: string | undefined;
73430
+ is_filled?: boolean | undefined;
73431
+ has_stroke?: boolean | undefined;
73283
73432
  color?: string | undefined;
73284
73433
  }, {
73285
73434
  type: "pcb_fabrication_note_path";
@@ -73293,6 +73442,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
73293
73442
  }[];
73294
73443
  stroke_width: string | number;
73295
73444
  subcircuit_id?: string | undefined;
73445
+ is_filled?: boolean | undefined;
73446
+ has_stroke?: boolean | undefined;
73296
73447
  color?: string | undefined;
73297
73448
  pcb_fabrication_note_path_id?: string | undefined;
73298
73449
  }>, z.ZodObject<{
@@ -83567,6 +83718,48 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
83567
83718
  name: z.ZodString;
83568
83719
  from_source_component_id: z.ZodString;
83569
83720
  to_source_component_id: z.ZodString;
83721
+ from_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
83722
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83723
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83724
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83725
+ }, "strip", z.ZodTypeAny, {
83726
+ x: number;
83727
+ y: number;
83728
+ z: number;
83729
+ }, {
83730
+ x: string | number;
83731
+ y: string | number;
83732
+ z: string | number;
83733
+ }>, {
83734
+ x: number;
83735
+ y: number;
83736
+ z: number;
83737
+ }, {
83738
+ x: string | number;
83739
+ y: string | number;
83740
+ z: string | number;
83741
+ }>>;
83742
+ to_connector_pin1_position: z.ZodOptional<z.ZodEffects<z.ZodObject<{
83743
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83744
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83745
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
83746
+ }, "strip", z.ZodTypeAny, {
83747
+ x: number;
83748
+ y: number;
83749
+ z: number;
83750
+ }, {
83751
+ x: string | number;
83752
+ y: string | number;
83753
+ z: string | number;
83754
+ }>, {
83755
+ x: number;
83756
+ y: number;
83757
+ z: number;
83758
+ }, {
83759
+ x: string | number;
83760
+ y: string | number;
83761
+ z: string | number;
83762
+ }>>;
83570
83763
  cableprinter_string: z.ZodString;
83571
83764
  path: z.ZodEffects<z.ZodArray<z.ZodObject<{
83572
83765
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -83601,6 +83794,16 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
83601
83794
  from_source_component_id: string;
83602
83795
  to_source_component_id: string;
83603
83796
  cableprinter_string: string;
83797
+ from_connector_pin1_position?: {
83798
+ x: number;
83799
+ y: number;
83800
+ z: number;
83801
+ } | undefined;
83802
+ to_connector_pin1_position?: {
83803
+ x: number;
83804
+ y: number;
83805
+ z: number;
83806
+ } | undefined;
83604
83807
  }, {
83605
83808
  path: {
83606
83809
  x: string | number;
@@ -83613,6 +83816,16 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
83613
83816
  from_source_component_id: string;
83614
83817
  to_source_component_id: string;
83615
83818
  cableprinter_string: string;
83819
+ from_connector_pin1_position?: {
83820
+ x: string | number;
83821
+ y: string | number;
83822
+ z: string | number;
83823
+ } | undefined;
83824
+ to_connector_pin1_position?: {
83825
+ x: string | number;
83826
+ y: string | number;
83827
+ z: string | number;
83828
+ } | undefined;
83616
83829
  }>, z.ZodObject<{
83617
83830
  message: z.ZodString;
83618
83831
  is_fatal: z.ZodOptional<z.ZodBoolean>;
package/dist/index.mjs CHANGED
@@ -3489,7 +3489,9 @@ var pcb_fabrication_note_path = z154.object({
3489
3489
  layer: layer_ref,
3490
3490
  route: z154.array(point),
3491
3491
  stroke_width: length,
3492
- color: z154.string().optional()
3492
+ color: z154.string().optional(),
3493
+ is_filled: z154.boolean().optional(),
3494
+ has_stroke: z154.boolean().optional()
3493
3495
  }).describe(
3494
3496
  "Defines a fabrication path on the PCB for fabricators or assemblers"
3495
3497
  );
@@ -4436,12 +4438,20 @@ expectTypesMatch(true);
4436
4438
 
4437
4439
  // src/cad/cad_cable.ts
4438
4440
  import { z as z197 } from "zod";
4441
+ var connectorPin1Position = point3.refine(
4442
+ (point2) => [point2.x, point2.y, point2.z].every(Number.isFinite),
4443
+ "Connector pin 1 positions must be finite"
4444
+ ).describe(
4445
+ "Resolved pin 1 position at the connector mating face, in right-handed circuit world, millimeters: +X right, +Y top, +Z above. An absolute point, not a direction. Computed by the circuit producer from endpoint geometry. Together with the endpoint path tangent, fixes connector roll and identifies its pin 1 side; renderers must not infer it from footprints."
4446
+ );
4439
4447
  var cad_cable = z197.object({
4440
4448
  type: z197.literal("cad_cable"),
4441
4449
  cad_cable_id: z197.string(),
4442
4450
  name: z197.string().min(1),
4443
4451
  from_source_component_id: z197.string(),
4444
4452
  to_source_component_id: z197.string(),
4453
+ from_connector_pin1_position: connectorPin1Position.optional(),
4454
+ to_connector_pin1_position: connectorPin1Position.optional(),
4445
4455
  cableprinter_string: z197.string().min(1).describe(
4446
4456
  'Physical cable definition, e.g. "usb_c" or "jst_ph_pins6". Independent of the route.'
4447
4457
  ),