Split the project into a Cargo workspace with separate oboromi-core and oboromi-gui crates. Moved core emulator logic into oboromi-core, and GUI/frontend code into oboromi-gui. Updated dependencies and paths accordingly, removed unused test files, and adjusted module imports to reflect the new structure.
Introduces a new `gui` module with initial implementation and tests using egui, updates dependencies in Cargo.toml and Cargo.lock to include egui and related crates, and ui is renamed from ui to gui. Updates .gitignore to exclude oboromi.log. Refactors main.rs and lib.rs to integrate the new GUI, and removes the obsolete ui module.
Introduces a 'trace' feature flag in Cargo.toml and updates the CI workflow to test with and without this feature. When enabled, the CPU logs each executed instruction with a human-readable disassembly. Main and CPU code are refactored to support conditional tracing, and test output is clarified with improved comments.
Refactored the CPU implementation for clarity and modularity, splitting instruction decoding into helper methods and improving flag handling. Added stubs for fs, gpu, and input modules with placeholder functions. Updated Cargo.toml with metadata. Introduced initial CPU and memory tests in tests/cpu_tests.rs. Minor improvements to memory module and allowed clippy::module_inception where needed.