v1.0.0-beta.6 — Embedded Rust Backend, Node SSR Removal & 3D Loading Optimization
✨ Feature: Move API layer into embedded Rust runtime and remove Node SSR
Overview
This release introduces a major architecture migration for the desktop and web player stack. The previous Node.js SSR/API layer has been replaced with an embedded Rust backend running directly inside the Tauri application.
The desktop client now owns the API runtime through an Axum server, simplifying the architecture, reducing runtime dependencies, and improving integration between the frontend and native layer.
🚀 Highlights
🔥 Embedded Rust API Runtime
- Replaced the previous Node.js API/SSR service with an embedded Rust backend.
- Added a Tauri-managed Axum server running locally on:
http://127.0.0.1:17345
- API requests are now handled directly by the desktop runtime instead of relying on Node processes.
- Reduced application startup complexity by removing the extra JavaScript server layer.
🧹 Removed Node SSR Dependency
-
Removed Node-based SSR APIs from:
- Web player
- Desktop player
-
Removed dependency on:
@spindeck/core
-
Simplified frontend runtime responsibilities:
- Frontend focuses on rendering and interaction.
- Rust handles native APIs, data access, and local services.
🎮 3D Shelf Loading Improvements
Viewport-based Loading
Added viewport-aware loading for the 3D shelf system.
Changes:
- 3D shelf assets are now loaded dynamically based on viewport visibility.
- Reduced initial loading cost.
- Improved startup performance for large scenes.
- Prevented unnecessary 3D resource initialization outside the visible area.
Benefits:
- Faster first render.
- Lower memory usage.
- Better scalability for large collections.
🛠 Development & Repository Updates
Documentation
Updated project documentation to reflect:
- New Rust API architecture.
- Tauri local server workflow.
- Removed Node SSR deployment requirements.
- Updated development setup instructions.
Tooling
Updated:
lint-stagedconfiguration.- Git hooks workflow.
- Repository formatting rules.
Repository Cleanup
Updated .gitignore:
- Removed obsolete Node SSR related files.
- Added new Rust/Tauri generated files exclusion rules.
- Cleaned unused build artifacts.
📦 Breaking Changes
API Runtime
Before:
Frontend
↓
Node SSR/API Server
↓
Core packages
After:
Frontend
↓
Tauri
↓
Embedded Rust Axum API (:17345)
Projects depending on the previous Node API layer need to migrate to the new local Rust API interface.
⚡ Performance & Architecture Improvements
- Removed duplicated runtime layers.
- Reduced JavaScript dependency footprint.
- Improved desktop application isolation.
- Better native integration through Rust.
- More predictable API lifecycle management.
- Easier future support for offline/local-first features.
Migration Notes
If you are developing extensions or integrations:
- Do not depend on the previous Node SSR APIs.
- Use the new embedded API endpoint:
http://127.0.0.1:17345
- Update API clients according to the new Rust backend routes.
Full Commit Summary
feat(desktop,web): move API to embedded Rust and drop Node SSR
- Replace Node player APIs with Tauri Axum server
- Run local API runtime on port 17345
- Remove @spindeck/core dependency
- Remove Node SSR architecture
- Add viewport-based 3D shelf loading
- Update documentation
- Update lint-staged configuration
- Refresh .gitignore rules