Scaffold the cross-platform rewrite from PySide6/Qt to Tauri + Svelte, following the same architecture as voice-to-notes. The Python backend runs headless as a sidecar, with a FastAPI control API that the Svelte frontend connects to via REST and WebSocket. New files: - backend/app_controller.py: Headless orchestration (extracted from MainWindow) - backend/api_server.py: FastAPI control endpoints + /ws/control WebSocket - backend/main_headless.py: Headless entry point for sidecar mode - src-tauri/: Tauri v2 Rust shell with sidecar and dialog plugins - src/: Svelte 5 frontend (App, Settings, Controls, TranscriptionDisplay) - src/lib/stores/: Reactive stores for backend connection, config, transcriptions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 lines
810 B
JSON
43 lines
810 B
JSON
{
|
|
"productName": "Local Transcription",
|
|
"version": "1.4.0",
|
|
"identifier": "com.localtranscription.app",
|
|
"build": {
|
|
"frontendDist": "../dist",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeDevCommand": "npm run dev",
|
|
"beforeBuildCommand": "npm run build"
|
|
},
|
|
"app": {
|
|
"windows": [
|
|
{
|
|
"title": "Local Transcription",
|
|
"width": 800,
|
|
"height": 600,
|
|
"minWidth": 640,
|
|
"minHeight": 480,
|
|
"resizable": true
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": null
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.ico",
|
|
"icons/icon.png"
|
|
]
|
|
},
|
|
"plugins": {
|
|
"shell": {
|
|
"open": true
|
|
}
|
|
}
|
|
}
|