Files
TerminalBasic/openspec/changes/archive/2026-09-07-phase-5-08-integration-und-phasenabnahme/befehlsmatrix.md

13 KiB
Raw Blame History

Phase 5: ausführbare Befehlsmatrix

Die ersten drei Spalten übernehmen alle 45 Zeilen der ursprünglichen Phase-5-Übersicht. Zuständigkeiten 0107 bezeichnen die archivierten Featurechanges, 08 die Integration. Alle hier genannten Rust-Tests laufen mit cargo test --workspace. reference_matrix_is_complete_and_points_to_runnable_tests prüft Vollständigkeit, Zuordnung und vorhandene Testfunktionen auch nach Archivierung dieses Changes.

Der gemeinsame App-Nachweis every_menu_command_has_native_keyboard_and_mouse_routing speist für jeden Menüeintrag in Environment und Designer sowohl Alt/Mnemonic/Pfeile/Enter als auch gerenderte Maus-Hitbereiche ein. Verfügbarkeitsdiagnosen sind dort erlaubt; den tatsächlichen Facheffekt im zulässigen Kontext belegen die folgenden Fachtests. function_keys_conflict_contexts_and_errors_keep_a_single_input_owner und der Hauptablauf prüfen zusätzlich die kontextabhängigen Funktionstasten ohne doppelte BASIC-Zustellung. Kein interner Befehlsaufruf allein wird als Nachweis des nativen Eingaberoutings gewertet. File-Shell und BASIC-Shell werden zusätzlich durch python3 tests/support/ide-execution-pty.py im echten lokalen PTY geprüft. Die Emulator-/OS-Matrix bleibt Phase 6.

