0
mirror of https://github.com/bbenchoff/OrthoRoute.git synced 2026-07-24 02:21:29 +00:00
Files
OrthoRoute/.gitignore
Brian Benchoff edd0713973 Add synthetic backplane generator and routing metrics harness
benchmarks/synthetic_boards.py: parameterized make_backplane(connectors,
pins_per, layers, pattern) building domain Boards shaped like the real
target hardware. Patterns: random pairs (matches the real backplane's
~2 pads/net), straight-across neighbor pairs, and multi-pad bus nets.
Scales from 4-net CPU test boards toward the 16x1100 monster.

benchmarks/metrics.py: collect_route_metrics(pf, board, timings) ->
stable JSON dict: per-layer copper usage, layers_used, wirelength, via
count, completion/excluded nets, iterations, overuse, phase timings,
git sha. 'How many layers does this board actually need' is now a
measured number instead of a guess.

benchmarks/run_benchmark.py: CLI runner, CPU-only, writes JSON to
benchmarks/results/ (gitignored) and prints a one-line summary.

Baseline finding worth recording: the engine does not converge even
trivial multi-net boards on CPU today - 8 straight-across nets on 4
layers end at overuse=199 after 250 iterations with ~23 vias/net of
thrash, and random-pairs boards only 'converge' by excluding nets.
Tests pin harness correctness, not routing quality; tightening them is
the scoreboard for the negotiation/punch-in work.
2026-07-22 16:01:11 -07:00

192 lines
2.7 KiB
Plaintext

# Claude Code
.claude/
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# Temporary and test files
test_*.py
debug_*.py
*_test.py
*_summary.py
*_improvements.py
*_analysis.py
validate_*.py
demo_*.py
comprehensive_*.py
routing_quality_*.py
enhanced_*.py
final_*.py
immediate_*.py
simplified_*.py
gpu_parallelization.py
.claude
.claude/
.claude/*
.vscode
.vscode/
.vscode/*
# Log files and temporary data
*.log
orthoroute.log
*.tmp
*.temp
tests/
tests/*
logs/
logs/*
checkpoints/
checkpoints/*
# Status and summary documents (keep in docs/)
*_SUMMARY.md
*_STATUS.md
BUILD_LOG.md
CLEANUP_SUMMARY.md
DRC_EXTRACTION_SUMMARY.md
PROJECT_CONSOLIDATION_SUMMARY.md
PROJECT_STATUS.md
PERFORMANCE_OPTIMIZATION_SUMMARY.md
GPU_AUTOROUTER_STATUS.md
# Development and testing temporary files
development/testing/comprehensive_test_results.json
development/testing/headless_test_results.json
development/testing/simple_kicad_test.py
development/testing/test_pcbnew_import.py
development/testing/test_orthoroute_imports.py
# Virtual Environment
.env
.venv
env/
venv/
ENV/
.env.bak/
.venv.bak/
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# IDE - PyCharm
.idea/
*.iml
*.iws
.idea_modules/
# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/
# Project specific
# Archive directory for old development files
archive/
# Large test board files
tests/benchmark_boards/*.json
tests/benchmark_boards/*.kicad_pcb
# Debug and temporary files
*debug*.txt
*debug*.log
orthoroute_*.py
crash_*.py
test_*.py
simple_*.py
standalone_*.py
quick_*.py
*temp*.py
# Debug output directory
debug_output/
# Video generation outputs
viz/frames/
viz/iteration_frames/
viz/*.mp4
# GPU profiling outputs
*.nvvp
*.nsys-rep
*.qdrep
*.sqlite
# Generated documentation
docs/_build/
docs/api/
.github/
# Log files
*.log
debug.log*
gpu_debug.log*
# KiCad backup files
*.kicad_pcb-bak
*.sch-bak
*-backups/
_autosave*
*-cache.lib
# System files
.DS_Store
Thumbs.db
# Additional test and experiment outputs
test_*.txt
exp_*.txt
*_test.txt
*_output.txt
iteration_*.txt
iteration_*.md
# Temporary documentation from sessions
*_ANALYSIS.md
*_REPORT.md
*_PLAN.md
# Additional log files
orthoroute.log.*
orthoroute_debug.log
orthoroute_debug.log.*
# The tracked pytest suite lives in tests/. The rules above (test_*.py,
# tests/, tests/*) would otherwise ignore it, so re-include every .py under
# tests/ (test modules AND conftest.py, which holds the shared fixtures).
!tests/
!tests/*.py
# Benchmark outputs
benchmarks/results/