Files
Davide Asnaghi 8e6a63deb4 [FEATURE] sync zones and graphics (#79)
* sync zones and text

* add initial test for zone sync

* add zones to groups

* simpler zone test

* fix zone sync

* fix net determinism

* add more interesting test

* hack: amend tests with (0,0) positioning for now

* wip: fix nets for zones

* hack: keep old tests to make sure we don't mess up

* add zone sync

* fix sync graphics

* add complex test

* deterministic snapshot

* fix snapshots with no files

* add graphics test

* add timout

* bump timout

* reduce complexity

* move methods to virtual item

* add graphics groups

* use Duplicate

* add hatching to complex test
2025-08-24 01:29:00 -04:00

671 lines
17 KiB
Plaintext

(kicad_pcb
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(general
(thickness 1.6)
(legacy_teardrops no)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(2 "B.Cu" signal)
(9 "F.Adhes" user "F.Adhesive")
(11 "B.Adhes" user "B.Adhesive")
(13 "F.Paste" user)
(15 "B.Paste" user)
(5 "F.SilkS" user "F.Silkscreen")
(7 "B.SilkS" user "B.Silkscreen")
(1 "F.Mask" user)
(3 "B.Mask" user)
(17 "Dwgs.User" user "User.Drawings")
(19 "Cmts.User" user "User.Comments")
(21 "Eco1.User" user "User.Eco1")
(23 "Eco2.User" user "User.Eco2")
(25 "Edge.Cuts" user)
(27 "Margin" user)
(31 "F.CrtYd" user "F.Courtyard")
(29 "B.CrtYd" user "B.Courtyard")
(35 "F.Fab" user)
(33 "B.Fab" user)
(39 "User.1" user)
(41 "User.2" user)
(43 "User.3" user)
(45 "User.4" user)
)
(setup
(pad_to_mask_clearance 0)
(allow_soldermask_bridges_in_footprints no)
(tenting front back)
(pcbplotparams
(layerselection 0x00000000_00000000_55555555_5755f5ff)
(plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
(usegerberadvancedattributes yes)
(creategerberjobfile yes)
(dashed_line_dash_ratio 12.000000)
(dashed_line_gap_ratio 3.000000)
(svgprecision 4)
(plotframeref no)
(mode 1)
(useauxorigin no)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(pdf_metadata yes)
(pdf_single_document no)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plot_black_and_white yes)
(sketchpadsonfab no)
(plotpadnumbers no)
(hidednponfab no)
(sketchdnponfab yes)
(crossoutdnponfab yes)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
(drillshape 1)
(scaleselection 1)
(outputdirectory "")
)
)
(net 0 "")
(net 1 "P1")
(net 2 "P2")
(footprint "R_0603_1608Metric:R_0603_1608Metric"
(layer "F.Cu")
(uuid "52ba0242-373c-4851-99bc-fbd729e72e36")
(at 148.5 105.755)
(descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor")
(property "Reference" "R1"
(at -2.45 0.0106 0)
(layer "F.SilkS")
(uuid "0adb7f4c-182c-4cfe-beba-b700da405b93")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "1k"
(at 0 1.43 0)
(layer "F.Fab")
(hide yes)
(uuid "723fa0f6-9627-4e5d-a6cd-ca8573c72826")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "4e4991f2-6370-4dbb-bf1d-2eb64e5be684")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "243e5235-ef2c-48de-af03-770bb0784a22")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Path" "R1.R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "f98ebd4a-7ae6-4d1f-b095-62cd1a2a9080")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "__symbol_value" "(symbol\n \"R\"\n (pin_numbers\n (hide yes)\n )\n (pin_names\n (offset 0)\n )\n (exclude_from_sim no)\n (in_bom yes)\n (on_board yes)\n (property\n \"Reference\"\n \"R\"\n (at 2.032 0 90)\n (effects\n (font (size 1.27 1.27))\n )\n )\n (property\n \"Value\"\n \"R\"\n (at 0 0 90)\n (effects\n (font (size 1.27 1.27))\n )\n )\n (property\n \"Footprint\"\n \"\"\n (at -1.778 0 90)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"Datasheet\"\n \"~\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"Description\"\n \"Resistor\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"ki_keywords\"\n \"R res resistor\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"ki_fp_filters\"\n \"R_*\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (symbol\n \"R_0_1\"\n (rectangle\n (start\n -1.016\n -2.54\n )\n (end\n 1.016\n 2.54\n )\n (stroke\n (width 0.254)\n (type default)\n )\n (fill\n (type none)\n )\n )\n )\n (symbol\n \"R_1_1\"\n (pin\n passive\n line\n (at 0 3.81 270)\n (length 1.27)\n (name\n \"~\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n (number\n \"1\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n )\n (pin\n passive\n line\n (at 0 -3.81 90)\n (length 1.27)\n (name\n \"~\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n (number\n \"2\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n )\n )\n (embedded_fonts no)\n)"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "fe6ed3aa-1966-4b6f-b4c4-c205f895cfc8")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "symbol_name" "R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "60bb2111-23b9-47a9-908c-c47ba9fbac93")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Resistance" "1k"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "d9f8eb92-5c73-4b34-ae15-faa47b6c309c")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Type" "resistor"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "5a8bee5d-7b02-4855-a127-d944fd4caf58")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "prefix" "R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "daffec81-51f6-4818-be29-fca3a9aad4be")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Package" "0603"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "ccf3a151-d05c-48be-8c0c-16e6d669d20c")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "symbol_path" "/Users/davide/Library/Caches/pcb/gitlab/kicad/libraries/kicad-symbols/9.0.0/Device.kicad_sym"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "d5660289-706b-45b1-addc-67d68147dc98")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(path "/d527c2b8-3606-5386-bbed-5a45ed7b31a6/d527c2b8-3606-5386-bbed-5a45ed7b31a6")
(attr smd)
(fp_line
(start -0.237258 -0.5225)
(end 0.237258 -0.5225)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4caeab40-ec26-4876-a47e-a2540e25b952")
)
(fp_line
(start -0.237258 0.5225)
(end 0.237258 0.5225)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b9adc62b-730a-4e8e-99bc-26824386e9af")
)
(fp_line
(start -1.48 -0.73)
(end 1.48 -0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a437daba-082e-46bf-9ed6-0640c32cbd92")
)
(fp_line
(start -1.48 0.73)
(end -1.48 -0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "322d48fc-f3a9-4ff5-b067-b50d36d349bc")
)
(fp_line
(start 1.48 -0.73)
(end 1.48 0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "543de5f1-a48d-4562-8917-c75fc5cf702e")
)
(fp_line
(start 1.48 0.73)
(end -1.48 0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "fbb2d15a-83de-4c33-ac97-d88d6d4e3d60")
)
(fp_line
(start -0.8 -0.4125)
(end 0.8 -0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "011d03e0-e182-472f-9bb5-6be8953ab7bc")
)
(fp_line
(start -0.8 0.4125)
(end -0.8 -0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "ba804c31-8727-475b-8e52-bc885ceacb9d")
)
(fp_line
(start 0.8 -0.4125)
(end 0.8 0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "8917c4a8-41cb-4d90-85f8-582bc39f2dec")
)
(fp_line
(start 0.8 0.4125)
(end -0.8 0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "92d41bf5-4fd7-4756-a263-9c8aaeb0dd10")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "da705a40-9f31-474f-958f-76f3e18672c4")
(effects
(font
(size 0.4 0.4)
(thickness 0.06)
)
)
)
(pad "1" smd roundrect
(at -0.825 0)
(size 0.8 0.95)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(net 1 "P1")
(uuid "58c759b4-6749-4d37-9f91-056861e22773")
)
(pad "2" smd roundrect
(at 0.825 0)
(size 0.8 0.95)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(net 2 "P2")
(uuid "60f1e521-ceed-4c02-af3c-1479992fa787")
)
(embedded_fonts no)
(model "${KICAD9_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
(footprint "R_0603_1608Metric:R_0603_1608Metric"
(layer "F.Cu")
(uuid "7201f946-1b91-4fc3-8924-50033deb273b")
(at 148.5 104.245)
(descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator")
(tags "resistor")
(property "Reference" "R2"
(at -2.5008 -0.0034 0)
(layer "F.SilkS")
(uuid "3fe95e8e-2656-4094-a903-4c51f0c971f9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "1k"
(at 0 1.43 0)
(layer "F.Fab")
(hide yes)
(uuid "f76d27b6-897f-427f-8070-1502fb49c3b1")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "c831c240-f665-4f8a-ae96-a2c7b48248d7")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "cd5f0da9-0de2-4141-86b3-7abc3b0ab93c")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Path" "R2.R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "c82aea00-0081-47dd-a790-ce3f21025687")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Package" "0603"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "504bd5a2-c312-4a4a-818a-fdc11cfbf7bd")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Resistance" "1k"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "cc624800-0722-4b2a-a2ef-dda098eef527")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "prefix" "R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "fa9c01d3-7be1-4202-b335-0e8472f1f3af")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "symbol_name" "R"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "befba6a9-5798-4ba9-86ad-e85b82177d36")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "symbol_path" "/Users/davide/Library/Caches/pcb/gitlab/kicad/libraries/kicad-symbols/9.0.0/Device.kicad_sym"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "84000d8b-2f27-493a-bb1e-c9e27ae566e8")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Type" "resistor"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "2e35818c-8195-47c0-9e7b-dd7538400628")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "__symbol_value" "(symbol\n \"R\"\n (pin_numbers\n (hide yes)\n )\n (pin_names\n (offset 0)\n )\n (exclude_from_sim no)\n (in_bom yes)\n (on_board yes)\n (property\n \"Reference\"\n \"R\"\n (at 2.032 0 90)\n (effects\n (font (size 1.27 1.27))\n )\n )\n (property\n \"Value\"\n \"R\"\n (at 0 0 90)\n (effects\n (font (size 1.27 1.27))\n )\n )\n (property\n \"Footprint\"\n \"\"\n (at -1.778 0 90)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"Datasheet\"\n \"~\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"Description\"\n \"Resistor\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"ki_keywords\"\n \"R res resistor\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (property\n \"ki_fp_filters\"\n \"R_*\"\n (at 0 0 0)\n (effects\n (font (size 1.27 1.27))\n (hide yes)\n )\n )\n (symbol\n \"R_0_1\"\n (rectangle\n (start\n -1.016\n -2.54\n )\n (end\n 1.016\n 2.54\n )\n (stroke\n (width 0.254)\n (type default)\n )\n (fill\n (type none)\n )\n )\n )\n (symbol\n \"R_1_1\"\n (pin\n passive\n line\n (at 0 3.81 270)\n (length 1.27)\n (name\n \"~\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n (number\n \"1\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n )\n (pin\n passive\n line\n (at 0 -3.81 90)\n (length 1.27)\n (name\n \"~\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n (number\n \"2\"\n (effects\n (font (size 1.27 1.27))\n )\n )\n )\n )\n (embedded_fonts no)\n)"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "00590168-3fc9-46a3-9b60-8ecddf6b2755")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(path "/cda8dfca-6e8a-59fd-87a2-5ff0162348de/cda8dfca-6e8a-59fd-87a2-5ff0162348de")
(attr smd)
(fp_line
(start -0.237258 -0.5225)
(end 0.237258 -0.5225)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "e401dc38-cf9f-4e05-9359-cb4efe3dc5ce")
)
(fp_line
(start -0.237258 0.5225)
(end 0.237258 0.5225)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "324b98be-1c56-4097-89e8-6184b1c5095b")
)
(fp_line
(start -1.48 -0.73)
(end 1.48 -0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a8b5facc-14a4-4f56-9e45-75fc801d5f71")
)
(fp_line
(start -1.48 0.73)
(end -1.48 -0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "4e88054b-f85b-46bb-bef0-1dede71db7ae")
)
(fp_line
(start 1.48 -0.73)
(end 1.48 0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f8ac4bfa-a246-4816-8675-e02018c16fb0")
)
(fp_line
(start 1.48 0.73)
(end -1.48 0.73)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3448a036-dd80-4303-a5fd-b58532415019")
)
(fp_line
(start -0.8 -0.4125)
(end 0.8 -0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "d42059f4-edb0-4f0b-9b25-bc16134a1a49")
)
(fp_line
(start -0.8 0.4125)
(end -0.8 -0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "45a52877-70fe-4a6b-b7f7-43ab679f0578")
)
(fp_line
(start 0.8 -0.4125)
(end 0.8 0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "bda8586f-8f6d-4a11-a23d-570e6719841f")
)
(fp_line
(start 0.8 0.4125)
(end -0.8 0.4125)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "aad51be3-307f-453a-b25c-9242a07ac687")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "b6229024-22e5-4c22-a2ee-e4f01c76c12c")
(effects
(font
(size 0.4 0.4)
(thickness 0.06)
)
)
)
(pad "1" smd roundrect
(at -0.825 0)
(size 0.8 0.95)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(net 1 "P1")
(uuid "aa01b1c5-8cd9-451c-ab2f-a2149833e21e")
)
(pad "2" smd roundrect
(at 0.825 0)
(size 0.8 0.95)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25)
(net 2 "P2")
(uuid "2e04308b-f305-451c-81c5-1ae14a3b2df9")
)
(embedded_fonts no)
(model "${KICAD9_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
(embedded_fonts no)
)