skill
EDA Bridge Standard: one way for an AI to drive every PCB tool
Public Made by Adomby adom
The standard every Adom EDA bridge follows so one AI can drive Altium, KiCad, Fusion 360 and any future PCB tool the same way: shared verb names in tiers, the board model JSON, reply and refusal conventions, and a coverage table of each bridge against the Altium reference.
← Commit history
fusion-lane: reference fusion360-1.13.33 (panel, export_3d, import_step with the board, tool_update exact; edit_pours thermals/rank/orphans; selection's live checks)
2 files changed
+367−23
reference/fusion360-1.13.33.jsonadded+364@@ -0,0 +1,364 @@+{+ "bridge": "fusion360",+ "version": "1.13.33",+ "verbs": [+ "fusion_account",+ "fusion_action_ledger",+ "fusion_activate_document",+ "fusion_add_models",+ "fusion_add_rule",+ "fusion_add_symbol_art",+ "fusion_addin_status",+ "fusion_alerts",+ "fusion_align_parts",+ "fusion_annotate",+ "fusion_apply_fusion_update",+ "fusion_apply_pours",+ "fusion_apply_silkscreen",+ "fusion_aps_browse",+ "fusion_aps_create_folder",+ "fusion_aps_download",+ "fusion_aps_file_info",+ "fusion_aps_forget_browser",+ "fusion_aps_get",+ "fusion_aps_get_browser",+ "fusion_aps_open",+ "fusion_aps_recent",+ "fusion_aps_search",+ "fusion_aps_set_browser",+ "fusion_aps_set_client_id",+ "fusion_aps_signin",+ "fusion_aps_status",+ "fusion_aps_upload",+ "fusion_aps_versions",+ "fusion_assembly_bom",+ "fusion_assembly_check",+ "fusion_attach_3d_package",+ "fusion_auto_classes",+ "fusion_autoroute",+ "fusion_bind_library_3d",+ "fusion_board_bom",+ "fusion_board_features",+ "fusion_board_info",+ "fusion_board_outline",+ "fusion_board_report",+ "fusion_board_seed",+ "fusion_board_shape",+ "fusion_board_source",+ "fusion_board_stackup",+ "fusion_board_summary",+ "fusion_bodies",+ "fusion_build_board",+ "fusion_build_library_3d",+ "fusion_cancel_run",+ "fusion_capture_library_views",+ "fusion_change_pours",+ "fusion_check_clearance",+ "fusion_check_dialogs",+ "fusion_check_orientation",+ "fusion_check_recovery",+ "fusion_claim_seat",+ "fusion_cleanup_cloud_files",+ "fusion_cleanup_libs",+ "fusion_clone_symbol",+ "fusion_close_all_documents",+ "fusion_close_document",+ "fusion_close_window",+ "fusion_component_data",+ "fusion_component_pins",+ "fusion_copper_balance",+ "fusion_copper_layers",+ "fusion_copy_footprint",+ "fusion_copy_routing",+ "fusion_create_cloud_folder",+ "fusion_create_footprint",+ "fusion_create_library",+ "fusion_create_symbol",+ "fusion_cross_check",+ "fusion_cross_probe",+ "fusion_current_capacity",+ "fusion_delete_cloud_file",+ "fusion_demo",+ "fusion_demo_progress",+ "fusion_describe",+ "fusion_detect_layers",+ "fusion_diagnostics",+ "fusion_dialog_log",+ "fusion_diff_pairs",+ "fusion_dismiss_blocking_dialogs",+ "fusion_dismiss_dialogs",+ "fusion_doc_params",+ "fusion_document_info",+ "fusion_eagle_import_status",+ "fusion_edit_footprint",+ "fusion_edit_parts",+ "fusion_edit_pours",+ "fusion_electron_pan",+ "fusion_electron_run",+ "fusion_electron_select",+ "fusion_electron_zoom",+ "fusion_electronics_query",+ "fusion_estimate_cost",+ "fusion_execute_text_command",+ "fusion_export_3d",+ "fusion_export_3mf",+ "fusion_export_board_image",+ "fusion_export_bom",+ "fusion_export_cloud_file",+ "fusion_export_cpl",+ "fusion_export_dwg",+ "fusion_export_dxf",+ "fusion_export_eagle_source",+ "fusion_export_f3d",+ "fusion_export_fbx",+ "fusion_export_gencad",+ "fusion_export_gerber",+ "fusion_export_gerbers",+ "fusion_export_iges",+ "fusion_export_ipc2581",+ "fusion_export_ipc356",+ "fusion_export_lbr",+ "fusion_export_library_part",+ "fusion_export_obj",+ "fusion_export_odb",+ "fusion_export_optimized_glb",+ "fusion_export_pdf",+ "fusion_export_sat",+ "fusion_export_skp",+ "fusion_export_source",+ "fusion_export_spice",+ "fusion_export_step",+ "fusion_export_stl",+ "fusion_export_usdz",+ "fusion_fab_check",+ "fusion_fetch_optimized_glb",+ "fusion_find_space",+ "fusion_find_symbol",+ "fusion_footprint_from_land_pattern",+ "fusion_footprint_primitives",+ "fusion_foreground",+ "fusion_generate_body",+ "fusion_generate_package",+ "fusion_get_app_state",+ "fusion_get_design_info",+ "fusion_get_parameters",+ "fusion_get_preferences",+ "fusion_height_check",+ "fusion_impedance",+ "fusion_import_electronics",+ "fusion_import_part",+ "fusion_import_step",+ "fusion_import_svg",+ "fusion_inspect_bodies",+ "fusion_install",+ "fusion_install_fusion",+ "fusion_install_library_bundle",+ "fusion_instances",+ "fusion_interactive",+ "fusion_jlcpcb_order",+ "fusion_kill",+ "fusion_launch",+ "fusion_layer_stack",+ "fusion_layers",+ "fusion_layers_in_use",+ "fusion_length_tune",+ "fusion_library_manager",+ "fusion_library_parts",+ "fusion_library_views",+ "fusion_license_status",+ "fusion_lint_library",+ "fusion_list_cloud_files",+ "fusion_list_cloud_projects",+ "fusion_list_commands",+ "fusion_list_designators",+ "fusion_list_installed_libraries",+ "fusion_list_nets",+ "fusion_list_text_commands",+ "fusion_live_feed",+ "fusion_log_tail",+ "fusion_make_3d_package",+ "fusion_make_showcase_project",+ "fusion_make_test_project",+ "fusion_managed_library_create",+ "fusion_managed_library_link",+ "fusion_managed_library_pull",+ "fusion_managed_library_push",+ "fusion_managed_library_unlink",+ "fusion_mcp_call",+ "fusion_mcp_enable",+ "fusion_mcp_resources",+ "fusion_mcp_status",+ "fusion_mcp_tools",+ "fusion_mech_capabilities",+ "fusion_mech_operation_status",+ "fusion_mechanical",+ "fusion_move_parts",+ "fusion_narrate",+ "fusion_net_classes",+ "fusion_net_connections",+ "fusion_net_lengths",+ "fusion_netlist",+ "fusion_new_electronics_from_eagle",+ "fusion_not_supported",+ "fusion_notify_owner",+ "fusion_open_board",+ "fusion_open_by_urn",+ "fusion_open_by_urn_note",+ "fusion_open_cloud_file",+ "fusion_open_design",+ "fusion_open_document",+ "fusion_open_electronics",+ "fusion_open_lbr",+ "fusion_open_schematic",+ "fusion_panel",+ "fusion_panelize",+ "fusion_part_parameters",+ "fusion_physical_properties",+ "fusion_pin_pad_check",+ "fusion_place_decoupling",+ "fusion_place_vias",+ "fusion_placement_check",+ "fusion_plan_fanout",+ "fusion_plan_library_import",+ "fusion_plan_route",+ "fusion_plate_vias",+ "fusion_pour_state",+ "fusion_preflight_lbr",+ "fusion_prefs_close",+ "fusion_prefs_open",+ "fusion_prewarm",+ "fusion_progress",+ "fusion_project_create",+ "fusion_project_info",+ "fusion_project_rename",+ "fusion_project_snapshot",+ "fusion_prove_result",+ "fusion_read_board",+ "fusion_read_footprint",+ "fusion_read_rules",+ "fusion_read_sheet_file",+ "fusion_read_symbol",+ "fusion_readiness",+ "fusion_release_seat",+ "fusion_remove_footprint",+ "fusion_remove_graphics",+ "fusion_remove_items",+ "fusion_remove_parts",+ "fusion_remove_pours",+ "fusion_remove_symbol",+ "fusion_rename_footprint",+ "fusion_rename_symbol",+ "fusion_render_board_3d",+ "fusion_render_schematic",+ "fusion_replicate_layout",+ "fusion_repour",+ "fusion_reset_workspace",+ "fusion_resolve_seat_dialog",+ "fusion_restart_for_addin",+ "fusion_return_path",+ "fusion_review_board",+ "fusion_ripup_nets",+ "fusion_route_net",+ "fusion_route_pair",+ "fusion_routing_drc",+ "fusion_routing_state",+ "fusion_rules_by_kind",+ "fusion_run_command",+ "fusion_run_drc",+ "fusion_run_erc",+ "fusion_run_modeling_script",+ "fusion_run_script",+ "fusion_save",+ "fusion_save_document",+ "fusion_save_to_cloud",+ "fusion_sch_batch",+ "fusion_sch_bus",+ "fusion_sch_bus_entry",+ "fusion_sch_connect",+ "fusion_sch_connect_pins",+ "fusion_sch_connect_to_bus",+ "fusion_sch_create",+ "fusion_sch_delete_wire",+ "fusion_sch_edit",+ "fusion_sch_edit_label",+ "fusion_sch_fix_connectivity",+ "fusion_sch_hierarchy",+ "fusion_sch_items",+ "fusion_sch_junction",+ "fusion_sch_move_region",+ "fusion_sch_page",+ "fusion_sch_pins",+ "fusion_sch_place_part",+ "fusion_sch_reset_fields",+ "fusion_sch_sheet_pins",+ "fusion_sch_split_wire",+ "fusion_sch_swap_part",+ "fusion_sch_text",+ "fusion_sch_trace_point",+ "fusion_sch_update_from_library",+ "fusion_sch_update_from_library",+ "fusion_sch_zoom",+ "fusion_schematic",+ "fusion_schematic_data",+ "fusion_schematic_plan",+ "fusion_schematic_review",+ "fusion_schematic_run",+ "fusion_screenshot_fusion",+ "fusion_search_cloud_files",+ "fusion_select_net",+ "fusion_set_auto_update",+ "fusion_set_design_rules",+ "fusion_set_driving_badge",+ "fusion_set_layer_count",+ "fusion_set_layer_visibility",+ "fusion_set_models",+ "fusion_set_outline",+ "fusion_set_parameter",+ "fusion_set_params",+ "fusion_set_preference",+ "fusion_set_seat_takeover",+ "fusion_set_track_width",+ "fusion_set_visibility",+ "fusion_set_window_sizing",+ "fusion_sheet_params",+ "fusion_show_2d_board",+ "fusion_show_3d_board",+ "fusion_show_3d_chip",+ "fusion_show_3d_package",+ "fusion_show_attributes",+ "fusion_show_footprint",+ "fusion_show_library",+ "fusion_show_project",+ "fusion_show_schematic",+ "fusion_show_symbol",+ "fusion_signin",+ "fusion_signin_2fa",+ "fusion_signin_status",+ "fusion_silk_designators",+ "fusion_silk_state",+ "fusion_silkscreen_prep",+ "fusion_simulate",+ "fusion_start",+ "fusion_state",+ "fusion_status",+ "fusion_stop",+ "fusion_swap_footprint",+ "fusion_symbol_prims",+ "fusion_take_screenshot",+ "fusion_teardrops",+ "fusion_test_board",+ "fusion_thermal_vias",+ "fusion_tool_update",+ "fusion_uninstall",+ "fusion_update_board_from_eagle",+ "fusion_update_footprints_from_library",+ "fusion_variants",+ "fusion_verb_times",+ "fusion_via_fence",+ "fusion_view",+ "fusion_walk_cloud_tree",+ "fusion_web_signin",+ "fusion_xcopy_footprint",+ "fusion_zoom_to"+ ]+}
tools/equivalents/fusion360.json+3−23@@ -470,15 +470,10 @@ "partial", "designators moved off copper where they fit (silk_designators), counted before and after; silk outside the board listed, not deleted; a footprint's own silk lines are library graphics in EAGLE and are clipped at mask openings by the fab's CAM, not on the board" ],- "panel": [- "fusion_not_supported",- "unsupported",- "Altium's docked panel tabs; Fusion's editors show their own panels, and the bridge opens a surface (library, symbol, footprint, board, schematic, 3D) with fusion_show_* in the background"- ], "selection": [ "fusion_not_supported", "unsupported",- "Fusion does not show the user's board selection to the bridge: a ULP's ingroup() reads no part even right after a GROUP (checked live on Fusion 2706, 2026-10-30). Name the parts instead; fusion_electron_select shows one to the user"+ "Fusion does not show the user's board selection to the bridge, checked live on Fusion 2706 (2026-10-30) three ways: a ULP's ingroup() reads no part right after a GROUP, ui.activeSelections reads 0 right after a SELECT, and the electron Board's selectionSets raises InternalValidationError" ], "diagnostics": [ "fusion_diagnostics",@@ -550,29 +545,14 @@ "partial", "the Component Placement List CSV in mm, side all, top or bottom; JLCPCB's own CPL columns come from fusion_jlcpcb_order (cpl-jlcpcb.csv). No ascii or gerber format, inch units, smdOnly or excludeDnp filter" ],- "export_3d": [- "fusion_export_cloud_file",- "partial",- "the board's 3D PCB design in stl, iges, sat or f3d (obj, 3mf, fbx and usdz through fusion_export_obj, fusion_export_3mf, fusion_export_fbx, fusion_export_usdz; a web glb through fusion_export_optimized_glb); vrml and ply are not offered"- ], "import_design": [ "fusion_new_electronics_from_eagle", "partial", "format eagle only: an EAGLE .sch and its .brd into a new Fusion electronics design with the parts instantiated (Fusion's own import, run in the background)" ], "edit_pours": [- "fusion_change_pours",- "partial",- "each pour's minimum width (EAGLE's pen width) and clearance (isolate), refilled and read back; thermals, rank and net are not changed yet"- ],- "tool_update": [- "fusion_apply_fusion_update",- "partial",- "apply takes the update Fusion offers in the background when auto-update is on; auto through fusion_set_auto_update; check is read from Fusion's own update offer"- ],- "import_step": [- "fusion_import_step",+ "fusion_edit_pours", "partial",- "the STEP opens as a NEW Fusion design; it is not yet placed with the board's 3D PCB"+ "minimum width, clearance, thermals, rank and orphans, refilled and read back (net and layer name a pour when it is the only one there); a pour's net cannot be moved in place (a polygon belongs to its signal)" ] }