Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
master
a4b7711
1mo ago
Astra reroutes Adonis's BQ25792 in Autodesk Fusion
This demo preserves the original hand-routed design, tours it in Fusion, removes its traces and vias from an isolated copy, and creates independently calculated replacement copper trace by trace. Codex Astra runs in Adom Hydrogen; Adom Bridge records the native Fusion canvas and its existing Adom activity palette. The palette receives live events from the container. No external router or original trace geometry is used by the planner.
Source: public wiki project adom/bq25792-charger, Adonis's Fusion v222, wiki commit 8e0f883e41cf327e9d33206be028c685a69cce40 (package 0.1.85). Original board SHA-256: f560054f4a71ad0f829261fd65ac665f87604b7d0fb9ccfcaddac648475bfb19. The source has 109 components, 50 nets, 304 pads, four copper layers, 587 routed segments, 88 vias and 38 pours on a 50.4 x 26.4 mm outline.
Measured result
The saved, natively created board has 612 segments, 60 vias, zero pours, zero airwires, zero warnings, and zero new native DRC errors. One placement clearance error existed before routing and remains: signature 5,1,f10227fd41e0ab5d, layer 1, position approximately (23.214006, 1.914) mm. Reopening the exported board reproduces its copper and connectivity counts.
The source's enabled Same-net track spacing rule requires 0.25 mm clearance between all same-net copper objects, including connected traces and pads. Diagnostic comparison copies disable only that rule; the original source remains untouched and every different-net clearance rule is preserved. With this common comparison profile, the original reference reports 7 errors / 14 warnings / 0 airwires; the empty input reports 1 error / 0 warnings / 196 airwires; the completed live board reports 1 error / 0 warnings / 0 airwires. The untouched reference tour displays its unmodified imported-rule baseline of 1611 errors / 14 warnings; that number is not the normalized comparison baseline.
This is geometric routing evidence, not production electrical qualification. Power copper, thermal behavior, switching loops, USB constraints and manufacturing suitability still require engineering review. There are no replacement power planes. Signal widths are generally 0.15 mm; selected power paths use 0.2–0.4 mm, with some narrow escapes. The bounded explicit planner is not a general-purpose autorouter.
Planning and native creation
geometry.py models fixed pads, transformed custom copper, keepouts, board edges and existing/generated obstacles from the stripped input. plan.py evaluates direct, bent and bounded A* paths, via escapes and multilayer detours. repair.py recomputes generated-copper connectivity; ripup_local.py supports local rerouting of generated candidates. The accepted plan is repair-09/candidate-plan.json, containing 608 segments and 60 vias across 196 connection batches.
replay_live.py applies 668 explicit primitives through fusion_run_modeling_script, using native LAYER, LINE 'NET' width (start) +0 (end) and VIA commands. +0 preserves the exact straight segment independently of the user's bend preference. It checks actual Electron editor identity, board ID and revision, reads copper back between chunks, recomputes RATSNEST and performs final native DRC. Fusion's legitimate splitting/merging produces 612 native segments from the 608 planned centerlines. Symmetric coverage comparison permits native 3.125 nm coordinate quantization while rejecting extra or displaced copper, wrong layers/nets/widths and incorrect vias.
rust/bridge/src/routing_script.py now guards editor identity, correctly maps native DRC severity constants, reports pour counts, and verifies native quantization-aware copper coverage. The development bridge is built as 1.10.0-dev.routing.5; 27 routing regression tests pass. The running Fusion application and development pin are preserved.
Video provenance
video/fusion-bq25792-astra-3x.mp4 is the main edit; the 1x companion retains normal-speed routing. Original-board tour and removal run at 1x. Routing action runs at the labeled speed, idle intervals are removed, and the last frame is held five seconds. Paths were calculated and validated before capture; the video shows real native creation and live status, not real-time planning duration.
Accepted captures, in edit order:
reference-tour-06: original overview, close-up, bottom and inner-layer views.strip-take-02: native RIPUP with all four layers visible, ending at zero segments and zero vias. The clean replay input additionally removes all old pours.live-take-02: empty input and primitives 0–66.live-take-03: primitives 66–342.live-take-06: primitives 342–502 re-recorded on an isolated copy initialized from the verified generated prefix. The original take-04 recording was corrupt and is excluded.live-take-05: primitives 502–668 and final native validation.
This is an edit of verified takes, not one uninterrupted recording. find_motion.py identifies canvas changes; render_demo.py retains frame ranges, synchronizes the two native captures from recorded start offsets, preserves image proportions, and burns explanatory ASS captions. Initial recording-call latency creates subsecond synchronization uncertainty. Edit manifests retain the exact sources, frame ranges, speed and timing. Raw captures and full logs stay local. Output validation includes full decode and sequential frame inspection.
Native exports are in native-routed/; the authoritative live result is live-take-05/final.json. Original reference files, experimental checkpoints, and failed takes are preserved locally for audit. Windows deliverables are under C:/Users/john/Documents/Adom Routing Demos/ and its BQ25792 subfolder.
Narrated edit
video/fusion-bq25792-astra-3x-narrated.mp4 adds AI-generated Andrew Neural narration through Adom TTS. Eight scene-aligned passages explain the reference, clean input, independent planning, native creation, comparison rules and measured result. The original video stream is copied without re-encoding. The speech is normalized in two passes toward -16 LUFS, with a -1.5 dBTP target, then encoded as 192 kbps AAC at 48 kHz. narration/script.json and narration/verification.json preserve wording, timings and measured output loudness. OpenAI speech credentials were not configured, so Cedar and Marin were not used.
# Astra reroutes Adonis's BQ25792 in Autodesk Fusion
This demo preserves the original hand-routed design, tours it in Fusion, removes its traces and vias from an isolated copy, and creates independently calculated replacement copper trace by trace. Codex Astra runs in Adom Hydrogen; Adom Bridge records the native Fusion canvas and its existing Adom activity palette. The palette receives live events from the container. No external router or original trace geometry is used by the planner.
Source: public wiki project `adom/bq25792-charger`, Adonis's Fusion v222, wiki commit `8e0f883e41cf327e9d33206be028c685a69cce40` (package 0.1.85). Original board SHA-256: `f560054f4a71ad0f829261fd65ac665f87604b7d0fb9ccfcaddac648475bfb19`. The source has 109 components, 50 nets, 304 pads, four copper layers, 587 routed segments, 88 vias and 38 pours on a 50.4 x 26.4 mm outline.
## Measured result
The saved, natively created board has **612 segments, 60 vias, zero pours, zero airwires, zero warnings, and zero new native DRC errors**. One placement clearance error existed before routing and remains: signature `5,1,f10227fd41e0ab5d`, layer 1, position approximately (23.214006, 1.914) mm. Reopening the exported board reproduces its copper and connectivity counts.
The source's enabled `Same-net track spacing` rule requires 0.25 mm clearance between all same-net copper objects, including connected traces and pads. Diagnostic comparison copies disable only that rule; the original source remains untouched and every different-net clearance rule is preserved. With this common comparison profile, the original reference reports 7 errors / 14 warnings / 0 airwires; the empty input reports 1 error / 0 warnings / 196 airwires; the completed live board reports 1 error / 0 warnings / 0 airwires. The untouched reference tour displays its unmodified imported-rule baseline of 1611 errors / 14 warnings; that number is not the normalized comparison baseline.
This is geometric routing evidence, not production electrical qualification. Power copper, thermal behavior, switching loops, USB constraints and manufacturing suitability still require engineering review. There are no replacement power planes. Signal widths are generally 0.15 mm; selected power paths use 0.2–0.4 mm, with some narrow escapes. The bounded explicit planner is not a general-purpose autorouter.
## Planning and native creation
`geometry.py` models fixed pads, transformed custom copper, keepouts, board edges and existing/generated obstacles from the stripped input. `plan.py` evaluates direct, bent and bounded A* paths, via escapes and multilayer detours. `repair.py` recomputes generated-copper connectivity; `ripup_local.py` supports local rerouting of generated candidates. The accepted plan is `repair-09/candidate-plan.json`, containing 608 segments and 60 vias across 196 connection batches.
`replay_live.py` applies 668 explicit primitives through `fusion_run_modeling_script`, using native `LAYER`, `LINE 'NET' width (start) +0 (end)` and `VIA` commands. `+0` preserves the exact straight segment independently of the user's bend preference. It checks actual Electron editor identity, board ID and revision, reads copper back between chunks, recomputes RATSNEST and performs final native DRC. Fusion's legitimate splitting/merging produces 612 native segments from the 608 planned centerlines. Symmetric coverage comparison permits native 3.125 nm coordinate quantization while rejecting extra or displaced copper, wrong layers/nets/widths and incorrect vias.
`rust/bridge/src/routing_script.py` now guards editor identity, correctly maps native DRC severity constants, reports pour counts, and verifies native quantization-aware copper coverage. The development bridge is built as `1.10.0-dev.routing.5`; 27 routing regression tests pass. The running Fusion application and development pin are preserved.
## Video provenance
`video/fusion-bq25792-astra-3x.mp4` is the main edit; the `1x` companion retains normal-speed routing. Original-board tour and removal run at 1x. Routing action runs at the labeled speed, idle intervals are removed, and the last frame is held five seconds. Paths were calculated and validated before capture; the video shows real native creation and live status, not real-time planning duration.
Accepted captures, in edit order:
- `reference-tour-06`: original overview, close-up, bottom and inner-layer views.
- `strip-take-02`: native RIPUP with all four layers visible, ending at zero segments and zero vias. The clean replay input additionally removes all old pours.
- `live-take-02`: empty input and primitives 0–66.
- `live-take-03`: primitives 66–342.
- `live-take-06`: primitives 342–502 re-recorded on an isolated copy initialized from the verified generated prefix. The original take-04 recording was corrupt and is excluded.
- `live-take-05`: primitives 502–668 and final native validation.
This is an edit of verified takes, not one uninterrupted recording. `find_motion.py` identifies canvas changes; `render_demo.py` retains frame ranges, synchronizes the two native captures from recorded start offsets, preserves image proportions, and burns explanatory ASS captions. Initial recording-call latency creates subsecond synchronization uncertainty. Edit manifests retain the exact sources, frame ranges, speed and timing. Raw captures and full logs stay local. Output validation includes full decode and sequential frame inspection.
Native exports are in `native-routed/`; the authoritative live result is `live-take-05/final.json`. Original reference files, experimental checkpoints, and failed takes are preserved locally for audit. Windows deliverables are under `C:/Users/john/Documents/Adom Routing Demos/` and its `BQ25792` subfolder.
## Narrated edit
`video/fusion-bq25792-astra-3x-narrated.mp4` adds AI-generated Andrew Neural narration through Adom TTS. Eight scene-aligned passages explain the reference, clean input, independent planning, native creation, comparison rules and measured result. The original video stream is copied without re-encoding. The speech is normalized in two passes toward -16 LUFS, with a -1.5 dBTP target, then encoded as 192 kbps AAC at 48 kHz. `narration/script.json` and `narration/verification.json` preserve wording, timings and measured output loudness. OpenAI speech credentials were not configured, so Cedar and Marin were not used.