Devlogs
xprototype
Posted December 14, 2025 by switchos
#system #computer #os #godot
xprototype
Prototype Release: xprototype (Updated)
Date: 14.12.2025
Project Focus: Establishing core architecture, CPU emulation, network emulation, and advanced safety handling.
New Features & Major Enhancements
The primary focus of this update was to drastically enhance the experimental NetSwitch feature, transforming it from a simple string matcher into a functional mini-browser with real-world connectivity and robust error handling.
1. Enhanced Internet Feature: NetSwitch (Major Update)
NetSwitch has been completely overhauled to simulate real-world browser functionality and resilience.
- Real HTTP Connectivity: NetSwitch now utilizes the
HTTPRequest node to fetch actual HTML content from the live web.
- Web-to-BBCode Rendering: Fetched HTML is processed and translated into BBCode, allowing for the display of basic structure, text, and clickable links within the console UI.
- Image Loading & Caching (CRITICAL FIX):
- Images are downloaded asynchronously and saved to a temporary
user:// directory.
- The critical error regarding the invalid Godot 4
load_from_buffer function was fixed by implementing specific load_png_from_buffer and load_jpg_from_buffer methods. This ensures images are correctly decoded, cached, and displayed.
- Cleanup: Temporary image files are now automatically deleted from the disk when the NetSwitch panel is closed or returned to the home screen.
- Safety & URL Normalization: Implemented advanced checks to automatically prepend
https:// and handle common URL formats (e.g., removing www.).
- Emulated Search Engine: The input field now detects prefix commands like
google: or duckduckgo: and automatically formats the URL to perform a search query, making the console feel more functional. [experimental] - Homepage & Navigation:
- Added a dedicated NETSWITCH Home Page with pre-configured, working links for text-only sites.
2. Core Architecture & Safety
- Asynchronous Processing: The system continues to use Godot's
await keyword for parallel processing simulation, ensuring core processes are non-blocking and yield instantly to user commands.
- Secure Logging Bridge: The
_netswitch_log_message bridge remains secure, ensuring internal network events are passed safely back to the main system console, preventing crashes and offering clear, color-coded diagnostic feedback.
Changes, Improvements & Fixes
- UX/Navigation: Added dedicated Home Page and navigation logic to the NetSwitch panel, improving user flow.
- Error Reporting: Enhanced logging to specifically report failed image formats, connection timeouts, and HTTP status codes, providing better insight into network errors.
- Cleanup: Implemented automatic deletion of temporary files upon browser closure, ensuring the application does not clutter the user's local directory.
Known Issues & Future Plans
Known Issues (To be addressed soon):
- The system currently relies on Godot's native thread-like features (
await) for parallelism simulation; implementing full, dedicated thread management within the GDScript layer is a future goal.
- NetSwitch's HTML parsing is rudimentary (BBCode-based) and cannot handle complex layouts, CSS, or JavaScript elements found on modern websites.
Stay tuned for more updates!