Referenzbereich Befehle / Bedienung Zuständig Ausführbare Verhaltensnachweise
File New Project, Open Project, Save Project 01, 02 crates/tb-cli/src/ide_acceptance.rs::create_save_debug_help_exports_and_reopen
File New Form, New Module, Add File, Remove File 01, 02 crates/tb-ide/tests/app.rs::file_picker_save_conflict_and_project_replacement_use_real_events; crates/tb-ide/tests/documents.rs::startup_removal_requires_explicit_replacement_and_never_deletes_a_file
File Save File, Save File As, Load Text, Save Text 01; Textbearbeitung 03 crates/tb-ide/tests/app.rs::file_picker_save_conflict_and_project_replacement_use_real_events; crates/tb-ide/tests/documents.rs::shared_views_text_import_and_undo_are_document_transactions; crates/tb-cli/src/ide_acceptance.rs::create_save_debug_help_exports_and_reopen
File Print 04 crates/tb-ide/tests/execution.rs::print_uses_utf8_protected_output_and_does_not_mutate_source
File Shell 04 crates/tb-ide/tests/execution.rs::shell_request_is_resumed_once_and_error_is_basic_error
File Exit / Alt+F4 02; Dokumententscheidungen 01, Sitzungsende 04 crates/tb-ide/tests/app.rs::exit_with_partial_save_retains_dialog_and_unsaved_documents
Edit Undo/Ctrl+Z, Cut/Ctrl+X, Copy/Ctrl+C, Paste/Ctrl+V, Clear/Del Text 03, Controls 05 crates/tb-ide/tests/editor.rs::cua_unicode_overwrite_wordstar_and_shared_undo; crates/tb-ide/tests/designer.rs::clipboard_children_arrays_and_delete_preserve_code
Edit New Sub, New Function 03 crates/tb-ide/tests/editor.rs::procedures_and_shared_save_hook_preserve_drafts_and_frm_code
Edit Event Procedures / F12 05, Codeoperationen 03 crates/tb-ide/tests/designer.rs::event_array_signature_twice_and_shared_form_identity; crates/tb-cli/src/ide_acceptance.rs::create_save_debug_help_exports_and_reopen
View Code / F2, Form / Shift+F12 02, 03, 05 crates/tb-cli/src/ide_acceptance.rs::function_keys_conflict_contexts_and_errors_keep_a_single_input_owner; crates/tb-ide/tests/designer.rs::event_array_signature_twice_and_shared_form_identity
View Next Statement 06 crates/tb-ide/tests/debugger.rs::calls_procedure_step_cursor_history_and_restart
View Output Screen / F4 04 crates/tb-ide/tests/execution.rs::output_viewports_resize_and_end_preserve_buffer_and_basic_colors
View Included File, Included Lines 03 crates/tb-ide/tests/editor.rs::includes_and_diagnostic_selection_use_original_physical_files
View (Designer) Menu Bar / F10, Grid Lines 05 auf 02 crates/tb-ide/tests/designer.rs::property_bar_types_readonly_and_no_status_line; crates/tb-ide/tests/designer.rs::toolbox_double_click_tool_drag_grid_and_window_form_selection
Search Find, Selected Text/Ctrl+Backslash, Repeat Last Find/F3, Change 03 crates/tb-ide/tests/editor.rs::search_scope_direction_wrap_and_shortening_replace_all
Run Start/Shift+F5, Restart, Continue/F5, Modify COMMAND$ 04 crates/tb-ide/tests/execution.rs::restart_command_run_targets_and_missing_target_preserve_documents; crates/tb-cli/src/ide_acceptance.rs::saved_project_ide_source_cli_and_tbc_have_identical_sessions
Run Unterbrechen / Ctrl+Break 04; zusätzlicher zugänglicher IDE-Befehl crates/tb-ide/tests/execution.rs::f5_input_pause_copy_and_single_delivery_keep_the_same_vm
Run Set Start-up File Persistenz 01, Ausführungswirkung 04 crates/tb-ide/tests/execution.rs::startup_selection_matches_shared_cli_pipeline_and_legacy_mak
Run Make EXE File, Make Library Vollständige UI 02, UI-Abnahme 08; native Erzeugung und reale Backend-Anbindung Phase 6 crates/tb-ide/tests/app.rs::export_dialogs_validate_and_render_all_results_without_creating_files; crates/tb-cli/src/ide_acceptance.rs::create_save_debug_help_exports_and_reopen
Debug Add Watch, Instant Watch/Shift+F9, Watchpoint, Delete Watch, Delete All Watch 06 crates/tb-ide/tests/debugger.rs::dispatcher_marks_edits_rebind_and_readonly_watches; crates/tb-ide/tests/debugger.rs::immediate_wait_run_transition_watchpoint_and_trace_are_session_owned; crates/tb-ide/tests/debugger.rs::calls_mouse_inspection_instant_key_delete_and_error_window
Debug Trace On, History On, Shift+F8/Shift+F10 06 crates/tb-ide/tests/debugger.rs::calls_procedure_step_cursor_history_and_restart; crates/tb-ide/tests/debugger.rs::immediate_wait_run_transition_watchpoint_and_trace_are_session_owned
Debug Toggle Breakpoint/F9, Clear All Breakpoints, Break on Errors, Set Next Statement 06 crates/tb-ide/tests/debugger.rs::dispatcher_marks_edits_rebind_and_readonly_watches; crates/tb-vm/tests/debugger.rs::immediate_handler_resume_and_break_on_errors; crates/tb-vm/tests/debugger.rs::set_next_rejects_loop_gosub_handler_and_pending_operations_atomically
Debug-Tasten F7 bis Cursor, F8 Single Step, F10 Procedure Step 06 crates/tb-ide/tests/debugger.rs::calls_procedure_step_cursor_history_and_restart; crates/tb-vm/tests/debugger.rs::gosub_step_over_breakpoint_priority_and_temporary_target_cleanup
Options Display, Set Paths, Right Mouse, Save, Syntax Checking 02; Wirkung in 01/03/07 crates/tb-ide/tests/app.rs::options_apply_persist_across_bases_and_preserve_unsaved_values_on_error; crates/tb-ide/tests/editor.rs::line_leave_incomplete_invalid_disabled_and_current_revisions; crates/tb-ide/tests/help.rs::right_click_configuration_and_external_link_follow
Window New Window, Arrange All, offene Codefensterliste 02 crates/tb-ide/tests/app.rs::windows_restore_geometry_and_resize_without_document_loss
Window Calls, Debug, Immediate Fenster 02, Inhalt 06 crates/tb-ide/tests/debugger.rs::calls_mouse_inspection_instant_key_delete_and_error_window; crates/tb-ide/tests/debugger.rs::immediate_wait_run_transition_watchpoint_and_trace_are_session_owned
Window Help, Output, Project Fenster 02, Inhalt 07/04/01 crates/tb-ide/tests/app.rs::status_and_project_buttons_use_the_keyboard_command_path; crates/tb-ide/tests/execution.rs::output_viewports_resize_and_end_preserve_buffer_and_basic_colors; crates/tb-ide/tests/help.rs::links_history_resize_scroll_and_focus_use_real_events
Window (Designer) Color Palette, Menu Design Window, Toolbox, Help, Formliste 05, Hilfe 07 crates/tb-ide/tests/designer.rs::toolbox_double_click_tool_drag_grid_and_window_form_selection; crates/tb-ide/tests/designer.rs::property_menu_buttons_palette_drag_and_modal_mouse_are_connected; crates/tb-ide/tests/help.rs::help_preserves_fullscreen_and_does_not_modify_designer_or_source
Help Index, Contents, Keyboard, Topic/F1, Using Help/Shift+F1, Tutorial, About 07 crates/tb-ide/tests/help.rs::twenty_back_steps_end_of_contents_and_all_entries
Menüs Alt/F11, Mnemonic, Esc, Dialogkennzeichnung „…“, Help rechts 02 crates/tb-ide/tests/app.rs::start_snapshot_and_reference_menus_have_all_commands; crates/tb-cli/src/ide_acceptance.rs::every_menu_command_has_native_keyboard_and_mouse_routing
Fenster F6/Ctrl+F6, Shift+F6, Ctrl+F4, Ctrl+F7/F8/F9/F10/F5, Alt+Minus 02 crates/tb-ide/tests/app.rs::windows_restore_geometry_and_resize_without_document_loss
Projektfenster Anfangs rechts, Form/Code-Buttons, Enter 02 auf 01 crates/tb-ide/tests/app.rs::status_and_project_buttons_use_the_keyboard_command_path; crates/tb-ide/tests/app.rs::clicking_project_members_and_dialog_choices_transfers_focus_and_applies_values
Toolbox/Tools Check Box, Combo Box, Command Button, Dir List, Drive List, File List, Frame, HScrollBar, Label, List Box, Option Button, Picture Box, Text Box, Timer, VScrollBar; zusätzlich bereits unterstützte Spinvarianten 05 crates/tb-ide/tests/designer.rs::all_metadata_tools_persist_and_preview_matches_runtime_without_events
Designgesten Toolbox-Doppelklick, Aufziehen, Drag, Sizing Handles, Pfeile, Ctrl+Pfeile, Shift+Pfeile, Tab/Shift+Tab, Ctrl+Klick 05 crates/tb-ide/tests/designer.rs::container_multiselect_keyboard_drag_resize_and_undo; crates/tb-ide/tests/designer.rs::all_eight_handles_resize_transactionally_and_preserve_identity_after_structure_edits; crates/tb-ide/tests/designer.rs::toolbox_double_click_tool_drag_grid_and_window_form_selection
Properties Bar Property/Value-Dropdown, Koordinaten/Größe, F2 Value, F10 Barwechsel, keine Statuszeile 05 auf 02 crates/tb-ide/tests/designer.rs::property_bar_types_readonly_and_no_status_line; crates/tb-ide/tests/designer.rs::property_menu_buttons_palette_drag_and_modal_mouse_are_connected
Menüdesigner Caption (&/-), CtlName, Tag, Index, Checked/Enabled/Visible/Separator, Shortcut, Einfügen/Löschen/Ebene/Reihenfolge/Done 05 crates/tb-ide/tests/designer.rs::menu_hierarchy_arrays_shortcuts_and_palette_use_events; crates/tb-ide/tests/designer.rs::menu_indent_outdent_rename_and_field_changes_have_one_undo
Farbpalette ForeColor/BackColor, Drag auf Form 05 crates/tb-ide/tests/designer.rs::property_menu_buttons_palette_drag_and_modal_mouse_are_connected
Editor Line-Leave-Prüfung/-Normalisierung, Syntax-Checking-Toggle, DECLARE, DEFtype 03 crates/tb-ide/tests/editor.rs::line_leave_incomplete_invalid_disabled_and_current_revisions; crates/tb-ide/tests/editor.rs::external_include_revision_and_project_context_declarations
Editor-Tasten CUA, Einfg, Pos1/Ende, WordStar Ctrl+Q, Ctrl+Y, Bookmarks Ctrl+K,03 / Ctrl+Q,03, Shift+F2/Ctrl+F2 03 crates/tb-ide/tests/editor.rs::cua_unicode_overwrite_wordstar_and_shared_undo; crates/tb-ide/tests/editor.rs::crlf_navigation_word_boundaries_readonly_and_normalization_keep_views
Immediate PRINT, Zuweisungen, Prozeduraufrufe, ERROR n im Break-Modus 06 crates/tb-vm/tests/debugger.rs::watches_immediate_byref_and_errors_preserve_continuation; crates/tb-vm/tests/debugger.rs::immediate_wait_interrupt_nested_error_end_and_run; crates/tb-ide/tests/debugger.rs::immediate_wait_run_transition_watchpoint_and_trace_are_session_owned
Hilfe F1/Rechtsklick, Shift+F1, ◄Thema►, Tab/Shift+Tab, Enter, Alt+F1 (20), Ctrl+F1, Esc 07 crates/tb-ide/tests/help.rs::links_history_resize_scroll_and_focus_use_real_events; crates/tb-ide/tests/help.rs::right_click_configuration_and_external_link_follow; crates/tb-ide/tests/help.rs::twenty_back_steps_end_of_contents_and_all_entries
Darstellung DOS-Farben, Magenta-Titel, Desktopzeichen, Tabweite, klickbare Statuskürzel, Zeile/Spalte 02 crates/tb-ide/tests/app.rs::start_snapshot_and_reference_menus_have_all_commands; crates/tb-ide/tests/app.rs::status_and_project_buttons_use_the_keyboard_command_path
Start Begrüßung, Version/Copyright, Untitled-Code/Projekt, keine Easy/Full-Modi 02, About 07 crates/tb-ide/tests/app.rs::start_snapshot_and_reference_menus_have_all_commands; crates/tb-ide/tests/help.rs::twenty_back_steps_end_of_contents_and_all_entries
Terminal Dynamische Größe, physisches Minimum 80×25 02; Runtime-/Output-Abgrenzung 04 crates/tb-ide/tests/app.rs::windows_restore_geometry_and_resize_without_document_loss; crates/tb-ide/tests/execution.rs::output_viewports_resize_and_end_preserve_buffer_and_basic_colors; crates/tb-cli/src/ide_acceptance.rs::function_keys_conflict_contexts_and_errors_keep_a_single_input_owner
Laufzeitparität Dieselbe TBVM in IDE, CLI und TBC 04/06; Gesamtnachweis 08 crates/tb-cli/src/ide_acceptance.rs::saved_project_ide_source_cli_and_tbc_have_identical_sessions