diff --git a/Test_5-netlist.net b/Test_5-netlist.net
index 5e7d42b..909c427 100644
--- a/Test_5-netlist.net
+++ b/Test_5-netlist.net
@@ -15,7 +15,7 @@
(textvar (name "DWG_TITLE_PCB") "PCB, Assembly Name")
(textvar (name "DWG_TITLE_SCH") "Schematic, Assembly Name")
(textvar (name "FABRICATION_NOTES") "FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)\n\n1) FABRICATE PER IPC-6012A CLASS 2.\n\n2) OUTLINE DEFINED IN SEPARATE GERBER FILE WITH\n \"Edge_Cuts.GBR\" SUFFIX.\n\n3) SEE SEPARATE DRILL FILES WITH \".DRL\" SUFFIX \n FOR HOLE LOCATIONS.\n\n SELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING \n FOR REFERENCE ONLY.\n\n4) SURFACE FINISH: HAL SNPB\n\n5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL \n BE LPI, COLOR GREEN.\n\n6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER \n STACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.\n\n7) ALL VIAS ARE TENTED ON BOTH SIDES UNLESS \n SOLDERMASK OPENED IN GERBER.\n\n8) RESERVED\n\n9) PCB MATERIAL REQUIREMENTS:\n\n A. FLAMMABILITY RATING MUST MEET OR EXCEED \n UL94V-0 REQUIREMENTS.\n B. Tg 135 C OR EQUIVALENT.\n\n10) DESIGN GEOMETRY MINIMUM FEATURE SIZES:\n\n BOARD SIZE 46.000 × 27.500 mm\n BOARD THICKNESS 1.647 mm\n TRACE WIDTH 0.100 mm\n TRACE TO TRACE 0.200 mm\n MIN. HOLE (PTH) 0.300 mm\n MIN. HOLE (NPTH) 2.200 mm\n ANNULAR RING 0.150 mm\n COPPER TO HOLE 0.250 mm\n COPPER TO EDGE 0.500 mm\n HOLE TO HOLE 0.250 mm\n\n11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE\n SPECIFIED.\n\n12) FOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB\n STACKUP JLC04161H-7628.\n FOR REFERENCE ONLY. IMPEDANCE IS THE CONTROLLING PARAMETER\n OVER LAYER STACKUP. GERBER DATA MAY NOT BE ALTERED EXCEPT\n FOR STANDARD FABRICATION ALLOWANCES.\n\n THE SUPPLIED ARTWORK MAY OR MAY NOT CONTAIN THE SPECIFIED\n TRACE GEOMETRIES ON EVERY LAYERS SPECIFIED.")
- (textvar (name "GIT_HASH") "2d48574")
+ (textvar (name "GIT_HASH") "f66466e")
(textvar (name "GIT_HASH_PCB") "17ccbe1")
(textvar (name "GIT_HASH_SCH") "5caa450")
(textvar (name "GIT_URL") "/jkrauss/Test_4")
diff --git a/Test_5.kicad_pro b/Test_5.kicad_pro
index 48f52d1..2547fd2 100644
--- a/Test_5.kicad_pro
+++ b/Test_5.kicad_pro
@@ -846,7 +846,7 @@
"DWG_TITLE_PCB": "PCB, Assembly Name",
"DWG_TITLE_SCH": "Schematic, Assembly Name",
"FABRICATION_NOTES": "FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)\n\n1)\tFABRICATE PER IPC-6012A CLASS 2.\n\n2)\tOUTLINE DEFINED IN SEPARATE GERBER FILE WITH\n\t\"Edge_Cuts.GBR\" SUFFIX.\n\n3)\tSEE SEPARATE DRILL FILES WITH \".DRL\" SUFFIX \n\tFOR HOLE LOCATIONS.\n\n\tSELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING \n\tFOR REFERENCE ONLY.\n\n4)\tSURFACE FINISH: HAL SNPB\n\n5)\tSOLDERMASK ON BOTH SIDES OF THE BOARD SHALL \n\tBE LPI, COLOR GREEN.\n\n6)\tSILK SCREEN LEGEND TO BE APPLIED PER LAYER \n\tSTACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.\n\n7)\tALL VIAS ARE TENTED ON BOTH SIDES UNLESS \n\tSOLDERMASK OPENED IN GERBER.\n\n8)\tRESERVED\n\n9)\tPCB MATERIAL REQUIREMENTS:\n\n\tA.\tFLAMMABILITY RATING MUST MEET OR EXCEED \n\t\tUL94V-0 REQUIREMENTS.\n\tB.\tTg 135 C OR EQUIVALENT.\n\n10)\tDESIGN GEOMETRY MINIMUM FEATURE SIZES:\n\n\tBOARD SIZE\t\t\t\t46.000 \u00d7 27.500 mm\n\tBOARD THICKNESS\t\t1.647 mm\n\tTRACE WIDTH\t\t\t0.100 mm\n\tTRACE TO TRACE\t\t0.200 mm\n\tMIN. HOLE (PTH)\t\t\t0.300 mm\n\tMIN. HOLE (NPTH)\t\t2.200 mm\n\tANNULAR RING\t\t\t0.150 mm\n\tCOPPER TO HOLE\t\t0.250 mm\n\tCOPPER TO EDGE\t\t0.500 mm\n\tHOLE TO HOLE\t\t\t0.250 mm\n\n11)\tALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE\n\tSPECIFIED.\n\n12)\tFOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB\n\tSTACKUP JLC04161H-7628.\n\tFOR REFERENCE ONLY. IMPEDANCE IS THE CONTROLLING PARAMETER\n\tOVER LAYER STACKUP. GERBER DATA MAY NOT BE ALTERED EXCEPT\n\tFOR STANDARD FABRICATION ALLOWANCES.\n\n\tTHE SUPPLIED ARTWORK MAY OR MAY NOT CONTAIN THE SPECIFIED\n\tTRACE GEOMETRIES ON EVERY LAYERS SPECIFIED.",
- "GIT_HASH": "f66466e",
+ "GIT_HASH": "3223cc4",
"GIT_HASH_PCB": "17ccbe1",
"GIT_HASH_SCH": "5caa450",
"GIT_URL": "/jkrauss/Test_4",
diff --git a/Test_5.xml b/Test_5.xml
index d210067..ce6b7cf 100644
--- a/Test_5.xml
+++ b/Test_5.xml
@@ -81,7 +81,7 @@
THE SUPPLIED ARTWORK MAY OR MAY NOT CONTAIN THE SPECIFIED
TRACE GEOMETRIES ON EVERY LAYERS SPECIFIED.
- f66466e
+ 3223cc4
17ccbe1
5caa450
/jkrauss/Test_4
diff --git a/html/images/cat_blender_3d_angled_bottom_Test_5-blender_3d_angled_bottom.png b/html/images/cat_blender_3d_angled_bottom_Test_5-blender_3d_angled_bottom.png
index 25ed014..1ebf690 100644
Binary files a/html/images/cat_blender_3d_angled_bottom_Test_5-blender_3d_angled_bottom.png and b/html/images/cat_blender_3d_angled_bottom_Test_5-blender_3d_angled_bottom.png differ
diff --git a/html/images/cat_blender_3d_angled_top_Test_5-blender_3d_angled_top.png b/html/images/cat_blender_3d_angled_top_Test_5-blender_3d_angled_top.png
index c998509..29f5ad8 100644
Binary files a/html/images/cat_blender_3d_angled_top_Test_5-blender_3d_angled_top.png and b/html/images/cat_blender_3d_angled_top_Test_5-blender_3d_angled_top.png differ
diff --git a/html/images/cat_blender_3d_bottom_Test_5-blender_3d_bottom.png b/html/images/cat_blender_3d_bottom_Test_5-blender_3d_bottom.png
index b468c9f..98973b0 100644
Binary files a/html/images/cat_blender_3d_bottom_Test_5-blender_3d_bottom.png and b/html/images/cat_blender_3d_bottom_Test_5-blender_3d_bottom.png differ
diff --git a/html/images/cat_blender_3d_top_Test_5-blender_3d_top.png b/html/images/cat_blender_3d_top_Test_5-blender_3d_top.png
index bd2e058..5d214ec 100644
Binary files a/html/images/cat_blender_3d_top_Test_5-blender_3d_top.png and b/html/images/cat_blender_3d_top_Test_5-blender_3d_top.png differ
diff --git a/html/images/cat_panel_801_Test_5-panel_801.png b/html/images/cat_panel_801_Test_5-panel_801.png
index a62b2dc..576dbf2 100644
Binary files a/html/images/cat_panel_801_Test_5-panel_801.png and b/html/images/cat_panel_801_Test_5-panel_801.png differ
diff --git a/html/images/cat_pcbdraw_bottom_Test_5-pcbdraw_bottom.png b/html/images/cat_pcbdraw_bottom_Test_5-pcbdraw_bottom.png
index d2fa533..26e1f95 100644
Binary files a/html/images/cat_pcbdraw_bottom_Test_5-pcbdraw_bottom.png and b/html/images/cat_pcbdraw_bottom_Test_5-pcbdraw_bottom.png differ
diff --git a/html/images/cat_pcbdraw_top_Test_5-pcbdraw_top.png b/html/images/cat_pcbdraw_top_Test_5-pcbdraw_top.png
index 17ffb22..f2589d4 100644
Binary files a/html/images/cat_pcbdraw_top_Test_5-pcbdraw_top.png and b/html/images/cat_pcbdraw_top_Test_5-pcbdraw_top.png differ
diff --git a/html/images/cat_pdf_assembly_Test_5-assembly.png b/html/images/cat_pdf_assembly_Test_5-assembly.png
index 55b48e1..b236809 100644
Binary files a/html/images/cat_pdf_assembly_Test_5-assembly.png and b/html/images/cat_pdf_assembly_Test_5-assembly.png differ
diff --git a/html/images/cat_pdf_drill_map_Test_5--npth_map.png b/html/images/cat_pdf_drill_map_Test_5--npth_map.png
index 9ffb199..a1a5d6a 100644
Binary files a/html/images/cat_pdf_drill_map_Test_5--npth_map.png and b/html/images/cat_pdf_drill_map_Test_5--npth_map.png differ
diff --git a/html/images/cat_pdf_drill_map_Test_5--pth_map.png b/html/images/cat_pdf_drill_map_Test_5--pth_map.png
index d12c3e3..8ae7be1 100644
Binary files a/html/images/cat_pdf_drill_map_Test_5--pth_map.png and b/html/images/cat_pdf_drill_map_Test_5--pth_map.png differ
diff --git a/html/images/cat_pdf_fabrication_Test_5-fabrication.png b/html/images/cat_pdf_fabrication_Test_5-fabrication.png
index abbc730..de20236 100644
Binary files a/html/images/cat_pdf_fabrication_Test_5-fabrication.png and b/html/images/cat_pdf_fabrication_Test_5-fabrication.png differ
diff --git a/html/images/cat_pdf_schematic_Test_5-schematic.png b/html/images/cat_pdf_schematic_Test_5-schematic.png
index 8815f30..1a0cf21 100644
Binary files a/html/images/cat_pdf_schematic_Test_5-schematic.png and b/html/images/cat_pdf_schematic_Test_5-schematic.png differ
diff --git a/html/images/cat_png_3d_viewer_angled_bottom_Test_5-angled_bottom.png b/html/images/cat_png_3d_viewer_angled_bottom_Test_5-angled_bottom.png
index c871326..1eca254 100644
Binary files a/html/images/cat_png_3d_viewer_angled_bottom_Test_5-angled_bottom.png and b/html/images/cat_png_3d_viewer_angled_bottom_Test_5-angled_bottom.png differ
diff --git a/html/images/cat_png_3d_viewer_angled_top_Test_5-angled_top.png b/html/images/cat_png_3d_viewer_angled_top_Test_5-angled_top.png
index bb3f561..fad0f1a 100644
Binary files a/html/images/cat_png_3d_viewer_angled_top_Test_5-angled_top.png and b/html/images/cat_png_3d_viewer_angled_top_Test_5-angled_top.png differ
diff --git a/html/images/cat_png_3d_viewer_bottom_Test_5-bottom.png b/html/images/cat_png_3d_viewer_bottom_Test_5-bottom.png
index 6b09148..4043738 100644
Binary files a/html/images/cat_png_3d_viewer_bottom_Test_5-bottom.png and b/html/images/cat_png_3d_viewer_bottom_Test_5-bottom.png differ
diff --git a/html/images/cat_png_3d_viewer_top_Test_5-top.png b/html/images/cat_png_3d_viewer_top_Test_5-top.png
index afe8b8f..d181f0f 100644
Binary files a/html/images/cat_png_3d_viewer_top_Test_5-top.png and b/html/images/cat_png_3d_viewer_top_Test_5-top.png differ
diff --git a/kibot_run_preprocess.log b/kibot_run_preprocess.log
new file mode 100644
index 0000000..9078b0e
--- /dev/null
+++ b/kibot_run_preprocess.log
@@ -0,0 +1,6231 @@
+DEBUG:KiBot 1.8.6 verbose level: 4 started on 2026-03-09 23:18:25.410503 (kibot - __main__.py:524)
+DEBUG:Filtering warnings we always get on CI/CD (kibot - __main__.py:438)
+DEBUG:Command line options: {'--banner': None,
+ '--board-file': None,
+ '--cli-order': False,
+ '--config-outs': False,
+ '--copy-and-expand': False,
+ '--copy-options': False,
+ '--define': ['RELEASE_STATE=WORKING', 'REVISION=NO_TAG+ (Unreleased)', 'REVISION=NO_TAG+ (Unreleased)', 'REVISION=NO_TAG+ (Unreleased)'],
+ '--defs-from-env': False,
+ '--defs-from-project': False,
+ '--dont-stop': False,
+ '--dry': False,
+ '--example': False,
+ '--fail-on-ignored': False,
+ '--fail-on-warnings': False,
+ '--global-redef': [],
+ '--gui': False,
+ '--gui-inject': None,
+ '--help': False,
+ '--help-banners': False,
+ '--help-dependencies': False,
+ '--help-errors': False,
+ '--help-filters': False,
+ '--help-global-options': False,
+ '--help-list-offsets': False,
+ '--help-list-outputs': False,
+ '--help-list-rotations': False,
+ '--help-output': None,
+ '--help-outputs': False,
+ '--help-preflights': False,
+ '--help-variants': False,
+ '--internal-check': False,
+ '--invert-sel': False,
+ '--json': False,
+ '--list': False,
+ '--list-variants': False,
+ '--log': 'kibot_run_preprocess.log',
+ '--makefile': None,
+ '--markdown': False,
+ '--no-auto-download': False,
+ '--no-priority': False,
+ '--no-warn': None,
+ '--only-groups': False,
+ '--only-names': False,
+ '--only-pre': False,
+ '--out-dir': '.',
+ '--output-name-first': False,
+ '--plot-config': 'kibot/yaml/kibot_main.yaml',
+ '--quick-start': False,
+ '--quiet': False,
+ '--rst': False,
+ '--schematic': None,
+ '--skip-pre': 'all',
+ '--start': '.',
+ '--stop-on-warnings': False,
+ '--sub-pcbs': False,
+ '--type': [],
+ '--variant': [],
+ '--verbose': 4,
+ '--version': False,
+ '--warn-ci-cd': False,
+ 'TARGET': ['preprocess_group']} (kibot - __main__.py:528)
+DEBUG:Start of initialization (kibot - __main__.py:531)
+DEBUG:Detected KiCad v9.0.7 (9.0.7+1 90000070) (kibot - __main__.py:340)
+DEBUG:KiCad config path /root/.config/kicad/9.0 (kibot - __main__.py:392)
+DEBUG:Command line arguments:
+['/usr/local/bin/kibot', '-vvvv', '--log', 'kibot_run_preprocess.log', '-c', 'kibot/yaml/kibot_main.yaml', '-d', '.', '--skip-pre', 'all', '-E', 'RELEASE_STATE=WORKING', '-E', 'REVISION=NO_TAG+ (Unreleased)', 'preprocess_group'] (kibot - __main__.py:444)
+DEBUG:Command line parsed:
+{'--banner': None,
+ '--board-file': None,
+ '--cli-order': False,
+ '--config-outs': False,
+ '--copy-and-expand': False,
+ '--copy-options': False,
+ '--define': ['RELEASE_STATE=WORKING', 'REVISION=NO_TAG+ (Unreleased)', 'REVISION=NO_TAG+ (Unreleased)', 'REVISION=NO_TAG+ (Unreleased)'],
+ '--defs-from-env': False,
+ '--defs-from-project': False,
+ '--dont-stop': False,
+ '--dry': False,
+ '--example': False,
+ '--fail-on-ignored': False,
+ '--fail-on-warnings': False,
+ '--global-redef': [],
+ '--gui': False,
+ '--gui-inject': None,
+ '--help': False,
+ '--help-banners': False,
+ '--help-dependencies': False,
+ '--help-errors': False,
+ '--help-filters': False,
+ '--help-global-options': False,
+ '--help-list-offsets': False,
+ '--help-list-outputs': False,
+ '--help-list-rotations': False,
+ '--help-output': None,
+ '--help-outputs': False,
+ '--help-preflights': False,
+ '--help-variants': False,
+ '--internal-check': False,
+ '--invert-sel': False,
+ '--json': False,
+ '--list': False,
+ '--list-variants': False,
+ '--log': 'kibot_run_preprocess.log',
+ '--makefile': None,
+ '--markdown': False,
+ '--no-auto-download': False,
+ '--no-priority': False,
+ '--no-warn': None,
+ '--only-groups': False,
+ '--only-names': False,
+ '--only-pre': False,
+ '--out-dir': '.',
+ '--output-name-first': False,
+ '--plot-config': 'kibot/yaml/kibot_main.yaml',
+ '--quick-start': False,
+ '--quiet': False,
+ '--rst': False,
+ '--schematic': None,
+ '--skip-pre': 'all',
+ '--start': '.',
+ '--stop-on-warnings': False,
+ '--sub-pcbs': False,
+ '--type': [],
+ '--variant': [],
+ '--verbose': 4,
+ '--version': False,
+ '--warn-ci-cd': False,
+ 'TARGET': ['preprocess_group']} (kibot - __main__.py:445)
+DEBUG:- Processing dependencies for `global` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'Colorama', 'python_module': True, 'role': 'Get color messages in a portable way', 'debian': 'python3-colorama', 'arch': 'python-colorama'}, {'name': 'Requests', 'python_module': True, 'role': 'mandatory', 'debian': 'python3-requests', 'arch': 'python-requests'}, {'name': 'PyYAML', 'python_module': True, 'debian': 'python3-yaml', 'arch': 'python-yaml', 'module_name': 'yaml', 'role': 'mandatory'}, {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto'}, {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git'}, {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'RSVG', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}]}, {'name': 'Ghostscript', 'url': 'https://www.ghostscript.com/', 'url_down': 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases', 'debian': 'ghostscript', 'arch': 'ghostscript', 'command': 'gs', 'downloader': 'gs'}, {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy']}, {'name': 'KiCost', 'github': 'hildogjr/KiCost', 'pypi': 'KiCost', 'downloader': 'pytool'}, {'name': 'LXML', 'python_module': True, 'debian': 'python3-lxml', 'arch': 'python-lxml', 'downloader': 'python'}, {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0'}, {'from': 'KiKit', 'role': 'Separate multiboard projects'}, {'name': 'Xvfbwrapper', 'python_module': True, 'debian': 'python3-xvfbwrapper', 'arch': 'python-xvfbwrapper', 'downloader': 'python'}, {'name': 'Xvfb', 'url': 'https://www.x.org', 'command': 'xvfb-run', 'debian': 'xvfb', 'arch': 'xorg-server-xvfb', 'no_cmd_line_version': True}, {'name': 'Bash', 'url': 'https://www.gnu.org/software/bash/', 'debian': 'bash', 'arch': 'bash'}, {'name': 'Blender', 'url': 'https://www.blender.org/', 'debian': 'blender', 'arch': 'blender'}, {'name': 'Lark', 'python_module': True, 'role': 'mandatory', 'debian': 'python3-lark', 'arch': 'python-lark'}, {'name': 'ZStd', 'python_module': True, 'debian': 'python3-zstd', 'arch': 'python-zstd', 'downloader': 'python', 'role': 'Copy embedded files from the schematic to the KiCad cache'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'Colorama', 'python_module': True, 'role': 'Get color messages in a portable way', 'debian': 'python3-colorama', 'arch': 'python-colorama'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'name': 'Requests', 'python_module': True, 'role': 'mandatory', 'debian': 'python3-requests', 'arch': 'python-requests'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'name': 'PyYAML', 'python_module': True, 'debian': 'python3-yaml', 'arch': 'python-yaml', 'module_name': 'yaml', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering base dep {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'RSVG', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}]} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'Ghostscript', 'url': 'https://www.ghostscript.com/', 'url_down': 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases', 'debian': 'ghostscript', 'arch': 'ghostscript', 'command': 'gs', 'downloader': 'gs'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy']} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'KiCost', 'github': 'hildogjr/KiCost', 'pypi': 'KiCost', 'downloader': 'pytool'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'LXML', 'python_module': True, 'debian': 'python3-lxml', 'arch': 'python-lxml', 'downloader': 'python'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering dep {'from': 'KiKit', 'role': 'Separate multiboard projects'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiKit: {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0', 'from': 'KiKit', 'role': 'Separate multiboard projects'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering base dep {'name': 'Xvfbwrapper', 'python_module': True, 'debian': 'python3-xvfbwrapper', 'arch': 'python-xvfbwrapper', 'downloader': 'python'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'Xvfb', 'url': 'https://www.x.org', 'command': 'xvfb-run', 'debian': 'xvfb', 'arch': 'xorg-server-xvfb', 'no_cmd_line_version': True} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'Bash', 'url': 'https://www.gnu.org/software/bash/', 'debian': 'bash', 'arch': 'bash'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering base dep {'name': 'Blender', 'url': 'https://www.blender.org/', 'debian': 'blender', 'arch': 'blender'} (kibot - dep_downloader.py:1084)
+DEBUG: - Registering dep {'name': 'Lark', 'python_module': True, 'role': 'mandatory', 'debian': 'python3-lark', 'arch': 'python-lark'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'name': 'ZStd', 'python_module': True, 'debian': 'python3-zstd', 'arch': 'python-zstd', 'downloader': 'python', 'role': 'Copy embedded files from the schematic to the KiCad cache'} (kibot - dep_downloader.py:1081)
+DEBUG:Importing from /usr/local/lib/python3.13/dist-packages/kibot (kibot - kiplot.py:83)
+DEBUG:- Importing fil_base (kibot - kiplot.py:91)
+DEBUG:- Importing fil_expand_text_vars (kibot - kiplot.py:91)
+DEBUG:- Importing fil_field_modify (kibot - kiplot.py:91)
+DEBUG:- Importing fil_field_rename (kibot - kiplot.py:91)
+DEBUG:- Importing fil_generic (kibot - kiplot.py:91)
+DEBUG:- Importing fil_rot_footprint (kibot - kiplot.py:91)
+DEBUG:- Importing fil_separate_pins (kibot - kiplot.py:91)
+DEBUG:- Importing fil_spec_to_field (kibot - kiplot.py:91)
+DEBUG:- Importing fil_subparts (kibot - kiplot.py:91)
+DEBUG:- Importing fil_urlify (kibot - kiplot.py:91)
+DEBUG:- Importing fil_value_split (kibot - kiplot.py:91)
+DEBUG:- Importing fil_var_rename (kibot - kiplot.py:91)
+DEBUG:- Importing fil_var_rename_kicost (kibot - kiplot.py:91)
+DEBUG:- Importing globals (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_diff (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_drill (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_layer (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_navigate_results (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_pcb_print (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_sch_print (kibot - kiplot.py:91)
+DEBUG:- Importing out_any_stencil (kibot - kiplot.py:91)
+DEBUG:- Importing out_base (kibot - kiplot.py:91)
+DEBUG:- Importing out_base_3d (kibot - kiplot.py:91)
+DEBUG:- Importing out_blender_export (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_blender_export` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'Blender', 'role': 'mandatory', 'version': '3.4.0'}, {'from': 'ImageMagick', 'role': 'Automatically crop images'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'Blender', 'role': 'mandatory', 'version': '3.4.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Blender: {'name': 'Blender', 'url': 'https://www.blender.org/', 'debian': 'blender', 'arch': 'blender', 'from': 'Blender', 'role': 'mandatory', 'version': '3.4.0'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Automatically crop images'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Automatically crop images'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_boardview (kibot - kiplot.py:91)
+DEBUG:- Importing out_bom (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_bom` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiCost', 'role': 'Find components costs and specs', 'version': '1.1.8'}, {'from': 'RSVG', 'role': 'SVG logos for the BoM'}, {'name': 'XLSXWriter', 'role': 'Create XLSX files', 'python_module': True, 'debian': 'python3-xlsxwriter', 'arch': 'python-xlsxwriter', 'version': '1.1.2', 'downloader': 'python'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiCost', 'role': 'Find components costs and specs', 'version': '1.1.8'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiCost: {'name': 'KiCost', 'github': 'hildogjr/KiCost', 'pypi': 'KiCost', 'downloader': 'pytool', 'from': 'KiCost', 'role': 'Find components costs and specs', 'version': '1.1.8'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'SVG logos for the BoM'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'RSVG', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'SVG logos for the BoM'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'name': 'XLSXWriter', 'role': 'Create XLSX files', 'python_module': True, 'debian': 'python3-xlsxwriter', 'arch': 'python-xlsxwriter', 'version': '1.1.2', 'downloader': 'python'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_bom_labels (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_bom_labels` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'ReportLab', 'role': 'Create a PDF with BoM labels', 'python_module': True, 'debian': 'python3-reportlab', 'arch': 'python-reportlab', 'downloader': 'python'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'ReportLab', 'role': 'Create a PDF with BoM labels', 'python_module': True, 'debian': 'python3-reportlab', 'arch': 'python-reportlab', 'downloader': 'python'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_compress (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_compress` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'RAR', 'url': 'https://www.rarlab.com/', 'url_down': 'https://www.rarlab.com/download.htm', 'help_option': '-?', 'downloader': 'rar', 'role': 'Compress in RAR format', 'debian': 'rar', 'arch': 'rar(AUR)'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'RAR', 'url': 'https://www.rarlab.com/', 'url_down': 'https://www.rarlab.com/download.htm', 'help_option': '-?', 'downloader': 'rar', 'role': 'Compress in RAR format', 'debian': 'rar', 'arch': 'rar(AUR)'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_copy_files (kibot - kiplot.py:91)
+DEBUG:- Importing out_diff (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_diff` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'KiCad PCB/SCH Diff', 'version': '2.5.3', 'role': 'mandatory', 'github': 'INTI-CMNB/KiDiff', 'command': 'kicad-diff.py', 'pypi': 'kidiff', 'downloader': 'pytool', 'id': 'KiDiff'}, {'from': 'Git', 'role': 'Compare with files in the repo'}, {'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'KiCad PCB/SCH Diff', 'version': '2.5.3', 'role': 'mandatory', 'github': 'INTI-CMNB/KiDiff', 'command': 'kicad-diff.py', 'pypi': 'kidiff', 'downloader': 'pytool', 'id': 'KiDiff'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Compare with files in the repo'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Compare with files in the repo'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_download_datasheets (kibot - kiplot.py:91)
+DEBUG:- Importing out_dxf (kibot - kiplot.py:91)
+DEBUG:- Importing out_dxf_sch_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_dxf_sch_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_excellon (kibot - kiplot.py:91)
+DEBUG:- Importing out_export_3d (kibot - kiplot.py:91)
+DEBUG:- Importing out_gencad (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_gencad` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.5'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.5'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.5'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_gerb_drill (kibot - kiplot.py:91)
+DEBUG:- Importing out_gerber (kibot - kiplot.py:91)
+DEBUG:- Importing out_hpgl (kibot - kiplot.py:91)
+DEBUG:- Importing out_hpgl_sch_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_hpgl_sch_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_ibom (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_ibom` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'Interactive HTML BoM', 'role': 'mandatory', 'github': 'INTI-CMNB/InteractiveHtmlBom', 'command': 'generate_interactive_bom.py', 'no_cmd_line_version_old': True, 'plugin_dirs': ['InteractiveHtmlBom', 'InteractiveHtmlBom/InteractiveHtmlBom', 'org_openscopeproject_InteractiveHtmlBom', 'org_openscopeproject_InteractiveHtmlBom/InteractiveHtmlBom'], 'version': '2.7.0', 'downloader': 'pytool', 'id': 'ibom'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'Interactive HTML BoM', 'role': 'mandatory', 'github': 'INTI-CMNB/InteractiveHtmlBom', 'command': 'generate_interactive_bom.py', 'no_cmd_line_version_old': True, 'plugin_dirs': ['InteractiveHtmlBom', 'InteractiveHtmlBom/InteractiveHtmlBom', 'org_openscopeproject_InteractiveHtmlBom', 'org_openscopeproject_InteractiveHtmlBom/InteractiveHtmlBom'], 'version': '2.7.0', 'downloader': 'pytool', 'id': 'ibom'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_info (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_info` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'Show KiAuto installation information', 'version': '2.0.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'Show KiAuto installation information', 'version': '2.0.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'Show KiAuto installation information', 'version': '2.0.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_ipc2581 (kibot - kiplot.py:91)
+DEBUG:- Importing out_jobset (kibot - kiplot.py:91)
+DEBUG:- Importing out_kibom (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_kibom` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'KiBoM', 'role': 'mandatory', 'github': 'INTI-CMNB/KiBoM', 'command': 'KiBOM_CLI.py', 'version': '1.9.1', 'downloader': 'pytool'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'KiBoM', 'role': 'mandatory', 'github': 'INTI-CMNB/KiBoM', 'command': 'KiBOM_CLI.py', 'version': '1.9.1', 'downloader': 'pytool'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_kicanvas (kibot - kiplot.py:91)
+DEBUG:- Importing out_kicost (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_kicost` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiCost', 'role': 'mandatory', 'version': '1.1.7'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiCost', 'role': 'mandatory', 'version': '1.1.7'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiCost: {'name': 'KiCost', 'github': 'hildogjr/KiCost', 'pypi': 'KiCost', 'downloader': 'pytool', 'from': 'KiCost', 'role': 'mandatory', 'version': '1.1.7'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_kikit_present (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_kikit_present` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'markdown2', 'python_module': True, 'debian': 'python3-markdown2', 'arch': 'python-markdown2', 'role': 'mandatory'}, {'from': 'Git', 'role': 'Find commit hash and/or date'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'markdown2', 'python_module': True, 'debian': 'python3-markdown2', 'arch': 'python-markdown2', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_kiri (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_kiri` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'KiCad PCB/SCH Diff', 'version': '2.5.1', 'role': 'mandatory', 'github': 'INTI-CMNB/KiDiff', 'command': 'kicad-diff.py', 'pypi': 'kidiff', 'downloader': 'pytool', 'id': 'KiDiff'}, {'from': 'Git', 'role': 'Compare with files in the repo'}, {'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'KiCad PCB/SCH Diff', 'version': '2.5.1', 'role': 'mandatory', 'github': 'INTI-CMNB/KiDiff', 'command': 'kicad-diff.py', 'pypi': 'kidiff', 'downloader': 'pytool', 'id': 'KiDiff'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Compare with files in the repo'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Compare with files in the repo'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'Compare schematics', 'version': '2.2.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_navigate_results (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_navigate_results` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'RSVG', 'role': 'Create outputs preview', 'id': 'rsvg1'}, {'from': 'RSVG', 'role': 'Create PNG icons', 'id': 'rsvg2'}, {'from': 'Ghostscript', 'role': 'Create outputs preview'}, {'from': 'ImageMagick', 'role': 'Create outputs preview'}, {'from': 'Git', 'role': 'Find origin url'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create outputs preview', 'id': 'rsvg1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'rsvg1', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create PNG icons', 'id': 'rsvg2'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'rsvg2', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create PNG icons'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Ghostscript', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Ghostscript: {'name': 'Ghostscript', 'url': 'https://www.ghostscript.com/', 'url_down': 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases', 'debian': 'ghostscript', 'arch': 'ghostscript', 'command': 'gs', 'downloader': 'gs', 'from': 'Ghostscript', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find origin url'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find origin url'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_navigate_results_rb (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_navigate_results_rb` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'RSVG', 'role': 'Create outputs preview', 'id': 'rsvg1'}, {'from': 'RSVG', 'role': 'Create PNG icons', 'id': 'rsvg2'}, {'from': 'Ghostscript', 'role': 'Create outputs preview'}, {'from': 'ImageMagick', 'role': 'Create outputs preview'}, {'from': 'Git', 'role': 'Find origin url'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create outputs preview', 'id': 'rsvg1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'rsvg1', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create PNG icons', 'id': 'rsvg2'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'rsvg2', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create PNG icons'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Ghostscript', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Ghostscript: {'name': 'Ghostscript', 'url': 'https://www.ghostscript.com/', 'url_down': 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases', 'debian': 'ghostscript', 'arch': 'ghostscript', 'command': 'gs', 'downloader': 'gs', 'from': 'Ghostscript', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Create outputs preview'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find origin url'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find origin url'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_netlist (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_netlist` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.0.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.0.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.0.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_odb (kibot - kiplot.py:91)
+DEBUG:- Importing out_panelize (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_panelize` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiKit', 'role': 'mandatory', 'version': '1.5.1'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiKit', 'role': 'mandatory', 'version': '1.5.1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiKit: {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0', 'from': 'KiKit', 'role': 'mandatory', 'version': '1.5.1'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_pcb2blender_tools (kibot - kiplot.py:91)
+DEBUG:- Importing out_pcb_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_pcb_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'RSVG', 'role': 'Create PDF, PNG, PS and EPS formats', 'id': 'rsvg1'}, {'from': 'Ghostscript', 'role': 'Create PNG, PS and EPS formats'}, {'from': 'ImageMagick', 'role': 'Create monochrome prints and scaled PNG files'}, {'from': 'KiAuto', 'command': 'pcbnew_do', 'role': 'Print the page frame in GUI mode', 'version': '1.6.7'}, {'from': 'LXML', 'role': 'mandatory'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create PDF, PNG, PS and EPS formats', 'id': 'rsvg1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'rsvg1', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create PDF, PNG, PS and EPS formats'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Ghostscript', 'role': 'Create PNG, PS and EPS formats'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Ghostscript: {'name': 'Ghostscript', 'url': 'https://www.ghostscript.com/', 'url_down': 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases', 'debian': 'ghostscript', 'arch': 'ghostscript', 'command': 'gs', 'downloader': 'gs', 'from': 'Ghostscript', 'role': 'Create PNG, PS and EPS formats'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Create monochrome prints and scaled PNG files'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Create monochrome prints and scaled PNG files'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'KiAuto', 'command': 'pcbnew_do', 'role': 'Print the page frame in GUI mode', 'version': '1.6.7'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'Print the page frame in GUI mode', 'version': '1.6.7'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'LXML', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from LXML: {'name': 'LXML', 'python_module': True, 'debian': 'python3-lxml', 'arch': 'python-lxml', 'downloader': 'python', 'from': 'LXML', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_pcb_stats (kibot - kiplot.py:91)
+DEBUG:- Importing out_pcb_variant (kibot - kiplot.py:91)
+DEBUG:- Importing out_pcbdraw (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_pcbdraw` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'RSVG', 'role': 'Create PNG, JPG and BMP images'}, {'from': 'ImageMagick', 'role': 'Create JPG and BMP images'}, {'from': 'LXML', 'role': 'mandatory'}, {'name': 'numpy', 'python_module': True, 'debian': 'python3-numpy', 'arch': 'python-numpy', 'downloader': 'python', 'role': 'Automatically adjust SVG margin'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'RSVG', 'role': 'Create PNG, JPG and BMP images'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from RSVG: {'name': 'RSVG tools', 'url': 'https://gitlab.gnome.org/GNOME/librsvg', 'debian': 'librsvg2-bin', 'arch': 'librsvg', 'command': 'rsvg-convert', 'downloader': 'rsvg', 'id': 'RSVG', 'tests': [{'command': ['convert', '-list', 'font'], 'search': 'Helvetica', 'error': 'Missing Helvetica font, try installing Ghostscript fonts'}], 'from': 'RSVG', 'role': 'Create PNG, JPG and BMP images'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Create JPG and BMP images'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Create JPG and BMP images'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'LXML', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from LXML: {'name': 'LXML', 'python_module': True, 'debian': 'python3-lxml', 'arch': 'python-lxml', 'downloader': 'python', 'from': 'LXML', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'name': 'numpy', 'python_module': True, 'debian': 'python3-numpy', 'arch': 'python-numpy', 'downloader': 'python', 'role': 'Automatically adjust SVG margin'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_pdf (kibot - kiplot.py:91)
+DEBUG:- Importing out_pdf_pcb_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_pdf_pcb_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_pdf_sch_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_pdf_sch_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_pdfunite (kibot - kiplot.py:91)
+DEBUG:- Importing out_populate (kibot - kiplot.py:91)
+DEBUG:- Importing out_position (kibot - kiplot.py:91)
+DEBUG:- Importing out_ps (kibot - kiplot.py:91)
+DEBUG:- Importing out_ps_sch_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_ps_sch_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_qr_lib (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_qr_lib` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'QRCodeGen', 'role': 'mandatory', 'python_module': True, 'downloader': 'python', 'debian': 'python3-qrcodegen'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'QRCodeGen', 'role': 'mandatory', 'python_module': True, 'downloader': 'python', 'debian': 'python3-qrcodegen'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_render_3d (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_render_3d` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.1'}, {'from': 'ImageMagick', 'role': 'Automatically crop images'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.1'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'ImageMagick', 'role': 'Automatically crop images'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from ImageMagick: {'name': 'ImageMagick', 'url': 'https://imagemagick.org/', 'url_down': 'https://imagemagick.org/script/download.php', 'command': 'convert', 'downloader': 'convert', 'debian': 'imagemagick', 'arch': 'imagemagick', 'extra_arch': ['gsfonts'], 'extra_checks': ['check_imagick_policy'], 'from': 'ImageMagick', 'role': 'Automatically crop images'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_report (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_report` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'name': 'Pandoc', 'role': 'Create PDF/ODF/DOCX files', 'url': 'https://pandoc.org/', 'url_down': 'https://github.com/jgm/pandoc/releases', 'debian': 'pandoc', 'arch': 'pandoc', 'extra_deb': ['texlive', 'texlive-latex-base', 'texlive-latex-recommended'], 'extra_arch': ['texlive-core'], 'comments': 'In CI/CD environments: the `kicad_auto_test` docker image contains it.'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'name': 'Pandoc', 'role': 'Create PDF/ODF/DOCX files', 'url': 'https://pandoc.org/', 'url_down': 'https://github.com/jgm/pandoc/releases', 'debian': 'pandoc', 'arch': 'pandoc', 'extra_deb': ['texlive', 'texlive-latex-base', 'texlive-latex-recommended'], 'extra_arch': ['texlive-core'], 'comments': 'In CI/CD environments: the `kicad_auto_test` docker image contains it.'} (kibot - dep_downloader.py:1081)
+DEBUG:- Importing out_sch_variant (kibot - kiplot.py:91)
+DEBUG:- Importing out_stencil_3d (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_stencil_3d` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiKit', 'role': 'mandatory'}, {'name': 'OpenSCAD', 'url': 'https://openscad.org/', 'url_down': 'https://openscad.org/downloads.html', 'command': 'openscad', 'debian': 'openscad', 'arch': 'openscad', 'role': 'mandatory'}, {'from': 'Xvfbwrapper', 'role': 'mandatory'}, {'from': 'Xvfb', 'role': 'mandatory'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiKit', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiKit: {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0', 'from': 'KiKit', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'name': 'OpenSCAD', 'url': 'https://openscad.org/', 'url_down': 'https://openscad.org/downloads.html', 'command': 'openscad', 'debian': 'openscad', 'arch': 'openscad', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'from': 'Xvfbwrapper', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Xvfbwrapper: {'name': 'Xvfbwrapper', 'python_module': True, 'debian': 'python3-xvfbwrapper', 'arch': 'python-xvfbwrapper', 'downloader': 'python', 'from': 'Xvfbwrapper', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Xvfb', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Xvfb: {'name': 'Xvfb', 'url': 'https://www.x.org', 'command': 'xvfb-run', 'debian': 'xvfb', 'arch': 'xorg-server-xvfb', 'no_cmd_line_version': True, 'from': 'Xvfb', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_stencil_for_jig (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_stencil_for_jig` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiKit', 'role': 'mandatory'}, {'name': 'OpenSCAD', 'url': 'https://openscad.org/', 'url_down': 'https://openscad.org/downloads.html', 'command': 'openscad', 'debian': 'openscad', 'arch': 'openscad', 'role': 'mandatory'}, {'from': 'Xvfbwrapper', 'role': 'mandatory'}, {'from': 'Xvfb', 'role': 'mandatory'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiKit', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiKit: {'name': 'KiKit', 'github': 'INTI-CMNB/KiKit', 'pypi': 'KiKit', 'downloader': 'pytool', 'version_k6': '1.5.0', 'version_k7': '1.6.0', 'version_k9': '1.7.0', 'from': 'KiKit', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'name': 'OpenSCAD', 'url': 'https://openscad.org/', 'url_down': 'https://openscad.org/downloads.html', 'command': 'openscad', 'debian': 'openscad', 'arch': 'openscad', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Registering dep {'from': 'Xvfbwrapper', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Xvfbwrapper: {'name': 'Xvfbwrapper', 'python_module': True, 'debian': 'python3-xvfbwrapper', 'arch': 'python-xvfbwrapper', 'downloader': 'python', 'from': 'Xvfbwrapper', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Xvfb', 'role': 'mandatory'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Xvfb: {'name': 'Xvfb', 'url': 'https://www.x.org', 'command': 'xvfb-run', 'debian': 'xvfb', 'arch': 'xorg-server-xvfb', 'no_cmd_line_version': True, 'from': 'Xvfb', 'role': 'mandatory'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_step (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_step` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.1', 'command': 'kicad2step_do'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.1', 'command': 'kicad2step_do'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'kicad2step_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.1'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_svg (kibot - kiplot.py:91)
+DEBUG:- Importing out_svg_pcb_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_svg_pcb_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '1.6.7'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_svg_sch_print (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_svg_sch_print` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.3.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing out_vrml (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `out_vrml` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '2.1.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '2.1.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.1.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_annotate_pcb (kibot - kiplot.py:91)
+DEBUG:- Importing pre_annotate_power (kibot - kiplot.py:91)
+DEBUG:- Importing pre_any_replace (kibot - kiplot.py:91)
+DEBUG:- Importing pre_any_xrc (kibot - kiplot.py:91)
+DEBUG:- Importing pre_base (kibot - kiplot.py:91)
+DEBUG:- Importing pre_check_fields (kibot - kiplot.py:91)
+DEBUG:- Importing pre_check_zone_fills (kibot - kiplot.py:91)
+DEBUG:- Importing pre_consolidate_pcbs (kibot - kiplot.py:91)
+DEBUG:- Importing pre_convert_pcb (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_convert_pcb` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.2'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.2'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.3.2'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_draw_fancy_stackup (kibot - kiplot.py:91)
+DEBUG:- Importing pre_draw_stackup (kibot - kiplot.py:91)
+DEBUG:- Importing pre_drc (kibot - kiplot.py:91)
+DEBUG:- Importing pre_erc (kibot - kiplot.py:91)
+DEBUG:- Importing pre_erc_warnings (kibot - kiplot.py:91)
+DEBUG:- Importing pre_fill_zones (kibot - kiplot.py:91)
+DEBUG:- Importing pre_filters (kibot - kiplot.py:91)
+DEBUG:- Importing pre_ignore_unconnected (kibot - kiplot.py:91)
+DEBUG:- Importing pre_include_table (kibot - kiplot.py:91)
+DEBUG:- Importing pre_pcb_replace (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_pcb_replace` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'Git', 'role': 'Find commit hash and/or date'}, {'from': 'Bash', 'role': 'Run external commands to create replacement text'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Bash: {'name': 'Bash', 'url': 'https://www.gnu.org/software/bash/', 'debian': 'bash', 'arch': 'bash', 'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_run_drc (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_run_drc` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'version': '2.0.0'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'version': '2.0.0'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'pcbnew_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.0.0'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_run_erc (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_run_erc` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.2.1'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '2.2.1'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '2.2.1'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_sch_replace (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_sch_replace` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'Git', 'role': 'Find commit hash and/or date'}, {'from': 'Bash', 'role': 'Run external commands to create replacement text'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Bash: {'name': 'Bash', 'url': 'https://www.gnu.org/software/bash/', 'debian': 'bash', 'arch': 'bash', 'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_set_text_variables (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_set_text_variables` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'Git', 'role': 'Find commit hash and/or date'}, {'from': 'Bash', 'role': 'Run external commands to create replacement text'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Git: {'name': 'Git', 'url': 'https://git-scm.com/', 'downloader': 'git', 'debian': 'git', 'arch': 'git', 'from': 'Git', 'role': 'Find commit hash and/or date'} (kibot - dep_downloader.py:1009)
+DEBUG: - Registering dep {'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from Bash: {'name': 'Bash', 'url': 'https://www.gnu.org/software/bash/', 'debian': 'bash', 'arch': 'bash', 'from': 'Bash', 'role': 'Run external commands to create replacement text'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing pre_update_footprint (kibot - kiplot.py:91)
+DEBUG:- Importing pre_update_pcb_characteristics (kibot - kiplot.py:91)
+DEBUG:- Importing pre_update_qr (kibot - kiplot.py:91)
+DEBUG:- Importing pre_update_stackup (kibot - kiplot.py:91)
+DEBUG:- Importing pre_update_xml (kibot - kiplot.py:91)
+DEBUG:- Processing dependencies for `pre_update_xml` (kibot - dep_downloader.py:1069)
+DEBUG: - Data: {'Dependencies': [{'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '1.5.4'}]} (kibot - dep_downloader.py:1070)
+DEBUG: - Registering dep {'from': 'KiAuto', 'role': 'mandatory', 'command': 'eeschema_do', 'version': '1.5.4'} (kibot - dep_downloader.py:1081)
+DEBUG: - Dep after applying from KiAuto: {'name': 'KiCad Automation tools', 'github': 'INTI-CMNB/KiAuto', 'command': 'eeschema_do', 'pypi': 'kiauto', 'downloader': 'pytool', 'id': 'KiAuto', 'from': 'KiAuto', 'role': 'mandatory', 'version': '1.5.4'} (kibot - dep_downloader.py:1009)
+DEBUG:- Importing var_base (kibot - kiplot.py:91)
+DEBUG:- Importing var_ibom (kibot - kiplot.py:91)
+DEBUG:- Importing var_kibom (kibot - kiplot.py:91)
+DEBUG:- Importing var_kicost (kibot - kiplot.py:91)
+DEBUG:Deactivating macros (kibot - kiplot.py:117)
+DEBUG:End of initialization (kibot - __main__.py:537)
+DEBUG:Using configuration file: `kibot/yaml/kibot_main.yaml` (kibot - __main__.py:276)
+Using SCH file: Test_5.kicad_sch
+DEBUG:Using schematic: `/workspace/jkrauss/Test_5/Test_5.kicad_sch` (kibot - kiplot.py:979)
+DEBUG:Real schematic name: `/workspace/jkrauss/Test_5/Test_5.kicad_sch` (kibot - kiplot.py:980)
+DEBUG:Using PCB: `/workspace/jkrauss/Test_5/Test_5.kicad_pcb` (kibot - kiplot.py:1010)
+DEBUG:Real PCB name: `/workspace/jkrauss/Test_5/Test_5.kicad_pcb` (kibot - kiplot.py:1011)
+DEBUG:Starting to load the configuration (kibot - __main__.py:607)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @PROJECT_CODE@ -> P99 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_NUMBER@ -> A99-9000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_NAME@ -> Assembly Name () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GIT_URL@ -> /jkrauss/Test_4 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMPANY@ -> Asymworks, LLC () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DESIGNER@ -> JPK () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PANEL_800_OUTPUT@ -> panel_801 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PANEL_800_CONFIG@ -> @PANELS_DIR@/panel-800.json () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PANEL_800_TITLE@ -> Panel Fabrication (Panel -800) () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CHECK_ZONE_FILLS@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @STACKUP_TABLE_NOTE@ -> external layer thicknesses are specified after plating () (kibot - config_reader.py:78)
+DEBUG:- Replacing @IPN_FIELD@ -> Asymworks IPN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MPN_FIELD@ -> Manufacturer PN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MAN_FIELD@ -> Manufacturer () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GROUP_ROUND_SLOTS@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GROUP_PTH_NPTH@ -> no () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GROUP_PTH_NPTH_DRL@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PLOT_REFS@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PROTEL_EXTENSIONS@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SUBTRACT_MASK@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCELLON_METRIC_UNITS@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TP_EXCLUDE_REFS@ -> [MB*] () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COLOR_THEME@ -> Altium_Theme () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SHEET_WKS_SCH@ -> templates/Asymworks_SCH.kicad_wks () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SHEET_WKS_PCB@ -> templates/Asymworks_PCB.kicad_wks () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SHEET_WKS_ASSY@ -> templates/Asymworks_PCBA.kicad_wks () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FAB_SCALING@ -> 1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_SCALING@ -> 1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @RENDER_DNF_FILTER@ -> _kibom_dnf_Config () (kibot - config_reader.py:78)
+DEBUG:- Replacing @3D_VIEWER_ROT_X@ -> 2 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @3D_VIEWER_ROT_Y@ -> -1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @3D_VIEWER_ROT_Z@ -> 1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @3D_VIEWER_ZOOM@ -> -1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @KEY_COLOR@ -> #FF00FF () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_SAMPLES@ -> 20 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_ROT_X@ -> 30 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_ROT_Y@ -> 10 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_ROT_Z@ -> 10 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_RESOLUTION_X@ -> 1500 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_RESOLUTION_Y@ -> 1500 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_TEXTURE_DPI@ -> 1031.0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_DIFFUSE_HEIGHT@ -> 10.0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_DIFFUSE_RADIUS@ -> 6.0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @OUTPUT_DIR@ -> ./ () (kibot - config_reader.py:78)
+DEBUG:- Replacing @REPORT_DIR@ -> reports () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SCHEMATIC_DIR@ -> schematic () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_DIR@ -> @MANUFACTURING_DIR@/assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FABRICATION_DIR@ -> @MANUFACTURING_DIR@/fab () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GERBERS_DIR@ -> @FABRICATION_DIR@/gerbers () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FAB_DRILL_TABLES_DIR@ -> @FABRICATION_DIR@/drill-tables () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TESTPOINTS_DIR@ -> @TESTING_DIR@/testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MODELS_DIR@ -> models () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NOTES_DIR@ -> notes () (kibot - config_reader.py:78)
+DEBUG:- Replacing @RENDER_DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SCRIPTS_DIR@ -> @RESOURCES_DIR@/scripts () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PANELS_DIR@ -> panels () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_FAB_DIR@ -> @MANUFACTURING_DIR@/jlcpcb () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_ASSY_DIR@ -> @MANUFACTURING_DIR@/jlcpcb () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_GERBERS_DIR@ -> @MANUFACTURING_DIR@/jlcpcb/gerbers () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_TITLE_PAGE@ -> AssyTitlePage () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_TOP@ -> F.DNP () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_BOTTOM@ -> B.DNP () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DRILL_MAP@ -> DrillMap () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_TP_LIST_TOP@ -> F.TestPointList () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_TP_LIST_BOTTOM@ -> B.TestPointList () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_ASSEMBLY_TEXT_TOP@ -> F.AssemblyText () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_ASSEMBLY_TEXT_BOTTOM@ -> B.AssemblyText () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_CROSS_TOP@ -> F.DNP () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_CROSS_BOTTOM@ -> B.DNP () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_FIELD_RENAME@ -> field_rename () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_LCSC_PARTS@ -> only_lcsc_parts () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_TP_ONLY@ -> only_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_TP_EXCLUDE@ -> exclude_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_TP_TOP_ONLY@ -> only_testpoints_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FILT_TP_BOTTOM_ONLY@ -> only_testpoints_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NETLIST_OUTPUT@ -> netlist () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PDF_SCHEMATIC_OUTPUT@ -> pdf_schematic () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PDF_FABRICATION_OUTPUT@ -> pdf_fabrication () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PDF_ASSEMBLY_OUTPUT@ -> pdf_assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_BOM_OUTPUT@ -> csv_bom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HTML_IBOM_OUTPUT@ -> html_bom_interactive () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HTML_BOM_OUTPUT@ -> html_bom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_COMP_COUNT_OUPUT@ -> csv_comp_count () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_IMPEDANCE_TABLE_OUTPUT@ -> csv_impedance_table () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GERBER_OUTPUT@ -> gbr_gerbers () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ODB_OUTPUT@ -> zip_odb () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCELLON_DRILL_OUTPUT@ -> drl_excellon () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PDF_DRILL_MAP_OUTPUT@ -> pdf_drill_map () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_DRILL_TABLE_OUTPUT@ -> csv_drill_table () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_POS_OUTPUT@ -> csv_position () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_TP_OUTPUT@ -> csv_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_TP_TOP_OUTPUT@ -> csv_testpoints_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @CSV_TP_BOTTOM_OUTPUT@ -> csv_testpoints_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ZIP_COMPRESS_FAB_OUTPUT@ -> zip_compress_fab () (kibot - config_reader.py:78)
+DEBUG:- Replacing @STEP_OUTPUT@ -> step () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GLB_OUTPUT@ -> glb () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PCBDRAW_2D_TOP_PCB_OUTPUT@ -> pcbdraw_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PCBDRAW_2D_BOT_PCB_OUTPUT@ -> pcbdraw_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PNG_3D_VIEWER_TOP@ -> png_3d_viewer_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PNG_3D_VIEWER_BOT@ -> png_3d_viewer_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PNG_3D_VIEWER_ANGLED_TOP@ -> png_3d_viewer_angled_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @PNG_3D_VIEWER_ANGLED_BOT@ -> png_3d_viewer_angled_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_3D_TOP@ -> blender_3d_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_3D_BOT@ -> blender_3d_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_3D_ANGLED_TOP@ -> blender_3d_angled_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BLENDER_3D_ANGLED_BOT@ -> blender_3d_angled_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TXT_SCH_NOTES_OUTPUT@ -> txt_schematic_notes () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TXT_FAB_NOTES_OUTPUT@ -> txt_fabrication_notes () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TXT_ASSY_NOTES_OUTPUT@ -> txt_assembly_notes () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HTML_KIRI_OUTPUT@ -> html_kiri () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HTML_NAV_RES_OUTPUT@ -> html_navigate_results () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_GERBER_OUTPUT@ -> jlcpcb_gerbers () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_FABPACK_OUTPUT@ -> jlcpcb_fabpack () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_BOM_OUTPUT@ -> jlcpcb_bom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @JLCPCB_CPL_OUTPUT@ -> jlcpcb_cpl () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @MANUFACTURING_DIR@ -> mfg () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FABRICATION_DIR@ -> @MANUFACTURING_DIR@/fab () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TESTING_DIR@ -> test () (kibot - config_reader.py:78)
+DEBUG:- Replacing @RESOURCES_DIR@ -> kibot () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @MANUFACTURING_DIR@ -> mfg () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot configuration file for Asymworks_KiBot Template
+# KiCad 9.0
+
+kibot:
+ version: 1
+ merge_pre: update_xml
+
+variants: []
+
+# ============================================================================
+# Output Groups
+
+groups:
+
+ # Top-Level Groups =========================================================
+
+ # Pre-Process Group (generates Notes and Netlist for set_text_variables) ---
+ - name: preprocess_group
+ outputs:
+ - netlist
+ - txt_schematic_notes
+ - txt_fabrication_notes
+ - txt_assembly_notes
+
+ # Draft Outputs Group (used in DRAFT state only) ---------------------------
+ - name: draft_group
+ outputs:
+ - netlist
+ - txt_schematic_notes
+ - pdf_schematic
+ - csv_bom
+ - html_bom
+
+ # All Outputs Group (used in all other states) -----------------------------
+ - name: all_group
+ outputs:
+ - bom
+ - renders
+ - models
+ - fab
+ - jlcpcb
+ - panels
+ - assembly
+ - pdf_schematic
+ - html_navigate_results
+
+ # All Outputs Group, including KiRi (not enabled by default) ---------------
+ - name: all_group_kiri
+ outputs:
+ - bom
+ - renders
+ - models
+ - fab
+ - jlcpcb
+ - panels
+ - assembly
+ - pdf_schematic
+ - html_kiri
+ - html_navigate_results
+
+ # Panel Fabrication Outputs Group (not used in DRAFT state) ----------------
+ - name: panel_fab_jlcpcb_group
+ outputs: []
+
+ # Output Sub-Groups ========================================================
+
+ # Bill of Material Outputs -------------------------------------------------
+ - name: bom
+ outputs:
+ - csv_bom
+ - html_bom
+ - html_bom_interactive
+
+ # PCB Render Outputs -------------------------------------------------------
+ - name: renders
+ outputs:
+ - pcbdraw_top
+ - pcbdraw_bottom
+ - blender_3d_top
+ - blender_3d_bottom
+ - blender_3d_angled_top
+ - blender_3d_angled_bottom
+
+ # KiCad 3D Viewer Renders (render_3d) are currently disabled as they do
+ # not look very good in KiCad 9 and they cause a warning in the KiBot
+ # output.
+ # - png_3d_viewer_top
+ # - png_3d_viewer_bottom
+ # - png_3d_viewer_angled_top
+ # - png_3d_viewer_angled_bottom
+
+ # PCB 3d Model Outputs -----------------------------------------------------
+ - name: models
+ outputs:
+ - step
+ - glb
+
+ # Fabrication Outputs ------------------------------------------------------
+ - name: fab
+ outputs:
+ - tables
+ - gbr_gerbers
+ - drl_excellon
+ - zip_odb
+ - pdf_drill_map
+ - pdf_fabrication
+ - zip_compress_fab
+
+ - name: tables
+ outputs:
+ - csv_comp_count
+ - csv_impedance_table
+ - csv_drill_table
+ - testpoints
+
+ - name: testpoints
+ outputs:
+ - csv_testpoints
+ - csv_testpoints_top
+ - csv_testpoints_bottom
+
+ # JLCPCB Fabrication and Assembly Outputs ----------------------------------
+ - name: jlcpcb
+ outputs:
+ - jlcpcb_gerbers
+ - jlcpcb_fabpack
+ - jlcpcb_bom
+ - jlcpcb_cpl
+
+ # Assembly Outputs ---------------------------------------------------------
+ - name: assembly
+ outputs:
+ - csv_position
+ - pdf_assembly
+
+ # Panelization Outputs -----------------------------------------------------
+ - name: panels
+ outputs: [ panel_801 ]
+
+# ============================================================================
+# Imports
+
+import:
+
+ # Global Parameters ========================================================
+ - file: kibot_globals.yaml
+ definitions:
+ OUTPUT_DIR: ./
+ LAYER_DNP_TOP: F.DNP
+ LAYER_DNP_BOT: B.DNP
+
+ # Filters ==================================================================
+
+ - file: kibot_filt_field_rename.yaml
+ definitions:
+ NAME: field_rename
+ COMMENT: Rename fields
+ MPN_FIELD: Manufacturer PN
+ MAN_FIELD: Manufacturer
+
+ - file: kibot_filt_testpoints.yaml
+ definitions:
+ NAME: only_testpoints
+ COMMENT: Include only testpoints
+
+ - file: kibot_filt_exclude_testpoints.yaml
+ definitions:
+ NAME: exclude_testpoints
+ COMMENT: Exclude only testpoints
+
+ - file: kibot_filt_testpoints.yaml
+ definitions:
+ NAME: only_testpoints_top
+ COMMENT: Select only top testpoints
+ EXCLUDE_BOTTOM: true
+ EXCLUDE_REFS: "[MB*]"
+
+ - file: kibot_filt_testpoints.yaml
+ definitions:
+ NAME: only_testpoints_bottom
+ COMMENT: Select only bottom testpoints
+ EXCLUDE_TOP: true
+ EXCLUDE_REFS: "[MB*]"
+
+ - file: kibot_filt_lcsc_parts.yaml
+ definitions:
+ NAME: only_lcsc_parts
+ COMMENT: Only parts with LCSC Part Number
+
+ # Preflights ===============================================================
+ - file: kibot_pre_set_text_variables.yaml
+ definitions:
+ PROJECT_CODE: P99
+ ASSEMBLY_NUMBER: A99-9000
+ ASSEMBLY_NAME: Assembly Name
+ COMPANY: Asymworks, LLC
+ DESIGNER: JPK
+ SCRIPTS_DIR: kibot/scripts
+ FABRICATION_DIR: mfg/fab
+ ASSEMBLY_DIR: mfg/assembly
+
+ # Generate ERC Report
+ - file: kibot_pre_erc_report.yaml
+ definitions:
+ DIR: reports
+
+ # Generate DRC Report
+ - file: kibot_pre_drc_report.yaml
+ definitions:
+ CHECK_ZONE_FILLS: false
+ DIR: reports
+
+ # Draw stackup table in PCB. Needs gerber output
+ - file: kibot_pre_draw_stackup.yaml
+ definitions:
+ GERBER_OUTPUT: gbr_gerbers
+ NOTE: external layer thicknesses are specified after plating
+
+ # Include tables for PCB and Assembly Drawings
+ - file: kibot_pre_include_table.yaml
+ definitions:
+ NAME_TP_TOP: csv_testpoints_top
+ NAME_TP_BOTTOM: csv_testpoints_bottom
+ NAME_COMP_COUNT: csv_comp_count
+ NAME_CSV_DRILL_TABLE: csv_drill_table
+ NAME_IMPEDANCE_TABLE: csv_impedance_table
+
+ # Generated Outputs ========================================================
+
+ # Schematic Netlist --------------------------------------------------------
+ - file: kibot_out_netlist.yaml
+ definitions:
+ NAME: netlist
+ COMMENT: Schematic netlist in KiCad format
+
+ # Drawings in PDF format ---------------------------------------------------
+ - file: kibot_out_pdf_schematic.yaml
+ definitions:
+ NAME: pdf_schematic
+ COMMENT: Schematic in PDF format
+ COLOR_THEME: Altium_Theme
+ DIR: schematic
+ DEFAULT_FONT: 'Arial Narrow'
+ SHEET_WKS: templates/Asymworks_SCH.kicad_wks
+
+ # Bills of Materials (BOMs) ------------------------------------------------
+ - file: kibot_out_csv_bom.yaml
+ definitions:
+ NAME: csv_bom
+ COMMENT: Bill of Materials in CSV format
+ DIR: mfg/assembly
+ IPN_FIELD: Asymworks IPN
+ MPN_FIELD: Manufacturer PN
+ MAN_FIELD: Manufacturer
+
+ - file: kibot_out_html_bom.yaml
+ definitions:
+ NAME: html_bom
+ COMMENT: Bill of Materials in HTML format
+ DIR: mfg/assembly
+ IPN_FIELD: Asymworks IPN
+ MPN_FIELD: Manufacturer PN
+ MAN_FIELD: Manufacturer
+
+ - file: kibot_out_html_ibom.yaml
+ definitions:
+ NAME: html_bom_interactive
+ COMMENT: Bill of Materials in HTML format
+ DIR: mfg/assembly
+ IPN_FIELD: Asymworks IPN
+ MPN_FIELD: Manufacturer PN
+ MAN_FIELD: Manufacturer
+
+ # Generate Webpage with Diff's ---------------------------------------------
+ - file: kibot_out_html_kiri.yaml
+ definitions:
+ NAME: html_kiri
+ COMMENT: KiRI webpage
+ DIR: kiri
+
+ # Generate HTML Navigation of Outputs --------------------------------------
+ - file: kibot_out_navigate_results.yaml
+ definitions:
+ NAME: html_navigate_results
+ COMMENT: Results webpage in HTML format
+ DIR: html
+ TITLE: 'A99-9000 (Assembly Name)'
+ # LOGO: @LOGO@
+ # LOGO_URL: /jkrauss/Test_4
+
+ # PCB 2D Renders (Bare Board) ------------------------------------------
+ - file: kibot_out_pcbdraw.yaml
+ definitions:
+ NAME: pcbdraw_top
+ COMMENT: PCB 2D Render (Top)
+ DIR: renders
+ FORMAT: svg
+ BOTTOM: false
+ COMPONENTS: none
+
+ - file: kibot_out_pcbdraw.yaml
+ definitions:
+ NAME: pcbdraw_bottom
+ COMMENT: PCB 2D Render (Bottom)
+ DIR: renders
+ FORMAT: svg
+ BOTTOM: true
+ COMPONENTS: none
+
+ # PCBA 3D Renders (Populated Board; KiCad Viewer) --------------------------
+ - file: kibot_out_png_3d_viewer.yaml
+ definitions:
+ NAME: png_3d_viewer_top
+ COMMENT: Top 3D viewer PCB render in PNG format
+ DIR: renders
+ SUFFIX: top
+ VIEW: top
+ KEY_COLOR: '#FF00FF'
+ RAYTRACING: false
+
+ - file: kibot_out_png_3d_viewer.yaml
+ definitions:
+ NAME: png_3d_viewer_bottom
+ COMMENT: Bottom 3D viewer PCB render in PNG format
+ DIR: renders
+ SUFFIX: bottom
+ VIEW: bottom
+ KEY_COLOR: '#FF00FF'
+ RAYTRACING: false
+
+ - file: kibot_out_png_3d_viewer.yaml
+ definitions:
+ NAME: png_3d_viewer_angled_top
+ COMMENT: Top (angled) 3D viewer PCB render in PNG format
+ DIR: renders
+ SUFFIX: angled_top
+ VIEW: top
+ ROTATE_X: 2
+ ROTATE_Y: -1
+ ROTATE_Z: 1
+ ZOOM: -1
+ KEY_COLOR: '#FF00FF'
+ RAYTRACING: false
+
+ - file: kibot_out_png_3d_viewer.yaml
+ definitions:
+ NAME: png_3d_viewer_angled_bottom
+ COMMENT: Bottom (angled) 3D viewer PCB render in PNG format
+ DIR: renders
+ SUFFIX: angled_bottom
+ VIEW: bottom
+ ROTATE_X: 2
+ ROTATE_Y: -1
+ ROTATE_Z: -1
+ ZOOM: -1
+ KEY_COLOR: '#FF00FF'
+ RAYTRACING: false
+
+ # PCBA 3D Renders (Populated Board; Blender) -------------------------------
+ - file: kibot_out_blender.yaml
+ definitions:
+ NAME: blender_3d_top
+ COMMENT: High Quality 3D Render (Top)
+ DIR: renders
+ VIEW: top
+ ROTATE_X: 0
+ ROTATE_Y: 0
+ ROTATE_Z: 0
+ SAMPLES: 20
+ RESOLUTION_X: 1500
+ RESOLUTION_Y: 1500
+ TEXTURE_DPI: 1031.0
+ DNF_FILTER: _kibom_dnf_Config
+ DIFFUSE_RADIUS: 6.0
+ DIFFUSE_HEIGHT: 10.0
+ DIFFUSE_LIGHT: 0.7
+ ACCENT_LIGHT: 0.1
+ SPOT_LIGHT: 0.1
+
+ - file: kibot_out_blender.yaml
+ definitions:
+ NAME: blender_3d_bottom
+ COMMENT: High Quality 3D Render (Bottom)
+ DIR: renders
+ VIEW: bottom
+ ROTATE_X: 0
+ ROTATE_Y: 0
+ ROTATE_Z: 0
+ SAMPLES: 20
+ RESOLUTION_X: 1500
+ RESOLUTION_Y: 1500
+ TEXTURE_DPI: 1031.0
+ DNF_FILTER: _kibom_dnf_Config
+ DIFFUSE_RADIUS: 6.0
+ DIFFUSE_HEIGHT: 10.0
+ DIFFUSE_LIGHT: 0.7
+ ACCENT_LIGHT: 0.1
+ SPOT_LIGHT: 0.1
+
+ - file: kibot_out_blender.yaml
+ definitions:
+ NAME: blender_3d_angled_top
+ COMMENT: High Quality 3D Render (Angled Top)
+ DIR: renders
+ VIEW: top
+ ROTATE_X: 30
+ ROTATE_Y: 10
+ ROTATE_Z: 10
+ SAMPLES: 20
+ RESOLUTION_X: 1500
+ RESOLUTION_Y: 1500
+ TEXTURE_DPI: 1031.0
+ DNF_FILTER: _kibom_dnf_Config
+ DIFFUSE_RADIUS: 6.0
+ DIFFUSE_HEIGHT: 10.0
+ DIFFUSE_LIGHT: 0.4
+ ACCENT_LIGHT: 0.1
+ SPOT_LIGHT: 2.0
+
+ - file: kibot_out_blender.yaml
+ definitions:
+ NAME: blender_3d_angled_bottom
+ COMMENT: High Quality 3D Render (Angled Bottom)
+ DIR: renders
+ VIEW: bottom
+ ROTATE_X: -30
+ ROTATE_Y: 10
+ ROTATE_Z: 10
+ SAMPLES: 20
+ RESOLUTION_X: 1500
+ RESOLUTION_Y: 1500
+ TEXTURE_DPI: 1031.0
+ DNF_FILTER: _kibom_dnf_Config
+ DIFFUSE_RADIUS: 6.0
+ DIFFUSE_HEIGHT: 10.0
+ DIFFUSE_LIGHT: 0.4
+ ACCENT_LIGHT: 0.1
+ SPOT_LIGHT: 2.0
+
+ # STEP File ----------------------------------------------------------------
+ - file: kibot_out_3d_model.yaml
+ definitions:
+ NAME: step
+ COMMENT: PCB 3D model in STEP format
+ FORMAT: step
+ DIR: models
+ INCLUDE_SILKSCREEN: false
+ INCLUDE_SOLDERMASK: false
+ INCLUDE_TRACKS: false
+
+ - file: kibot_out_3d_model.yaml
+ definitions:
+ NAME: glb
+ COMMENT: PCB 3D model in GLB/gITF format
+ FORMAT: glb
+ DIR: models
+ INCLUDE_SILKSCREEN: true
+ INCLUDE_SOLDERMASK: false
+ INCLUDE_TRACKS: false
+
+ # Fabrication Files (Non-Vendor Specific) ----------------------------------
+ - file: kibot_out_gerber.yaml
+ definitions:
+ NAME: gbr_gerbers
+ COMMENT: Gerbers in GBR format
+ DIR: mfg/fab/gerbers
+ PLOT_REFS: true
+ PROTEL_EXTENSIONS: false
+ SUBTRACT_MASK: false
+
+ # Excellon Drill
+ - file: kibot_out_excellon_drill.yaml
+ definitions:
+ NAME: drl_excellon
+ COMMENT: Drill in Excellon format
+ DIR: mfg/fab/gerbers
+ METRIC_UNITS: true
+
+ # ODB++
+ - file: kibot_out_odb.yaml
+ definitions:
+ NAME: zip_odb
+ COMMENT: ODB++ in ZIP format
+ DIR: mfg/fab
+
+ # PDF Drill Map
+ - file: kibot_out_excellon_drill.yaml
+ definitions:
+ NAME: pdf_drill_map
+ COMMENT: Drill Map in PDF format
+ DIR: mfg/fab/gerbers
+ METRIC_UNITS: true
+ GENERATE_DRILL: false
+ PTH_NPTH: false
+ MAP_FORMAT: pdf
+
+ # CSV Drill Table
+ - file: kibot_out_csv_drill_table.yaml
+ definitions:
+ NAME: csv_drill_table
+ COMMENT: Drill Table in CSV format
+ DIR: mfg/fab/drill-tables
+ PTH_NPTH: 'no'
+ GROUP_ROUND_SLOTS: true
+
+ # CSV Component Placement File
+ - file: kibot_out_csv_position.yaml
+ definitions:
+ NAME: csv_position
+ COMMENT: Position file in CSV format
+ DIR: mfg/assembly
+
+ # CSV Test Point Files
+ - file: kibot_out_csv_testpoints.yaml
+ definitions:
+ NAME: csv_testpoints
+ COMMENT: Testpoint report in CSV format
+ DIR: test/testpoints
+ EXCLUDE_FILTER: only_testpoints
+
+ - file: kibot_out_csv_testpoints_simple.yaml
+ definitions:
+ NAME: csv_testpoints_top
+ COMMENT: Top testpoint report in CSV format
+ DIR: test/testpoints
+ SUFFIX: -top
+ EXCLUDE_FILTER: only_testpoints_top
+
+ - file: kibot_out_csv_testpoints_simple.yaml
+ definitions:
+ NAME: csv_testpoints_bottom
+ COMMENT: Bottom testpoint report in CSV format
+ DIR: test/testpoints
+ SUFFIX: -bottom
+ EXCLUDE_FILTER: only_testpoints_bottom
+
+ # Fabrication and Assembly Drawings
+ - file: kibot_out_pdf_fabrication.yaml
+ definitions:
+ NAME: pdf_fabrication
+ COMMENT: Fabrication document in PDF format
+ DIR: mfg/fab
+ COLOR_THEME: Altium_Theme
+ SHEET_WKS: templates/Asymworks_PCB.kicad_wks
+ SCALING: 1
+ PTH_NPTH: 'no'
+ GROUP_ROUND_SLOTS: true
+ FAB_EXCLUDE_FILTER: only_testpoints
+ LAYER_DRILL_MAP: DrillMap
+ LAYER_TP_LIST_TOP: F.TestPointList
+ LAYER_TP_LIST_BOTTOM: B.TestPointList
+ NAME_TP_TOP: csv_testpoints_top
+ NAME_TP_BOTTOM: csv_testpoints_bottom
+ NAME_IMPEDANCE_TABLE: csv_impedance_table
+ NAME_DRILL_TABLE: csv_drill_table
+
+ - file: kibot_out_pdf_assembly.yaml
+ definitions:
+ NAME: pdf_assembly
+ COMMENT: Assembly document in PDF format
+ DIR: mfg/assembly
+ COLOR_THEME: Altium_Theme
+ SHEET_WKS: templates/Asymworks_PCBA.kicad_wks
+ SCALING: 1
+ FAB_EXCLUDE_FILTER: exclude_testpoints
+ LAYER_TITLE_PAGE: AssyTitlePage
+ LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
+ LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
+ LAYER_DNP_CROSS_TOP: F.DNP
+ LAYER_DNP_CROSS_BOTTOM: B.DNP
+ NAME_COMP_COUNT: csv_comp_count
+
+ # Zip File of Fabrication Data
+ - file: kibot_out_compress_fab.yaml
+ definitions:
+ NAME: zip_compress_fab
+ COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
+ DIR: mfg/fab
+ GERBER_OUTPUT: gbr_gerbers
+ DRILL_MAP_OUTPUT: pdf_drill_map
+ DRILL_OUTPUT: drl_excellon
+ FABRICATION_OUTPUT: pdf_fabrication
+
+ # Fabrication and Assembly Files (JLCPCB) ----------------------------------
+ - file: kibot_out_gerber.yaml
+ definitions:
+ NAME: jlcpcb_gerbers
+ COMMENT: Gerbers in GBR format for JLCPCB
+ DIR: mfg/jlcpcb/gerbers
+ PLOT_REFS: true
+ PROTEL_EXTENSIONS: true
+ SUBTRACT_MASK: false
+
+ - file: kibot_out_jlcpcb_fabpack.yaml
+ definitions:
+ NAME: jlcpcb_fabpack
+ COMMENT: Zipped Fabpack for JLCPCB
+ DIR: mfg/jlcpcb
+ GERBER_OUTPUT: jlcpcb_gerbers
+ DRILL_OUTPUT: drl_excellon
+
+ - file: kibot_out_jlcpcb_bom.yaml
+ definitions:
+ NAME: jlcpcb_bom
+ COMMENT: Bill of Materials for JLCPCB
+ DIR: mfg/jlcpcb
+ EXCLUDE_FILTER: only_lcsc_parts
+
+ - file: kibot_out_jlcpcb_cpl.yaml
+ definitions:
+ NAME: jlcpcb_cpl
+ COMMENT: Component Placement File for JLCPCB
+ DIR: mfg/jlcpcb
+ EXCLUDE_FILTER: only_lcsc_parts
+
+ # Notes and Reports --------------------------------------------------------
+ - file: kibot_out_csv_report.yaml
+ definitions:
+ NAME: csv_comp_count
+ COMMENT: Component report (count) in CSV format
+ DIR: mfg/assembly
+ OUTPUT_ID: components_count
+ TEMPLATE: total_components
+
+ - file: kibot_out_csv_report.yaml
+ definitions:
+ NAME: csv_impedance_table
+ COMMENT: Impedance table in CSV format
+ DIR: mfg/fab
+ OUTPUT_ID: impedance_table
+ TEMPLATE: notes/impedance_table.txt
+
+ - file: kibot_out_txt_report.yaml
+ definitions:
+ NAME: txt_schematic_notes
+ COMMENT: Schematic notes in TXT format
+ DIR: schematic
+ OUTPUT_ID: schematic_notes
+ TEMPLATE: notes/schematic_notes.txt
+
+ - file: kibot_out_txt_report.yaml
+ definitions:
+ NAME: txt_fabrication_notes
+ COMMENT: Fabrication notes in TXT format
+ DIR: mfg/fab
+ OUTPUT_ID: fabrication_notes
+ TEMPLATE: notes/fabrication_notes.txt
+
+ - file: kibot_out_txt_report.yaml
+ definitions:
+ NAME: txt_assembly_notes
+ COMMENT: Assembly notes in TXT format
+ DIR: mfg/assembly
+ OUTPUT_ID: assembly_notes
+ TEMPLATE: notes/assembly_notes.txt
+
+ # Panelization Outputs -----------------------------------------------------
+ - file: kibot_out_panelize.yaml
+ definitions:
+ NAME: panel_801
+ DIR: 'panels/panel-800'
+ CONFIG: 'panels/panel-800.json'
+ TITLE: 'Panel Fabrication (Panel -800)'
+
+# ============================================================================
+# Definitions
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing imports: [{'file': 'kibot_globals.yaml', 'definitions': {'OUTPUT_DIR': './', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOT': 'B.DNP'}}, {'file': 'kibot_filt_field_rename.yaml', 'definitions': {'NAME': 'field_rename', 'COMMENT': 'Rename fields', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'}}, {'file': 'kibot_filt_testpoints.yaml', 'definitions': {'NAME': 'only_testpoints', 'COMMENT': 'Include only testpoints'}}, {'file': 'kibot_filt_exclude_testpoints.yaml', 'definitions': {'NAME': 'exclude_testpoints', 'COMMENT': 'Exclude only testpoints'}}, {'file': 'kibot_filt_testpoints.yaml', 'definitions': {'NAME': 'only_testpoints_top', 'COMMENT': 'Select only top testpoints', 'EXCLUDE_BOTTOM': True, 'EXCLUDE_REFS': '[MB*]'}}, {'file': 'kibot_filt_testpoints.yaml', 'definitions': {'NAME': 'only_testpoints_bottom', 'COMMENT': 'Select only bottom testpoints', 'EXCLUDE_TOP': True, 'EXCLUDE_REFS': '[MB*]'}}, {'file': 'kibot_filt_lcsc_parts.yaml', 'definitions': {'NAME': 'only_lcsc_parts', 'COMMENT': 'Only parts with LCSC Part Number'}}, {'file': 'kibot_pre_set_text_variables.yaml', 'definitions': {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly'}}, {'file': 'kibot_pre_erc_report.yaml', 'definitions': {'DIR': 'reports'}}, {'file': 'kibot_pre_drc_report.yaml', 'definitions': {'CHECK_ZONE_FILLS': False, 'DIR': 'reports'}}, {'file': 'kibot_pre_draw_stackup.yaml', 'definitions': {'GERBER_OUTPUT': 'gbr_gerbers', 'NOTE': 'external layer thicknesses are specified after plating'}}, {'file': 'kibot_pre_include_table.yaml', 'definitions': {'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table'}}, {'file': 'kibot_out_netlist.yaml', 'definitions': {'NAME': 'netlist', 'COMMENT': 'Schematic netlist in KiCad format'}}, {'file': 'kibot_out_pdf_schematic.yaml', 'definitions': {'NAME': 'pdf_schematic', 'COMMENT': 'Schematic in PDF format', 'COLOR_THEME': 'Altium_Theme', 'DIR': 'schematic', 'DEFAULT_FONT': 'Arial Narrow', 'SHEET_WKS': 'templates/Asymworks_SCH.kicad_wks'}}, {'file': 'kibot_out_csv_bom.yaml', 'definitions': {'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'}}, {'file': 'kibot_out_html_bom.yaml', 'definitions': {'NAME': 'html_bom', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'}}, {'file': 'kibot_out_html_ibom.yaml', 'definitions': {'NAME': 'html_bom_interactive', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'}}, {'file': 'kibot_out_html_kiri.yaml', 'definitions': {'NAME': 'html_kiri', 'COMMENT': 'KiRI webpage', 'DIR': 'kiri'}}, {'file': 'kibot_out_navigate_results.yaml', 'definitions': {'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': 'A99-9000 (Assembly Name)'}}, {'file': 'kibot_out_pcbdraw.yaml', 'definitions': {'NAME': 'pcbdraw_top', 'COMMENT': 'PCB 2D Render (Top)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': False, 'COMPONENTS': 'none'}}, {'file': 'kibot_out_pcbdraw.yaml', 'definitions': {'NAME': 'pcbdraw_bottom', 'COMMENT': 'PCB 2D Render (Bottom)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': True, 'COMPONENTS': 'none'}}, {'file': 'kibot_out_png_3d_viewer.yaml', 'definitions': {'NAME': 'png_3d_viewer_top', 'COMMENT': 'Top 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'top', 'VIEW': 'top', 'KEY_COLOR': '#FF00FF', 'RAYTRACING': False}}, {'file': 'kibot_out_png_3d_viewer.yaml', 'definitions': {'NAME': 'png_3d_viewer_bottom', 'COMMENT': 'Bottom 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'bottom', 'VIEW': 'bottom', 'KEY_COLOR': '#FF00FF', 'RAYTRACING': False}}, {'file': 'kibot_out_png_3d_viewer.yaml', 'definitions': {'NAME': 'png_3d_viewer_angled_top', 'COMMENT': 'Top (angled) 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'angled_top', 'VIEW': 'top', 'ROTATE_X': 2, 'ROTATE_Y': -1, 'ROTATE_Z': 1, 'ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'RAYTRACING': False}}, {'file': 'kibot_out_png_3d_viewer.yaml', 'definitions': {'NAME': 'png_3d_viewer_angled_bottom', 'COMMENT': 'Bottom (angled) 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'angled_bottom', 'VIEW': 'bottom', 'ROTATE_X': 2, 'ROTATE_Y': -1, 'ROTATE_Z': -1, 'ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'RAYTRACING': False}}, {'file': 'kibot_out_blender.yaml', 'definitions': {'NAME': 'blender_3d_top', 'COMMENT': 'High Quality 3D Render (Top)', 'DIR': 'renders', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'SAMPLES': 20, 'RESOLUTION_X': 1500, 'RESOLUTION_Y': 1500, 'TEXTURE_DPI': 1031.0, 'DNF_FILTER': '_kibom_dnf_Config', 'DIFFUSE_RADIUS': 6.0, 'DIFFUSE_HEIGHT': 10.0, 'DIFFUSE_LIGHT': 0.7, 'ACCENT_LIGHT': 0.1, 'SPOT_LIGHT': 0.1}}, {'file': 'kibot_out_blender.yaml', 'definitions': {'NAME': 'blender_3d_bottom', 'COMMENT': 'High Quality 3D Render (Bottom)', 'DIR': 'renders', 'VIEW': 'bottom', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'SAMPLES': 20, 'RESOLUTION_X': 1500, 'RESOLUTION_Y': 1500, 'TEXTURE_DPI': 1031.0, 'DNF_FILTER': '_kibom_dnf_Config', 'DIFFUSE_RADIUS': 6.0, 'DIFFUSE_HEIGHT': 10.0, 'DIFFUSE_LIGHT': 0.7, 'ACCENT_LIGHT': 0.1, 'SPOT_LIGHT': 0.1}}, {'file': 'kibot_out_blender.yaml', 'definitions': {'NAME': 'blender_3d_angled_top', 'COMMENT': 'High Quality 3D Render (Angled Top)', 'DIR': 'renders', 'VIEW': 'top', 'ROTATE_X': 30, 'ROTATE_Y': 10, 'ROTATE_Z': 10, 'SAMPLES': 20, 'RESOLUTION_X': 1500, 'RESOLUTION_Y': 1500, 'TEXTURE_DPI': 1031.0, 'DNF_FILTER': '_kibom_dnf_Config', 'DIFFUSE_RADIUS': 6.0, 'DIFFUSE_HEIGHT': 10.0, 'DIFFUSE_LIGHT': 0.4, 'ACCENT_LIGHT': 0.1, 'SPOT_LIGHT': 2.0}}, {'file': 'kibot_out_blender.yaml', 'definitions': {'NAME': 'blender_3d_angled_bottom', 'COMMENT': 'High Quality 3D Render (Angled Bottom)', 'DIR': 'renders', 'VIEW': 'bottom', 'ROTATE_X': -30, 'ROTATE_Y': 10, 'ROTATE_Z': 10, 'SAMPLES': 20, 'RESOLUTION_X': 1500, 'RESOLUTION_Y': 1500, 'TEXTURE_DPI': 1031.0, 'DNF_FILTER': '_kibom_dnf_Config', 'DIFFUSE_RADIUS': 6.0, 'DIFFUSE_HEIGHT': 10.0, 'DIFFUSE_LIGHT': 0.4, 'ACCENT_LIGHT': 0.1, 'SPOT_LIGHT': 2.0}}, {'file': 'kibot_out_3d_model.yaml', 'definitions': {'NAME': 'step', 'COMMENT': 'PCB 3D model in STEP format', 'FORMAT': 'step', 'DIR': 'models', 'INCLUDE_SILKSCREEN': False, 'INCLUDE_SOLDERMASK': False, 'INCLUDE_TRACKS': False}}, {'file': 'kibot_out_3d_model.yaml', 'definitions': {'NAME': 'glb', 'COMMENT': 'PCB 3D model in GLB/gITF format', 'FORMAT': 'glb', 'DIR': 'models', 'INCLUDE_SILKSCREEN': True, 'INCLUDE_SOLDERMASK': False, 'INCLUDE_TRACKS': False}}, {'file': 'kibot_out_gerber.yaml', 'definitions': {'NAME': 'gbr_gerbers', 'COMMENT': 'Gerbers in GBR format', 'DIR': 'mfg/fab/gerbers', 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False}}, {'file': 'kibot_out_excellon_drill.yaml', 'definitions': {'NAME': 'drl_excellon', 'COMMENT': 'Drill in Excellon format', 'DIR': 'mfg/fab/gerbers', 'METRIC_UNITS': True}}, {'file': 'kibot_out_odb.yaml', 'definitions': {'NAME': 'zip_odb', 'COMMENT': 'ODB++ in ZIP format', 'DIR': 'mfg/fab'}}, {'file': 'kibot_out_excellon_drill.yaml', 'definitions': {'NAME': 'pdf_drill_map', 'COMMENT': 'Drill Map in PDF format', 'DIR': 'mfg/fab/gerbers', 'METRIC_UNITS': True, 'GENERATE_DRILL': False, 'PTH_NPTH': False, 'MAP_FORMAT': 'pdf'}}, {'file': 'kibot_out_csv_drill_table.yaml', 'definitions': {'NAME': 'csv_drill_table', 'COMMENT': 'Drill Table in CSV format', 'DIR': 'mfg/fab/drill-tables', 'PTH_NPTH': 'no', 'GROUP_ROUND_SLOTS': True}}, {'file': 'kibot_out_csv_position.yaml', 'definitions': {'NAME': 'csv_position', 'COMMENT': 'Position file in CSV format', 'DIR': 'mfg/assembly'}}, {'file': 'kibot_out_csv_testpoints.yaml', 'definitions': {'NAME': 'csv_testpoints', 'COMMENT': 'Testpoint report in CSV format', 'DIR': 'test/testpoints', 'EXCLUDE_FILTER': 'only_testpoints'}}, {'file': 'kibot_out_csv_testpoints_simple.yaml', 'definitions': {'NAME': 'csv_testpoints_top', 'COMMENT': 'Top testpoint report in CSV format', 'DIR': 'test/testpoints', 'SUFFIX': '-top', 'EXCLUDE_FILTER': 'only_testpoints_top'}}, {'file': 'kibot_out_csv_testpoints_simple.yaml', 'definitions': {'NAME': 'csv_testpoints_bottom', 'COMMENT': 'Bottom testpoint report in CSV format', 'DIR': 'test/testpoints', 'SUFFIX': '-bottom', 'EXCLUDE_FILTER': 'only_testpoints_bottom'}}, {'file': 'kibot_out_pdf_fabrication.yaml', 'definitions': {'NAME': 'pdf_fabrication', 'COMMENT': 'Fabrication document in PDF format', 'DIR': 'mfg/fab', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS': 'templates/Asymworks_PCB.kicad_wks', 'SCALING': 1, 'PTH_NPTH': 'no', 'GROUP_ROUND_SLOTS': True, 'FAB_EXCLUDE_FILTER': 'only_testpoints', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table', 'NAME_DRILL_TABLE': 'csv_drill_table'}}, {'file': 'kibot_out_pdf_assembly.yaml', 'definitions': {'NAME': 'pdf_assembly', 'COMMENT': 'Assembly document in PDF format', 'DIR': 'mfg/assembly', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS': 'templates/Asymworks_PCBA.kicad_wks', 'SCALING': 1, 'FAB_EXCLUDE_FILTER': 'exclude_testpoints', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'NAME_COMP_COUNT': 'csv_comp_count'}}, {'file': 'kibot_out_compress_fab.yaml', 'definitions': {'NAME': 'zip_compress_fab', 'COMMENT': 'Generates a ZIP file with gerbers, drill and fabrication document', 'DIR': 'mfg/fab', 'GERBER_OUTPUT': 'gbr_gerbers', 'DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DRILL_OUTPUT': 'drl_excellon', 'FABRICATION_OUTPUT': 'pdf_fabrication'}}, {'file': 'kibot_out_gerber.yaml', 'definitions': {'NAME': 'jlcpcb_gerbers', 'COMMENT': 'Gerbers in GBR format for JLCPCB', 'DIR': 'mfg/jlcpcb/gerbers', 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': True, 'SUBTRACT_MASK': False}}, {'file': 'kibot_out_jlcpcb_fabpack.yaml', 'definitions': {'NAME': 'jlcpcb_fabpack', 'COMMENT': 'Zipped Fabpack for JLCPCB', 'DIR': 'mfg/jlcpcb', 'GERBER_OUTPUT': 'jlcpcb_gerbers', 'DRILL_OUTPUT': 'drl_excellon'}}, {'file': 'kibot_out_jlcpcb_bom.yaml', 'definitions': {'NAME': 'jlcpcb_bom', 'COMMENT': 'Bill of Materials for JLCPCB', 'DIR': 'mfg/jlcpcb', 'EXCLUDE_FILTER': 'only_lcsc_parts'}}, {'file': 'kibot_out_jlcpcb_cpl.yaml', 'definitions': {'NAME': 'jlcpcb_cpl', 'COMMENT': 'Component Placement File for JLCPCB', 'DIR': 'mfg/jlcpcb', 'EXCLUDE_FILTER': 'only_lcsc_parts'}}, {'file': 'kibot_out_csv_report.yaml', 'definitions': {'NAME': 'csv_comp_count', 'COMMENT': 'Component report (count) in CSV format', 'DIR': 'mfg/assembly', 'OUTPUT_ID': 'components_count', 'TEMPLATE': 'total_components'}}, {'file': 'kibot_out_csv_report.yaml', 'definitions': {'NAME': 'csv_impedance_table', 'COMMENT': 'Impedance table in CSV format', 'DIR': 'mfg/fab', 'OUTPUT_ID': 'impedance_table', 'TEMPLATE': 'notes/impedance_table.txt'}}, {'file': 'kibot_out_txt_report.yaml', 'definitions': {'NAME': 'txt_schematic_notes', 'COMMENT': 'Schematic notes in TXT format', 'DIR': 'schematic', 'OUTPUT_ID': 'schematic_notes', 'TEMPLATE': 'notes/schematic_notes.txt'}}, {'file': 'kibot_out_txt_report.yaml', 'definitions': {'NAME': 'txt_fabrication_notes', 'COMMENT': 'Fabrication notes in TXT format', 'DIR': 'mfg/fab', 'OUTPUT_ID': 'fabrication_notes', 'TEMPLATE': 'notes/fabrication_notes.txt'}}, {'file': 'kibot_out_txt_report.yaml', 'definitions': {'NAME': 'txt_assembly_notes', 'COMMENT': 'Assembly notes in TXT format', 'DIR': 'mfg/assembly', 'OUTPUT_ID': 'assembly_notes', 'TEMPLATE': 'notes/assembly_notes.txt'}}, {'file': 'kibot_out_panelize.yaml', 'definitions': {'NAME': 'panel_801', 'DIR': 'panels/panel-800', 'CONFIG': 'panels/panel-800.json', 'TITLE': 'Panel Fabrication (Panel -800)'}}] (kibot - config_reader.py:520)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'OUTPUT_DIR': './', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'LAYER_DNP_BOT': 'B.DNP'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'OUTPUT_DIR': './', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'LAYER_DNP_BOT': 'B.DNP'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'OUTPUT_DIR': './', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'LAYER_DNP_BOT': 'B.DNP'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @OUTPUT_DIR@ -> ./ () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_TOP@ -> F.DNP () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LAYER_DNP_BOTTOM@ -> B.DNP () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'OUTPUT_DIR': './', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'LAYER_DNP_BOT': 'B.DNP'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Globals
+# https://kibot.readthedocs.io/en/latest/configuration/global.html
+
+kibot:
+ version: 1
+
+global:
+ resources_dir: 'kibot'
+ out_dir: './'
+ dnp_cross_top_layer: 'F.DNP'
+ dnp_cross_bottom_layer: 'B.DNP'
+ disable_kicad_cross_on_fab: true
+ extra_pth_drill: 0 # for annular ring computation.
+ filters: []
+
+ (kibot - config_reader.py:683)
+DEBUG:Globals loaded from `kibot/yaml/kibot_globals.yaml`: dict_keys(['resources_dir', 'out_dir', 'dnp_cross_top_layer', 'dnp_cross_bottom_layer', 'disable_kicad_cross_on_fab', 'extra_pth_drill', 'filters']) (kibot - config_reader.py:480)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Rename fields', 'NAME': 'field_rename', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'field_rename', 'COMMENT': 'Rename fields'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Rename fields', 'NAME': 'field_rename', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Rename fields', 'NAME': 'field_rename', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Rename fields () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> field_rename () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MPN_FIELD@ -> Manufacturer PN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MAN_FIELD@ -> Manufacturer () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Rename fields', 'NAME': 'field_rename', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for renaming Manufacturer Part Number field
+
+kibot:
+ version: 1
+
+filters:
+ - name: 'field_rename'
+ comment: 'Rename fields'
+ type: field_rename
+ rename:
+ - field: 'Manufacturer PN'
+ name: manf#
+ - field: 'Manufacturer'
+ name: manf
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `field_rename` (field_rename) (kibot - config_reader.py:252)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_field_rename.yaml`: dict_keys(['field_rename']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Select only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'only_testpoints', 'COMMENT': 'Include only testpoints'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Include only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Include only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Include only testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> only_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_TOP@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_BOTTOM@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_REFS@ -> [MB*] () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Include only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for testpoints
+# These filters are used for multiple outputs to highlight testpoints
+# or generate testpoint lists for top and bottom layers
+
+kibot:
+ version: 1
+
+filters:
+ - name: 'only_testpoints'
+ comment: 'Include only testpoints'
+ type: generic
+ exclude_top: false
+ exclude_bottom: false
+ include_only:
+ - column: Reference
+ regex: "TP"
+ exclude_refs: [MB*]
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `only_testpoints` (generic) (kibot - config_reader.py:252)
+DEBUG:Configuring from default: exclude_any -> [] (kibot - optionable.py:362)
+DEBUG:Configuring from default: keys -> ['dnf_list'] (kibot - optionable.py:362)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_testpoints.yaml`: dict_keys(['only_testpoints']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Exclude only testpoints', 'NAME': 'exclude_testpoints'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'exclude_testpoints', 'COMMENT': 'Exclude only testpoints'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Exclude only testpoints', 'NAME': 'exclude_testpoints', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Exclude only testpoints', 'NAME': 'exclude_testpoints', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Exclude only testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> exclude_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Exclude only testpoints', 'NAME': 'exclude_testpoints', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for excluding testpoints
+
+kibot:
+ version: 1
+
+filters:
+ - name: 'exclude_testpoints'
+ comment: 'Exclude only testpoints'
+ type: generic
+ exclude_any:
+ - column: Reference
+ regex: "TP"
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `exclude_testpoints` (generic) (kibot - config_reader.py:252)
+DEBUG:Configuring from default: include_only -> [] (kibot - optionable.py:362)
+DEBUG:Configuring from default: keys -> ['dnf_list'] (kibot - optionable.py:362)
+DEBUG:Configuring from default: exclude_refs -> [] (kibot - optionable.py:362)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_exclude_testpoints.yaml`: dict_keys(['exclude_testpoints']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Select only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'only_testpoints_top', 'COMMENT': 'Select only top testpoints', 'EXCLUDE_BOTTOM': True, 'EXCLUDE_REFS': '[MB*]'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Select only top testpoints', 'NAME': 'only_testpoints_top', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': True, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Select only top testpoints', 'NAME': 'only_testpoints_top', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': True, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Select only top testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> only_testpoints_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_TOP@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_BOTTOM@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_REFS@ -> [MB*] () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Select only top testpoints', 'NAME': 'only_testpoints_top', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': True, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for testpoints
+# These filters are used for multiple outputs to highlight testpoints
+# or generate testpoint lists for top and bottom layers
+
+kibot:
+ version: 1
+
+filters:
+ - name: 'only_testpoints_top'
+ comment: 'Select only top testpoints'
+ type: generic
+ exclude_top: false
+ exclude_bottom: true
+ include_only:
+ - column: Reference
+ regex: "TP"
+ exclude_refs: [MB*]
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `only_testpoints_top` (generic) (kibot - config_reader.py:252)
+DEBUG:Configuring from default: exclude_any -> [] (kibot - optionable.py:362)
+DEBUG:Configuring from default: keys -> ['dnf_list'] (kibot - optionable.py:362)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_testpoints.yaml`: dict_keys(['only_testpoints_top']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Select only testpoints', 'NAME': 'only_testpoints', 'EXCLUDE_TOP': False, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'only_testpoints_bottom', 'COMMENT': 'Select only bottom testpoints', 'EXCLUDE_TOP': True, 'EXCLUDE_REFS': '[MB*]'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Select only bottom testpoints', 'NAME': 'only_testpoints_bottom', 'EXCLUDE_TOP': True, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Select only bottom testpoints', 'NAME': 'only_testpoints_bottom', 'EXCLUDE_TOP': True, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Select only bottom testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> only_testpoints_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_TOP@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_BOTTOM@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_REFS@ -> [MB*] () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Select only bottom testpoints', 'NAME': 'only_testpoints_bottom', 'EXCLUDE_TOP': True, 'EXCLUDE_BOTTOM': False, 'EXCLUDE_REFS': '[MB*]', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for testpoints
+# These filters are used for multiple outputs to highlight testpoints
+# or generate testpoint lists for top and bottom layers
+
+kibot:
+ version: 1
+
+filters:
+ - name: 'only_testpoints_bottom'
+ comment: 'Select only bottom testpoints'
+ type: generic
+ exclude_top: true
+ exclude_bottom: false
+ include_only:
+ - column: Reference
+ regex: "TP"
+ exclude_refs: [MB*]
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `only_testpoints_bottom` (generic) (kibot - config_reader.py:252)
+DEBUG:Configuring from default: exclude_any -> [] (kibot - optionable.py:362)
+DEBUG:Configuring from default: keys -> ['dnf_list'] (kibot - optionable.py:362)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_testpoints.yaml`: dict_keys(['only_testpoints_bottom']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'COMMENT': 'Only parts with LCSC Part Number', 'NAME': 'only_lcsc_parts'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'only_lcsc_parts', 'COMMENT': 'Only parts with LCSC Part Number'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'COMMENT': 'Only parts with LCSC Part Number', 'NAME': 'only_lcsc_parts', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Only parts with LCSC Part Number', 'NAME': 'only_lcsc_parts', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COMMENT@ -> Only parts with LCSC Part Number () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> only_lcsc_parts () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'COMMENT': 'Only parts with LCSC Part Number', 'NAME': 'only_lcsc_parts', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot Filter for components with an LCSC Part Number
+
+kibot:
+ version: 1
+
+filters:
+ - name: only_lcsc_parts
+ comment: 'Only parts with LCSC Part Number'
+ type: generic
+ include_only:
+ - column: _field_lcsc_part
+ regex: '^C\d+'
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing filter `only_lcsc_parts` (generic) (kibot - config_reader.py:252)
+DEBUG:Configuring from default: exclude_any -> [] (kibot - optionable.py:362)
+DEBUG:Configuring from default: keys -> ['dnf_list'] (kibot - optionable.py:362)
+DEBUG:Configuring from default: exclude_refs -> [] (kibot - optionable.py:362)
+DEBUG:Filters loaded from `kibot/yaml/kibot_filt_lcsc_parts.yaml`: dict_keys(['only_lcsc_parts']) (kibot - config_reader.py:408)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'PROJECT_CODE': '', 'ASSEMBLY_NUMBER': '', 'ASSEMBLY_NAME': '', 'ASSEMBLY_SCALING': '', 'DWG_NUMBER_SCH': '', 'DWG_TITLE_SCH': '', 'DWG_NUMBER_PCB': '', 'DWG_TITLE_PCB': '', 'DWG_TITLE_ASSY': '', 'COMPANY': '', 'DESIGNER': '', 'REVISION': '', 'RELEASE_STATE': '', 'RELEASE_DATE': '', 'GIT_URL': '', 'SHEET_NAME_VAR': 'SHEET_NAME_', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly', 'GET_SHEET_CMD': 'python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': 'mfg/assembly', 'FABRICATION_DIR': 'mfg/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': 'kibot/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'ASSEMBLY_SCALING': 1, 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'REVISION': '', 'RELEASE_STATE': '', 'RELEASE_DATE': '', 'GIT_URL': '/jkrauss/Test_4', 'SHEET_NAME_VAR': 'SHEET_NAME_', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly', 'GET_SHEET_CMD': 'python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Replacing @RELEASE_STATE@ -> WORKING () (kibot - config_reader.py:78)
+DEBUG:- Replacing @REVISION@ -> NO_TAG+ (Unreleased) () (kibot - config_reader.py:78)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'ASSEMBLY_SCALING': 1, 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'REVISION': '', 'RELEASE_STATE': '', 'RELEASE_DATE': '', 'GIT_URL': '/jkrauss/Test_4', 'SHEET_NAME_VAR': 'SHEET_NAME_', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly', 'GET_SHEET_CMD': 'python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @PROJECT_CODE@ -> P99 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_NUMBER@ -> A99-9000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_NAME@ -> Assembly Name () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_SCALING@ -> 1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DWG_NUMBER_SCH@ -> S99-9000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DWG_TITLE_SCH@ -> Schematic, Assembly Name () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DWG_NUMBER_PCB@ -> P99-9000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DWG_TITLE_PCB@ -> PCB, Assembly Name () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DWG_TITLE_ASSY@ -> PCB Assembly, Assembly Name () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMPANY@ -> Asymworks, LLC () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DESIGNER@ -> JPK () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GIT_URL@ -> /jkrauss/Test_4 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SHEET_NAME_VAR@ -> SHEET_NAME_ () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FABRICATION_DIR@ -> mfg/fab () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ASSEMBLY_DIR@ -> mfg/assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @GET_SHEET_CMD@ -> python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SCHEMATIC_DIR@ -> schematic () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'ASSEMBLY_SCALING': 1, 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'REVISION': '', 'RELEASE_STATE': '', 'RELEASE_DATE': '', 'GIT_URL': '/jkrauss/Test_4', 'SHEET_NAME_VAR': 'SHEET_NAME_', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly', 'GET_SHEET_CMD': 'python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @SCRIPTS_DIR@ -> kibot/scripts () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'ASSEMBLY_SCALING': 1, 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'REVISION': '', 'RELEASE_STATE': '', 'RELEASE_DATE': '', 'GIT_URL': '/jkrauss/Test_4', 'SHEET_NAME_VAR': 'SHEET_NAME_', 'SCRIPTS_DIR': 'kibot/scripts', 'FABRICATION_DIR': 'mfg/fab', 'ASSEMBLY_DIR': 'mfg/assembly', 'GET_SHEET_CMD': 'python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot preflight for setting Text Variables
+# https://kibot.readthedocs.io/en/latest/configuration/preflights/set_text_variables.html
+
+kibot:
+ version: 1
+
+preflight:
+ update_xml: true
+ set_text_variables:
+
+ # Git-related information
+ - variable: 'REVISION'
+ text: 'NO_TAG+ (Unreleased)'
+ - variable: 'RELEASE_STATE'
+ text: 'WORKING'
+ - variable: 'RELEASE_DATE'
+ command: 'git log -1 --format="%ad" --date=short'
+ - variable: 'GIT_HASH_SCH'
+ command: 'git log -1 --format="%h" $KIBOT_SCH_NAME'
+ - variable: 'GIT_HASH_PCB'
+ command: 'git log -1 --format="%h" $KIBOT_PCB_NAME'
+ - variable: 'GIT_HASH'
+ command: 'git log -1 --format="%h"'
+ - variable: 'GIT_URL'
+ text: '/jkrauss/Test_4'
+
+ # Metadata
+ - variable: 'PROJECT_CODE'
+ text: 'P99'
+ - variable: 'ASSEMBLY_NUMBER'
+ text: 'A99-9000'
+ - variable: 'ASSEMBLY_NAME'
+ text: 'Assembly Name'
+ - variable: 'ASSEMBLY_SCALE'
+ text: '1'
+ - variable: 'DWG_NUMBER_PCB'
+ text: 'P99-9000'
+ - variable: 'DWG_NUMBER_SCH'
+ text: 'S99-9000'
+ - variable: 'DWG_TITLE_PCB'
+ text: 'PCB, Assembly Name'
+ - variable: 'DWG_TITLE_SCH'
+ text: 'Schematic, Assembly Name'
+ - variable: 'DWG_TITLE_ASSY'
+ text: 'PCB Assembly, Assembly Name'
+ - variable: 'COMPANY'
+ text: 'Asymworks, LLC'
+ - variable: 'DESIGNER'
+ text: 'JPK'
+ - variable: 'VARIANT'
+ text: '%V'
+
+ # Schematic notes
+ - variable: 'SCHEMATIC_NOTES'
+ expand_in_command: true
+ command: '[ -f "schematic/%f-schematic_notes%v.txt" ] && cat "schematic/%f-schematic_notes%v.txt" || echo ""'
+
+ # Fabrication notes
+ - variable: 'FABRICATION_NOTES'
+ expand_in_command: true
+ command: '[ -f "mfg/fab/%f-fabrication_notes%v.txt" ] && cat "mfg/fab/%f-fabrication_notes%v.txt" || echo ""'
+
+ # Assembly notes
+ - variable: 'ASSEMBLY_NOTES'
+ expand_in_command: true
+ command: '[ -f "mfg/assembly/%f-assembly_notes%v.txt" ] && cat "mfg/assembly/%f-assembly_notes%v.txt" || echo ""'
+
+ # Page titles for automatic ToC
+ - variable: 'SHEET_NAME_01'
+ text: 'Cover Page'
+ - variable: 'SHEET_NAME_02'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 2'
+ - variable: 'SHEET_NAME_03'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 3'
+ - variable: 'SHEET_NAME_04'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 4'
+ - variable: 'SHEET_NAME_05'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 5'
+ - variable: 'SHEET_NAME_06'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 6'
+ - variable: 'SHEET_NAME_07'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 7'
+ - variable: 'SHEET_NAME_08'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 8'
+ - variable: 'SHEET_NAME_09'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 9'
+ - variable: 'SHEET_NAME_10'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 10'
+ - variable: 'SHEET_NAME_11'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 11'
+ - variable: 'SHEET_NAME_12'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 12'
+ - variable: 'SHEET_NAME_13'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 13'
+ - variable: 'SHEET_NAME_14'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 14'
+ - variable: 'SHEET_NAME_15'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 15'
+ - variable: 'SHEET_NAME_16'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 16'
+ - variable: 'SHEET_NAME_17'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 17'
+ - variable: 'SHEET_NAME_18'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 18'
+ - variable: 'SHEET_NAME_19'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 19'
+ - variable: 'SHEET_NAME_20'
+ command: 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 20'
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing preflight options: {'update_xml': True, 'set_text_variables': [{'variable': 'REVISION', 'text': 'NO_TAG+ (Unreleased)'}, {'variable': 'RELEASE_STATE', 'text': 'WORKING'}, {'variable': 'RELEASE_DATE', 'command': 'git log -1 --format="%ad" --date=short'}, {'variable': 'GIT_HASH_SCH', 'command': 'git log -1 --format="%h" $KIBOT_SCH_NAME'}, {'variable': 'GIT_HASH_PCB', 'command': 'git log -1 --format="%h" $KIBOT_PCB_NAME'}, {'variable': 'GIT_HASH', 'command': 'git log -1 --format="%h"'}, {'variable': 'GIT_URL', 'text': '/jkrauss/Test_4'}, {'variable': 'PROJECT_CODE', 'text': 'P99'}, {'variable': 'ASSEMBLY_NUMBER', 'text': 'A99-9000'}, {'variable': 'ASSEMBLY_NAME', 'text': 'Assembly Name'}, {'variable': 'ASSEMBLY_SCALE', 'text': '1'}, {'variable': 'DWG_NUMBER_PCB', 'text': 'P99-9000'}, {'variable': 'DWG_NUMBER_SCH', 'text': 'S99-9000'}, {'variable': 'DWG_TITLE_PCB', 'text': 'PCB, Assembly Name'}, {'variable': 'DWG_TITLE_SCH', 'text': 'Schematic, Assembly Name'}, {'variable': 'DWG_TITLE_ASSY', 'text': 'PCB Assembly, Assembly Name'}, {'variable': 'COMPANY', 'text': 'Asymworks, LLC'}, {'variable': 'DESIGNER', 'text': 'JPK'}, {'variable': 'VARIANT', 'text': '%V'}, {'variable': 'SCHEMATIC_NOTES', 'expand_in_command': True, 'command': '[ -f "schematic/%f-schematic_notes%v.txt" ] && cat "schematic/%f-schematic_notes%v.txt" || echo ""'}, {'variable': 'FABRICATION_NOTES', 'expand_in_command': True, 'command': '[ -f "mfg/fab/%f-fabrication_notes%v.txt" ] && cat "mfg/fab/%f-fabrication_notes%v.txt" || echo ""'}, {'variable': 'ASSEMBLY_NOTES', 'expand_in_command': True, 'command': '[ -f "mfg/assembly/%f-assembly_notes%v.txt" ] && cat "mfg/assembly/%f-assembly_notes%v.txt" || echo ""'}, {'variable': 'SHEET_NAME_01', 'text': 'Cover Page'}, {'variable': 'SHEET_NAME_02', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 2'}, {'variable': 'SHEET_NAME_03', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 3'}, {'variable': 'SHEET_NAME_04', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 4'}, {'variable': 'SHEET_NAME_05', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 5'}, {'variable': 'SHEET_NAME_06', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 6'}, {'variable': 'SHEET_NAME_07', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 7'}, {'variable': 'SHEET_NAME_08', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 8'}, {'variable': 'SHEET_NAME_09', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 9'}, {'variable': 'SHEET_NAME_10', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 10'}, {'variable': 'SHEET_NAME_11', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 11'}, {'variable': 'SHEET_NAME_12', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 12'}, {'variable': 'SHEET_NAME_13', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 13'}, {'variable': 'SHEET_NAME_14', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 14'}, {'variable': 'SHEET_NAME_15', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 15'}, {'variable': 'SHEET_NAME_16', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 16'}, {'variable': 'SHEET_NAME_17', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 17'}, {'variable': 'SHEET_NAME_18', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 18'}, {'variable': 'SHEET_NAME_19', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 19'}, {'variable': 'SHEET_NAME_20', 'command': 'python3 kibot/scripts/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p 20'}]} (kibot - config_reader.py:283)
+DEBUG:Parsing preflight update_xml (kibot - config_reader.py:292)
+DEBUG:Parsing preflight set_text_variables (kibot - config_reader.py:292)
+DEBUG:Preflights loaded from `kibot/yaml/kibot_pre_set_text_variables.yaml`: ['update_xml', 'set_text_variables'] (kibot - config_reader.py:385)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'CATEGORY': 'Schematic', 'DIR': 'reports'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'DIR': 'reports'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @DIR@ -> reports () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot preflight for generating ERC reports
+# https://kibot.readthedocs.io/en/latest/configuration/preflights/erc.html
+
+kibot:
+ version: 1
+
+preflight:
+ erc:
+ category: 'reports'
+ dir: 'reports'
+ format: 'HTML, RPT'
+ output: 'report_%f-%i%I%v.%x'
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing preflight options: {'erc': {'category': 'reports', 'dir': 'reports', 'format': 'HTML, RPT', 'output': 'report_%f-%i%I%v.%x'}} (kibot - config_reader.py:283)
+DEBUG:Parsing preflight erc (kibot - config_reader.py:292)
+DEBUG:Preflights loaded from `kibot/yaml/kibot_pre_erc_report.yaml`: ['erc'] (kibot - config_reader.py:385)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'CHECK_ZONE_FILLS': True, 'CATEGORY': 'Schematic', 'DIR': 'reports'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'DIR': 'reports'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'CHECK_ZONE_FILLS': False, 'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'CHECK_ZONE_FILLS': False, 'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @CHECK_ZONE_FILLS@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> reports () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'CHECK_ZONE_FILLS': False, 'CATEGORY': 'Schematic', 'DIR': 'reports', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot preflight for generating DRC reports
+# https://kibot.readthedocs.io/en/latest/configuration/preflights/drc.html
+
+kibot:
+ version: 1
+
+preflight:
+ check_zone_fills: false
+ drc:
+ category: 'reports'
+ dir: 'reports'
+ dont_stop: true
+ format: 'HTML, RPT'
+ output: 'report_%f-%i%I%v.%x'
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing preflight options: {'check_zone_fills': False, 'drc': {'category': 'reports', 'dir': 'reports', 'dont_stop': True, 'format': 'HTML, RPT', 'output': 'report_%f-%i%I%v.%x'}} (kibot - config_reader.py:283)
+DEBUG:Parsing preflight check_zone_fills (kibot - config_reader.py:292)
+DEBUG:Parsing preflight drc (kibot - config_reader.py:292)
+DEBUG:Preflights loaded from `kibot/yaml/kibot_pre_drc_report.yaml`: ['check_zone_fills', 'drc'] (kibot - config_reader.py:385)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'GERBER_OUTPUT': 'gbr_gerbers', 'NOTE': 'external layer thicknesses are specified after plating'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NOTE': 'external layer thicknesses are specified after plating'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'GERBER_OUTPUT': 'gbr_gerbers', 'NOTE': 'external layer thicknesses are specified after plating', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'GERBER_OUTPUT': 'gbr_gerbers', 'NOTE': 'external layer thicknesses are specified after plating', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @GERBER_OUTPUT@ -> gbr_gerbers () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NOTE@ -> external layer thicknesses are specified after plating () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'GERBER_OUTPUT': 'gbr_gerbers', 'NOTE': 'external layer thicknesses are specified after plating', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot preflight for Draw Fancy Stackup feature
+# https://kibot.readthedocs.io/en/latest/configuration/preflights/draw_fancy_stackup.html
+
+kibot:
+ version: 1
+
+preflight:
+ update_xml: true
+ draw_fancy_stackup:
+ gerber: 'gbr_gerbers'
+ gerber_extension_only: True
+ draw_stackup: True
+ draw_vias: True
+ columns:
+ - 'material'
+ - 'layer'
+ - 'thickness'
+ - 'dielectric'
+ - 'layer_type'
+ note: 'external layer thicknesses are specified after plating'
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing preflight options: {'update_xml': True, 'draw_fancy_stackup': {'gerber': 'gbr_gerbers', 'gerber_extension_only': True, 'draw_stackup': True, 'draw_vias': True, 'columns': ['material', 'layer', 'thickness', 'dielectric', 'layer_type'], 'note': 'external layer thicknesses are specified after plating'}} (kibot - config_reader.py:283)
+DEBUG:Parsing preflight update_xml (kibot - config_reader.py:292)
+DEBUG:Parsing preflight draw_fancy_stackup (kibot - config_reader.py:292)
+DEBUG:Preflights loaded from `kibot/yaml/kibot_pre_draw_stackup.yaml`: ['update_xml', 'draw_fancy_stackup'] (kibot - config_reader.py:385)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME_TP_TOP@ -> csv_testpoints_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME_TP_BOTTOM@ -> csv_testpoints_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME_COMP_COUNT@ -> csv_comp_count () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME_CSV_DRILL_TABLE@ -> csv_drill_table () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME_IMPEDANCE_TABLE@ -> csv_impedance_table () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME_TP_TOP': 'csv_testpoints_top', 'NAME_TP_BOTTOM': 'csv_testpoints_bottom', 'NAME_COMP_COUNT': 'csv_comp_count', 'NAME_CSV_DRILL_TABLE': 'csv_drill_table', 'NAME_IMPEDANCE_TABLE': 'csv_impedance_table', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot preflight for Include Table feature
+# https://kibot.readthedocs.io/en/latest/configuration/preflights/include_table.html
+
+kibot:
+ version: 1
+
+preflight:
+ include_table:
+ outputs:
+ - name: 'csv_testpoints_top'
+ text_alignment: 'left'
+ invert_columns_order: false
+ border_width: 0.2
+ header_rule_width: 0.2
+ horizontal_rule_width: 0
+ vertical_rule_width: 0
+ top_rule_width: 0
+ bottom_rule_width: 0
+ column_spacing: 1
+ # force_font_width: 1.27 # mm
+
+ - name: 'csv_testpoints_bottom'
+ text_alignment: 'right'
+ invert_columns_order: true
+ border_width: 0.2
+ header_rule_width: 0.2
+ horizontal_rule_width: 0
+ vertical_rule_width: 0
+ top_rule_width: 0
+ bottom_rule_width: 0
+ column_spacing: 1
+ # force_font_width: 1.27 # mm
+
+ - name: 'csv_comp_count'
+ text_alignment: 'left'
+ invert_columns_order: false
+ border_width: 0.2
+ header_rule_width: 0.2
+ horizontal_rule_width: 0
+ vertical_rule_width: 0
+ top_rule_width: 0
+ bottom_rule_width: 0
+ row_spacing: 3
+ column_spacing: 1
+
+ - name: 'csv_drill_table'
+ text_alignment: 'left'
+ invert_columns_order: false
+ border_width: 0.2
+ header_rule_width: 0.2
+ horizontal_rule_width: 0
+ vertical_rule_width: 0
+ top_rule_width: 0
+ bottom_rule_width: 0
+ row_spacing: 3
+ column_spacing: 1
+
+ - name: 'csv_impedance_table'
+ text_alignment: 'left'
+ invert_columns_order: false
+ border_width: 0.2
+ header_rule_width: 0.2
+ vertical_rule_width: 0
+ top_rule_width: 0
+ bottom_rule_width: 0
+ row_spacing: 3
+ column_spacing: 1
+
+ (kibot - config_reader.py:683)
+DEBUG:Parsing preflight options: {'include_table': {'outputs': [{'name': 'csv_testpoints_top', 'text_alignment': 'left', 'invert_columns_order': False, 'border_width': 0.2, 'header_rule_width': 0.2, 'horizontal_rule_width': 0, 'vertical_rule_width': 0, 'top_rule_width': 0, 'bottom_rule_width': 0, 'column_spacing': 1}, {'name': 'csv_testpoints_bottom', 'text_alignment': 'right', 'invert_columns_order': True, 'border_width': 0.2, 'header_rule_width': 0.2, 'horizontal_rule_width': 0, 'vertical_rule_width': 0, 'top_rule_width': 0, 'bottom_rule_width': 0, 'column_spacing': 1}, {'name': 'csv_comp_count', 'text_alignment': 'left', 'invert_columns_order': False, 'border_width': 0.2, 'header_rule_width': 0.2, 'horizontal_rule_width': 0, 'vertical_rule_width': 0, 'top_rule_width': 0, 'bottom_rule_width': 0, 'row_spacing': 3, 'column_spacing': 1}, {'name': 'csv_drill_table', 'text_alignment': 'left', 'invert_columns_order': False, 'border_width': 0.2, 'header_rule_width': 0.2, 'horizontal_rule_width': 0, 'vertical_rule_width': 0, 'top_rule_width': 0, 'bottom_rule_width': 0, 'row_spacing': 3, 'column_spacing': 1}, {'name': 'csv_impedance_table', 'text_alignment': 'left', 'invert_columns_order': False, 'border_width': 0.2, 'header_rule_width': 0.2, 'vertical_rule_width': 0, 'top_rule_width': 0, 'bottom_rule_width': 0, 'row_spacing': 3, 'column_spacing': 1}]}} (kibot - config_reader.py:283)
+DEBUG:Parsing preflight include_table (kibot - config_reader.py:292)
+DEBUG:Preflights loaded from `kibot/yaml/kibot_pre_include_table.yaml`: ['include_table'] (kibot - config_reader.py:385)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'netlist', 'FORMAT': 'classic', 'COMMENT': 'Schematic netlist in KiCad format'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'netlist', 'COMMENT': 'Schematic netlist in KiCad format'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'netlist', 'FORMAT': 'classic', 'COMMENT': 'Schematic netlist in KiCad format', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'netlist', 'FORMAT': 'classic', 'COMMENT': 'Schematic netlist in KiCad format', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> netlist () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FORMAT@ -> classic () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Schematic netlist in KiCad format () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'netlist', 'FORMAT': 'classic', 'COMMENT': 'Schematic netlist in KiCad format', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating netlist in KiCad format
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/netlist.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: netlist
+ comment: 'Schematic netlist in KiCad format'
+ type: netlist
+ options:
+ format: 'classic'
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `netlist` (netlist) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_netlist.yaml`: ['netlist'] (kibot - config_reader.py:361)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pdf_schematic', 'COMMENT': 'Schematic in PDF format', 'DIR': 'schematic', 'DEFAULT_FONT': 'Arial Narrow', 'SHEET_WKS': 'templates/Asymworks_SCH.kicad_wks'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @COLOR_THEME@ -> Altium_Theme () (kibot - config_reader.py:78)
+DEBUG:- Replacing @NAME@ -> pdf_schematic () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Schematic in PDF format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> schematic () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DEFAULT_FONT@ -> Arial Narrow () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SHEET_WKS@ -> templates/Asymworks_SCH.kicad_wks () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pdf_schematic', 'COMMENT': 'Schematic in PDF format', 'DIR': 'schematic', 'DEFAULT_FONT': 'Arial Narrow', 'SHEET_WKS': 'templates/Asymworks_SCH.kicad_wks'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating schematics in PDF format
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/pdf_sch_print.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: pdf_schematic
+ comment: 'Schematic in PDF format'
+ type: pdf_sch_print
+ dir: 'schematic'
+ category: 'schematic'
+ options:
+ background_color: false
+ color_theme: 'Altium_Theme'
+ default_font: 'Arial Narrow'
+ sheet_reference_layout: 'templates/Asymworks_SCH.kicad_wks'
+
+definitions:
+ NAME: pdf_schematic
+ COMMENT: Schematic in PDF format
+ COLOR_THEME: Altium_Theme
+ DEFAULT_FONT: Arial
+ DIR: schematic
+ SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_SCH.kicad_wks
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `pdf_schematic` (pdf_sch_print) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_pdf_schematic.yaml`: ['pdf_schematic'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> csv_bom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Bill of Materials in CSV format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> mfg/assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @IPN_FIELD@ -> Asymworks IPN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MPN_FIELD@ -> Manufacturer PN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MAN_FIELD@ -> Manufacturer () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'csv_bom', 'COMMENT': 'Bill of Materials in CSV format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating Bill of Materials in CSV format
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: csv_bom
+ comment: 'Bill of Materials in CSV format'
+ type: bom
+ category: 'mfg/assembly'
+ dir: 'mfg/assembly'
+ options:
+ format: CSV
+ csv:
+ hide_pcb_info: true
+ hide_stats_info: true
+
+ group_fields: ['Manufacturer PN', 'Asymworks IPN', 'Value']
+
+ columns:
+ - "Row"
+ - "Quantity Per PCB"
+ - "References"
+ - "Value"
+ - "Datasheet"
+ - "Footprint"
+ - "Description"
+ - "Asymworks IPN"
+ - "Manufacturer"
+ - "Manufacturer PN"
+ - "LCSC"
+ # - "arrow#"
+ # - "digikey#"
+ # - "farnell#"
+ # - "mouser#"
+ # - "newark#"
+ # - "rs#"
+ # - "tme#"
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `csv_bom` (bom) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_csv_bom.yaml`: ['csv_bom'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'html_bom', 'COMMENT': 'BOM in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'html_bom', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'html_bom', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_bom', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> html_bom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Bill of Materials in HTML format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> mfg/assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @IPN_FIELD@ -> Asymworks IPN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MPN_FIELD@ -> Manufacturer PN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MAN_FIELD@ -> Manufacturer () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_bom', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating Interactive HTML BoM
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: html_bom
+ comment: 'Bill of Materials in HTML format'
+ type: bom
+ category: 'mfg/assembly'
+ dir: 'mfg/assembly'
+ options:
+ format: HTML
+ html:
+ title: 'Bill of Materials'
+ datasheet_as_link: "Datasheet"
+ lcsc_link: true
+ logo: false
+ style: modern-blue
+
+ group_fields: ['Manufacturer PN', 'Value']
+
+ columns:
+ - "Row"
+ - "Quantity Per PCB"
+ - "References"
+ - "Value"
+ - "Datasheet"
+ - "Footprint"
+ - "Description"
+ - "Asymworks IPN"
+ - "Manufacturer"
+ - "Manufacturer PN"
+ - "LCSC"
+ # - "arrow#"
+ # - "digikey#"
+ # - "farnell#"
+ # - "mouser#"
+ # - "newark#"
+ # - "rs#"
+ # - "tme#"
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `html_bom` (bom) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_html_bom.yaml`: ['html_bom'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'html_bom_interactive', 'COMMENT': 'Interactive BOM in HTML format', 'DIR': 'mfg/assembly', 'EXCLUDE_FILTER': 'exclude_testpoints', 'TITLE': '', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'html_bom_interactive', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'html_bom_interactive', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'EXCLUDE_FILTER': 'exclude_testpoints', 'TITLE': '', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_bom_interactive', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'EXCLUDE_FILTER': 'exclude_testpoints', 'TITLE': '', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> html_bom_interactive () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Bill of Materials in HTML format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> mfg/assembly () (kibot - config_reader.py:78)
+DEBUG:- Replacing @EXCLUDE_FILTER@ -> exclude_testpoints () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TITLE@ -> () (kibot - config_reader.py:78)
+DEBUG:- Replacing @IPN_FIELD@ -> Asymworks IPN () (kibot - config_reader.py:78)
+DEBUG:- Replacing @MPN_FIELD@ -> Manufacturer PN () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_bom_interactive', 'COMMENT': 'Bill of Materials in HTML format', 'DIR': 'mfg/assembly', 'EXCLUDE_FILTER': 'exclude_testpoints', 'TITLE': '', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating Interactive HTML BoM
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: html_bom_interactive
+ comment: 'Bill of Materials in HTML format'
+ type: ibom
+ dir: 'mfg/assembly'
+ category: 'mfg/assembly'
+ options:
+ # extra_data_file: '%F.net'
+ dark_mode: true
+ show_fields: 'Value,Footprint,Asymworks IPN,Manufacturer PN'
+ group_fields: 'Value,Asymworks IPN'
+ show_fabrication: true
+ highlight_pin1: "selected"
+ exclude_filter: 'exclude_testpoints'
+ hide_excluded: true
+ forced_name: ''
+ mark_when_checked: 'Placed'
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `html_bom_interactive` (ibom) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_html_ibom.yaml`: ['html_bom_interactive'] (kibot - config_reader.py:361)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'html_kiri', 'COMMENT': 'KiRI webpage', 'DIR': 'kiri'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> html_kiri () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> KiRI webpage () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> kiri () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'html_kiri', 'COMMENT': 'KiRI webpage', 'DIR': 'kiri'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for diff web page between commits
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/kiri.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: html_kiri
+ comment: 'KiRI webpage'
+ type: kiri
+ category: 'kiri'
+ dir: 'kiri'
+ layers: all
+ options:
+ keep_generated: true
+ max_commits: 3
+ revision: 'HEAD'
+ zones: 'global'
+
+definitions:
+ NAME: html_kiri
+ COMMENT: KiRi webpage
+ DIR: kiri
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `html_kiri` (kiri) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_html_kiri.yaml`: ['html_kiri'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': '', 'LOGO': '', 'LOGO_URL': ''} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': 'A99-9000 (Assembly Name)'} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': 'A99-9000 (Assembly Name)', 'LOGO': '', 'LOGO_URL': '', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': 'A99-9000 (Assembly Name)', 'LOGO': '', 'LOGO_URL': '', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> html_navigate_results () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Results webpage in HTML format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> html () (kibot - config_reader.py:78)
+DEBUG:- Replacing @TITLE@ -> A99-9000 (Assembly Name) () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LOGO@ -> () (kibot - config_reader.py:78)
+DEBUG:- Replacing @LOGO_URL@ -> () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'html_navigate_results', 'COMMENT': 'Results webpage in HTML format', 'DIR': 'html', 'TITLE': 'A99-9000 (Assembly Name)', 'LOGO': '', 'LOGO_URL': '', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating an HTML page for navigating the results
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/navigate_results_rb.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: html_navigate_results
+ comment: 'Results webpage in HTML format'
+ type: navigate_results_rb
+ # category: 'html'
+ dir: 'html'
+ options:
+ link_from_root: 'index.html'
+ logo: ''
+ logo_force_height: 40
+ logo_url: ''
+ nav_bar: true
+ render_markdown: true
+ display_category_images: false
+ display_kibot_version: false
+ title: 'A99-9000 (Assembly Name)'
+ title_url: ''
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `html_navigate_results` (navigate_results_rb) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_navigate_results.yaml`: ['html_navigate_results'] (kibot - config_reader.py:361)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pcbdraw_top', 'COMMENT': 'PCB 2D Render (Top)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': False, 'COMPONENTS': 'none'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> pcbdraw_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> PCB 2D Render (Top) () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FORMAT@ -> svg () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BOTTOM@ -> false () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pcbdraw_top', 'COMMENT': 'PCB 2D Render (Top)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': False, 'COMPONENTS': 'none'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating PCB 2D renders with PcbDraw
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcbdraw.html
+
+kibot:
+ version: 1
+
+outputs:
+ - name: pcbdraw_top
+ output_id: pcbdraw_top
+ comment: 'PCB 2D Render (Top)'
+ type: pcbdraw
+ category: 'renders'
+ dir: 'renders'
+ options:
+ bottom: false
+ format: svg
+ output: '%f-%I%v.%x'
+
+definitions:
+ NAME: pcbdraw_top
+ COMMENT: PCB 2D Render (Top)
+ DIR: renders
+ BOTTOM: false
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `pcbdraw_top` (pcbdraw) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_pcbdraw.yaml`: ['pcbdraw_top'] (kibot - config_reader.py:361)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pcbdraw_bottom', 'COMMENT': 'PCB 2D Render (Bottom)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': True, 'COMPONENTS': 'none'} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> pcbdraw_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> PCB 2D Render (Bottom) () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @FORMAT@ -> svg () (kibot - config_reader.py:78)
+DEBUG:- Replacing @BOTTOM@ -> true () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'pcbdraw_bottom', 'COMMENT': 'PCB 2D Render (Bottom)', 'DIR': 'renders', 'FORMAT': 'svg', 'BOTTOM': True, 'COMPONENTS': 'none'} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for generating PCB 2D renders with PcbDraw
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcbdraw.html
+
+kibot:
+ version: 1
+
+outputs:
+ - name: pcbdraw_bottom
+ output_id: pcbdraw_bottom
+ comment: 'PCB 2D Render (Bottom)'
+ type: pcbdraw
+ category: 'renders'
+ dir: 'renders'
+ options:
+ bottom: true
+ format: svg
+ output: '%f-%I%v.%x'
+
+definitions:
+ NAME: pcbdraw_top
+ COMMENT: PCB 2D Render (Top)
+ DIR: renders
+ BOTTOM: false
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `pcbdraw_bottom` (pcbdraw) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_pcbdraw.yaml`: ['pcbdraw_bottom'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'png_3d_viewer', 'COMMENT': '3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': '', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'png_3d_viewer_top', 'COMMENT': 'Top 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'top', 'VIEW': 'top', 'RAYTRACING': False} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'png_3d_viewer_top', 'COMMENT': 'Top 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'top', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'png_3d_viewer_top', 'COMMENT': 'Top 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'top', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> png_3d_viewer_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Top 3D viewer PCB render in PNG format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SUFFIX@ -> top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @VIEW@ -> top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_X@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Y@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Z@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ZOOM@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HEIGHT@ -> 2000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @WIDTH@ -> 2000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @KEY_COLOR@ -> #FF00FF () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'png_3d_viewer_top', 'COMMENT': 'Top 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'top', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for 3D Viewer renders in PNG format
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/render_3d.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: png_3d_viewer_top
+ comment: 'Top 3D viewer PCB render in PNG format'
+ type: render_3d
+ category: 'renders'
+ dir: 'renders'
+ options:
+ output: '%f-top%I%v.%x'
+ auto_crop: true
+ enable_crop_workaround: true
+ rotate_x: 0
+ rotate_y: 0
+ rotate_z: 0
+ zoom: 0
+ height: 2000
+ width: 2000
+ view: 'top'
+ force_stackup_colors: true
+ orthographic: true
+ transparent_background: true
+ transparent_background_color: '#FF00FF'
+ transparent_background_fuzz: 40
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `png_3d_viewer_top` (render_3d) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_png_3d_viewer.yaml`: ['png_3d_viewer_top'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'png_3d_viewer', 'COMMENT': '3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': '', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'png_3d_viewer_bottom', 'COMMENT': 'Bottom 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'bottom', 'VIEW': 'bottom', 'RAYTRACING': False} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'png_3d_viewer_bottom', 'COMMENT': 'Bottom 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'bottom', 'VIEW': 'bottom', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'png_3d_viewer_bottom', 'COMMENT': 'Bottom 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'bottom', 'VIEW': 'bottom', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> png_3d_viewer_bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Bottom 3D viewer PCB render in PNG format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SUFFIX@ -> bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @VIEW@ -> bottom () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_X@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Y@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Z@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ZOOM@ -> 0 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @HEIGHT@ -> 2000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @WIDTH@ -> 2000 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @KEY_COLOR@ -> #FF00FF () (kibot - config_reader.py:78)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'png_3d_viewer_bottom', 'COMMENT': 'Bottom 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'bottom', 'VIEW': 'bottom', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:677)
+DEBUG:YAML after expanding definitions:
+# KiBot output for 3D Viewer renders in PNG format
+# https://kibot.readthedocs.io/en/latest/configuration/outputs/render_3d.html
+
+kibot:
+ version: 1
+
+outputs:
+- name: png_3d_viewer_bottom
+ comment: 'Bottom 3D viewer PCB render in PNG format'
+ type: render_3d
+ category: 'renders'
+ dir: 'renders'
+ options:
+ output: '%f-bottom%I%v.%x'
+ auto_crop: true
+ enable_crop_workaround: true
+ rotate_x: 0
+ rotate_y: 0
+ rotate_z: 0
+ zoom: 0
+ height: 2000
+ width: 2000
+ view: 'bottom'
+ force_stackup_colors: true
+ orthographic: true
+ transparent_background: true
+ transparent_background_color: '#FF00FF'
+ transparent_background_fuzz: 40
+
+ (kibot - config_reader.py:683)
+DEBUG:Pre-parsing output options for `png_3d_viewer_bottom` (render_3d) (kibot - config_reader.py:169)
+DEBUG:Outputs loaded from `kibot/yaml/kibot_out_png_3d_viewer.yaml`: ['png_3d_viewer_bottom'] (kibot - config_reader.py:361)
+DEBUG:Found local definitions (kibot - config_reader.py:648)
+DEBUG:- Local definitions: {'NAME': 'png_3d_viewer', 'COMMENT': '3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': '', 'VIEW': 'top', 'ROTATE_X': 0, 'ROTATE_Y': 0, 'ROTATE_Z': 0, 'ZOOM': 0, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF'} (kibot - config_reader.py:658)
+DEBUG:- Current definitions: {'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'KEY_COLOR': '#FF00FF', 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'NAME': 'png_3d_viewer_angled_top', 'COMMENT': 'Top (angled) 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'angled_top', 'VIEW': 'top', 'ROTATE_X': 2, 'ROTATE_Y': -1, 'ROTATE_Z': 1, 'ZOOM': -1, 'RAYTRACING': False} (kibot - config_reader.py:659)
+DEBUG:- Updated definitions: {'NAME': 'png_3d_viewer_angled_top', 'COMMENT': 'Top (angled) 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'angled_top', 'VIEW': 'top', 'ROTATE_X': 2, 'ROTATE_Y': -1, 'ROTATE_Z': 1, 'ZOOM': -1, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:662)
+DEBUG:Applying preprocessor definitions (kibot - config_reader.py:667)
+DEBUG:- Applying CLI definitions: {'RELEASE_STATE': 'WORKING', 'REVISION': 'NO_TAG+ (Unreleased)'} (kibot - config_reader.py:674)
+DEBUG:- Applying collected definitions: {'NAME': 'png_3d_viewer_angled_top', 'COMMENT': 'Top (angled) 3D viewer PCB render in PNG format', 'DIR': 'renders', 'SUFFIX': 'angled_top', 'VIEW': 'top', 'ROTATE_X': 2, 'ROTATE_Y': -1, 'ROTATE_Z': 1, 'ZOOM': -1, 'HEIGHT': 2000, 'WIDTH': 2000, 'KEY_COLOR': '#FF00FF', 'PROJECT_CODE': 'P99', 'ASSEMBLY_NUMBER': 'A99-9000', 'ASSEMBLY_NAME': 'Assembly Name', 'GIT_URL': '/jkrauss/Test_4', 'COMPANY': 'Asymworks, LLC', 'DESIGNER': 'JPK', 'DWG_NUMBER_SCH': 'S99-9000', 'DWG_TITLE_SCH': 'Schematic, Assembly Name', 'DWG_NUMBER_PCB': 'P99-9000', 'DWG_TITLE_PCB': 'PCB, Assembly Name', 'DWG_TITLE_ASSY': 'PCB Assembly, Assembly Name', 'PANEL_800_OUTPUT': 'panel_801', 'PANEL_800_CONFIG': '@PANELS_DIR@/panel-800.json', 'PANEL_800_TITLE': 'Panel Fabrication (Panel -800)', 'CHECK_ZONE_FILLS': False, 'STACKUP_TABLE_NOTE': 'external layer thicknesses are specified after plating', 'IPN_FIELD': 'Asymworks IPN', 'MPN_FIELD': 'Manufacturer PN', 'MAN_FIELD': 'Manufacturer', 'GROUP_ROUND_SLOTS': True, 'GROUP_PTH_NPTH': 'no', 'GROUP_PTH_NPTH_DRL': False, 'PLOT_REFS': True, 'PROTEL_EXTENSIONS': False, 'SUBTRACT_MASK': False, 'EXCELLON_METRIC_UNITS': True, 'TP_EXCLUDE_REFS': '[MB*]', 'COLOR_THEME': 'Altium_Theme', 'SHEET_WKS_SCH': 'templates/Asymworks_SCH.kicad_wks', 'SHEET_WKS_PCB': 'templates/Asymworks_PCB.kicad_wks', 'SHEET_WKS_ASSY': 'templates/Asymworks_PCBA.kicad_wks', 'FAB_SCALING': 1, 'ASSEMBLY_SCALING': 1, 'RENDER_DNF_FILTER': '_kibom_dnf_Config', '3D_VIEWER_ROT_X': 2, '3D_VIEWER_ROT_Y': -1, '3D_VIEWER_ROT_Z': 1, '3D_VIEWER_ZOOM': -1, 'BLENDER_SAMPLES': 20, 'BLENDER_ROT_X': 30, 'BLENDER_ROT_Y': 10, 'BLENDER_ROT_Z': 10, 'BLENDER_RESOLUTION_X': 1500, 'BLENDER_RESOLUTION_Y': 1500, 'BLENDER_TEXTURE_DPI': 1031.0, 'BLENDER_DIFFUSE_HEIGHT': 10.0, 'BLENDER_DIFFUSE_RADIUS': 6.0, 'OUTPUT_DIR': './', 'REPORT_DIR': 'reports', 'SCHEMATIC_DIR': 'schematic', 'MANUFACTURING_DIR': 'mfg', 'ASSEMBLY_DIR': '@MANUFACTURING_DIR@/assembly', 'FABRICATION_DIR': '@MANUFACTURING_DIR@/fab', 'GERBERS_DIR': '@FABRICATION_DIR@/gerbers', 'FAB_DRILL_TABLES_DIR': '@FABRICATION_DIR@/drill-tables', 'TESTING_DIR': 'test', 'TESTPOINTS_DIR': '@TESTING_DIR@/testpoints', 'RESOURCES_DIR': 'kibot', 'MODELS_DIR': 'models', 'NOTES_DIR': 'notes', 'RENDER_DIR': 'renders', 'REPORT_TEMPLATE_DIR': '@RESOURCES_DIR@/templates', 'SCRIPTS_DIR': '@RESOURCES_DIR@/scripts', 'PANELS_DIR': 'panels', 'PANEL_FAB_DIR': '@FABRICATION_DIR@/panels', 'JLCPCB_FAB_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_ASSY_DIR': '@MANUFACTURING_DIR@/jlcpcb', 'JLCPCB_GERBERS_DIR': '@MANUFACTURING_DIR@/jlcpcb/gerbers', 'LAYER_TITLE_PAGE': 'AssyTitlePage', 'LAYER_DNP_TOP': 'F.DNP', 'LAYER_DNP_BOTTOM': 'B.DNP', 'LAYER_DRILL_MAP': 'DrillMap', 'LAYER_TP_LIST_TOP': 'F.TestPointList', 'LAYER_TP_LIST_BOTTOM': 'B.TestPointList', 'LAYER_ASSEMBLY_TEXT_TOP': 'F.AssemblyText', 'LAYER_ASSEMBLY_TEXT_BOTTOM': 'B.AssemblyText', 'LAYER_DNP_CROSS_TOP': 'F.DNP', 'LAYER_DNP_CROSS_BOTTOM': 'B.DNP', 'FILT_FIELD_RENAME': 'field_rename', 'FILT_LCSC_PARTS': 'only_lcsc_parts', 'FILT_TP_ONLY': 'only_testpoints', 'FILT_TP_EXCLUDE': 'exclude_testpoints', 'FILT_TP_TOP_ONLY': 'only_testpoints_top', 'FILT_TP_BOTTOM_ONLY': 'only_testpoints_bottom', 'NETLIST_OUTPUT': 'netlist', 'PDF_SCHEMATIC_OUTPUT': 'pdf_schematic', 'PDF_FABRICATION_OUTPUT': 'pdf_fabrication', 'PDF_ASSEMBLY_OUTPUT': 'pdf_assembly', 'CSV_BOM_OUTPUT': 'csv_bom', 'HTML_IBOM_OUTPUT': 'html_bom_interactive', 'HTML_BOM_OUTPUT': 'html_bom', 'CSV_COMP_COUNT_OUPUT': 'csv_comp_count', 'CSV_IMPEDANCE_TABLE_OUTPUT': 'csv_impedance_table', 'GERBER_OUTPUT': 'gbr_gerbers', 'ODB_OUTPUT': 'zip_odb', 'EXCELLON_DRILL_OUTPUT': 'drl_excellon', 'PDF_DRILL_MAP_OUTPUT': 'pdf_drill_map', 'DXF_DRILL_MAP_OUTPUT': 'dxf_drill_map', 'CSV_DRILL_TABLE_OUTPUT': 'csv_drill_table', 'CSV_POS_OUTPUT': 'csv_position', 'CSV_TP_OUTPUT': 'csv_testpoints', 'CSV_TP_TOP_OUTPUT': 'csv_testpoints_top', 'CSV_TP_BOTTOM_OUTPUT': 'csv_testpoints_bottom', 'ZIP_COMPRESS_FAB_OUTPUT': 'zip_compress_fab', 'STEP_OUTPUT': 'step', 'GLB_OUTPUT': 'glb', 'PCBDRAW_2D_TOP_PCB_OUTPUT': 'pcbdraw_top', 'PCBDRAW_2D_BOT_PCB_OUTPUT': 'pcbdraw_bottom', 'PNG_3D_VIEWER_TOP': 'png_3d_viewer_top', 'PNG_3D_VIEWER_BOT': 'png_3d_viewer_bottom', 'PNG_3D_VIEWER_ANGLED_TOP': 'png_3d_viewer_angled_top', 'PNG_3D_VIEWER_ANGLED_BOT': 'png_3d_viewer_angled_bottom', 'BLENDER_3D_TOP': 'blender_3d_top', 'BLENDER_3D_BOT': 'blender_3d_bottom', 'BLENDER_3D_ANGLED_TOP': 'blender_3d_angled_top', 'BLENDER_3D_ANGLED_BOT': 'blender_3d_angled_bottom', 'TXT_SCH_NOTES_OUTPUT': 'txt_schematic_notes', 'TXT_FAB_NOTES_OUTPUT': 'txt_fabrication_notes', 'TXT_ASSY_NOTES_OUTPUT': 'txt_assembly_notes', 'HTML_KIRI_OUTPUT': 'html_kiri', 'HTML_NAV_RES_OUTPUT': 'html_navigate_results', 'JLCPCB_GERBER_OUTPUT': 'jlcpcb_gerbers', 'JLCPCB_FABPACK_OUTPUT': 'jlcpcb_fabpack', 'JLCPCB_BOM_OUTPUT': 'jlcpcb_bom', 'JLCPCB_CPL_OUTPUT': 'jlcpcb_cpl', 'RAYTRACING': False} (kibot - config_reader.py:677)
+DEBUG:- Replacing @NAME@ -> png_3d_viewer_angled_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @COMMENT@ -> Top (angled) 3D viewer PCB render in PNG format () (kibot - config_reader.py:78)
+DEBUG:- Replacing @DIR@ -> renders () (kibot - config_reader.py:78)
+DEBUG:- Replacing @SUFFIX@ -> angled_top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @VIEW@ -> top () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_X@ -> 2 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Y@ -> -1 () (kibot - config_reader.py:78)
+DEBUG:- Replacing @ROTATE_Z@ -> 1 (