pub(super) const DEFAULT_MANIFEST: &str = r#"# Fusible project manifest
# Docs: https://github.com/KonoLabs/Fusible
name: sensor-node
# Circuit boards, by name. Commands take a board name as their target.
boards:
main:
# Board entry point (.tsx or circuit.json)
entry: hardware/index.tsx
# Output directory for board artifacts
out_dir: dist
# Dev server port for interactive previewer
port: 3020
# Target silicon identifier (e.g., stm32g431, esp32-s3, rp2040)
mcu: stm32g431
# Firmware crates, by name. Each one runs on one board.
firmware:
app:
# Board this firmware runs on (optional with a single board)
board: main
# Directory containing firmware crate or code
path: firmware
# Firmware framework: embassy | cortex-m | esp-idf
framework: embassy
# Destination for auto-generated pin bindings
pins_rs: firmware/src/pins.rs
# Optional command to build firmware
build_cmd: cargo build
# Physical bodies, by name: authored in any CAD tool, or generated by Fusible.
# bodies:
# case:
# source: bodies/case.step # authored file; Fusible reads it, never overwrites it
# build: python bodies/case.py # optional: command that produces `source`
# enclosure:
# generate: enclosure # Fusible owns this body and regenerates it
# board: main # board it belongs to (optional with a single board)
# format: step # step | stl | glb | brep | all
# out_dir: dist/bodies
# wall_thickness: 2.0
# height: 20.0 # derived from the board stack when omitted
# cutouts: true # notch walls where components reach the board edge
# ventilation: none # none | grid | slots
# mounting: true # screw bosses under each pcb_hole
"#;