Skip to content

About

Learning egui, a Rust immediate mode UI library

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Learn Rust & egui — Schematic and PCB Design Review System

Interactive engineering course for learning Rust and egui by building a 2D CAD Schematic and PCB Design Review System, verified continuously with unit tests (cargo test) and mutation testing (cargo-mutants).

Live Course on GitHub Pages

Foundation: Project Setup & Immediate-Mode Core (0001–0002)

Act I: The 2D CAD Canvas & Viewport (0003–0006)

Act II: Schematic Views, Layout & egui_kittest (0007–0010)

Act III: Design Review Workflows (0011–0014)

Act IV: Engine-First Architecture & Persistence (0015–0018)

Act V: Command Engine, Performance & Polish (0019–0022)

Act VI: Real-World KiCad Parsing (nom) & Embedded SQL (Turso) (0023–0026)

Act VII: Agentic Hardware Review & Model Context Protocol (rmcp) (0027–0030)

Reference & Cheat Sheets

Running the Companion Rust Applications

Each lesson has a runnable companion Cargo crate in ./apps/<NNNN-lesson-slug>/:

# Run Lesson 0006's interactive PCB Reviewer desktop app
cargo run --manifest-path ./apps/0006-hit-testing-and-net-cross-probing/Cargo.toml

# Run unit tests and mutation testing
cargo test --manifest-path ./apps/0006-hit-testing-and-net-cross-probing/Cargo.toml
cargo mutants -d ./apps/0006-hit-testing-and-net-cross-probing

Building the Course Pages from Markdown (build.py)

All course pages (index.md, lessons/*.md, and reference/*.md) are authored in Markdown and compiled to standalone HTML via build.py:

# Compile all Markdown pages in-place and run link, frontmatter, and equal-word-count quiz checks
.venv/bin/python build.py --check

# Or build a standalone bundle into _site/ (used by GitHub Pages CI)
.venv/bin/python build.py --out-dir _site --check

License

Licensed under the Apache License, Version 2.0.

Disclaimer

This is not an official Google product.

About

Learning egui, a Rust immediate mode UI library

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages