From ed02ba872c02eafed45f406c68d389d0a1112a4e Mon Sep 17 00:00:00 2001 From: cashmere Date: Thu, 30 Jul 2026 18:17:45 +0200 Subject: feat: Electron desktop app, native ffmpeg export, fully static web - apps/desktop: Electron shell serving the static web build over a privileged opencut:// protocol; exports stream frames over IPC to a bundled ffmpeg (libx264/libvpx-vp9, BT.709 tagged) with backpressure. electron-builder packaging: AppImage, deb, rpm. - apps/web: dead backend deleted (better-auth, drizzle/pg, upstash, botid, freesound proxy, blog, rss, env validation); next build emits a zero-env static export; /editor/[project_id] -> /editor?project=. - Native exporter mirrors SceneExporter; activates when the preload bridge is present; web keeps the mediabunny path. - Docker self-hosting now builds and serves the static export via nginx. - Release workflow: v* tags publish static web tarball + Linux packages. - Changelog 0.4.0; README/AGENTS/CONTRIBUTING/roadmap updated. - GPUI/Rust rewrite parked on branch rust-rewrite. --- apps/desktop/script/setup | 110 ------------------------------------------ apps/desktop/script/setup.ps1 | 27 ----------- 2 files changed, 137 deletions(-) delete mode 100644 apps/desktop/script/setup delete mode 100644 apps/desktop/script/setup.ps1 (limited to 'apps/desktop/script') diff --git a/apps/desktop/script/setup b/apps/desktop/script/setup deleted file mode 100644 index 3152a080..00000000 --- a/apps/desktop/script/setup +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env bash - -# Installs the native system libraries GPUI needs to compile on Linux/macOS. -# Run script/setup-rust first if you don't have Rust installed yet. - -set -euo pipefail - -if [ "$(id -u)" -eq 0 ]; then - maysudo='' -else - maysudo="$(command -v sudo || command -v doas || true)" -fi - -# Ubuntu, Debian, Mint, Pop!_OS, Kali, Raspbian, etc. -apt=$(command -v apt-get || true) -if [[ -n $apt ]]; then - deps=( - curl - build-essential - pkg-config - gcc - g++ - make - libasound2-dev - libfontconfig-dev - libglib2.0-dev - libssl-dev - libva-dev - libvulkan1 - libwayland-dev - libx11-xcb-dev - libxkbcommon-x11-dev - libzstd-dev - libsqlite3-dev - ) - - $maysudo "$apt" update - $maysudo "$apt" install -y "${deps[@]}" - echo "Desktop native dependencies installed." - exit 0 -fi - -# Fedora, RHEL, CentOS, Alma, etc. -dnf=$(command -v dnf || true) -if [[ -n $dnf ]]; then - deps=( - gcc - gcc-c++ - make - pkg-config - alsa-lib-devel - fontconfig-devel - glib2-devel - openssl-devel - libva-devel - vulkan-loader - wayland-devel - libxcb-devel - libxkbcommon-x11-devel - libzstd-devel - sqlite-devel - curl - ) - - $maysudo "$dnf" install -y "${deps[@]}" - echo "Desktop native dependencies installed." - exit 0 -fi - -# Arch, Manjaro, etc. -pacman=$(command -v pacman || true) -if [[ -n $pacman ]]; then - deps=( - gcc - make - pkgconf - alsa-lib - fontconfig - glib2 - openssl - libva - vulkan-loader - wayland - libxcb - libxkbcommon-x11 - zstd - sqlite - curl - ) - - $maysudo "$pacman" -Syu --needed --noconfirm "${deps[@]}" - echo "Desktop native dependencies installed." - exit 0 -fi - -# macOS -if [[ "$(uname)" == "Darwin" ]]; then - if ! xcode-select -p &> /dev/null; then - echo "Installing Xcode Command Line Tools..." - xcode-select --install - echo "Re-run this script after the Xcode install completes." - exit 0 - fi - - echo "Desktop native dependencies installed." - exit 0 -fi - -echo "Unsupported platform. See apps/desktop/README.md for manual setup instructions." -exit 1 diff --git a/apps/desktop/script/setup.ps1 b/apps/desktop/script/setup.ps1 deleted file mode 100644 index 63f7fd1a..00000000 --- a/apps/desktop/script/setup.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -# Installs the native build tools GPUI needs to compile on Windows. -# Run script/setup-rust.ps1 first if you don't have Rust installed yet. - -$ErrorActionPreference = "Stop" - -function Check-VSBuildTools { - $vswhere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" - - if (-not (Test-Path $vswhere)) { - return $false - } - - $result = & $vswhere -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath - return $result -and $result.Trim().Length -gt 0 -} - -if (-not (Check-VSBuildTools)) { - Write-Output "" - Write-Output "Visual Studio Build Tools with 'Desktop development with C++' not found." - Write-Output "" - Write-Output "Install it from: https://visualstudio.microsoft.com/visual-cpp-build-tools/" - Write-Output "Check the 'Desktop development with C++' workload during setup, then re-run this script." - Write-Output "" - exit 1 -} - -Write-Output "Desktop native dependencies ready." -- cgit v1.3.1