Files
PixelplanetandCopilot 6f9a9ac6b5 feat(ui): unified spatial UI with video thumbnails and richer settings
- Add ThumbnailCache: a worker thread extracts 256x144 thumbnails and media
  metadata with FFmpeg, SBS-aware cropping, and an on-disk cache under
  ~/.cache/pixelvr/thumbs.
- Draw thumbnails on browser cards through a new rounded-corner thumb.frag
  pipeline with per-card descriptor sets.
- Redesign the browser as a sidebar + card grid, with horizontal stick
  navigation and direct shortcuts to Network/Home/Videos/Downloads/Drives.
- Expand Settings: screen curvature, UI text scale and colour, accent colour
  and UI distance, organised into sections.
- Downloads window: per-job state, progress, speed and ETA, plus pause/resume
  and cancel-active controls.
- Decoder: multi-threaded software decode and four V4L2 output buffers.
- docs: unified UI concept, redesign plan and mockups.

Release packaging is now reproducible: tools/run.sh is the shipped launcher,
tools/package-release.sh assembles the tarball, and a GitHub Actions workflow
builds it natively on ARM64 for every v* tag. Stop committing release tarballs;
they are attached to releases instead.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-17 09:55:48 +02:00

38 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Assemble a clean upload folder (binary + shaders + launch helper only) so the
# SteamOS Devkit Client's recursive "Local Folder" upload doesn't pull in the
# entire build tree.
#
# ./tools/stage.sh [build-dir] [out-dir]
#
# Defaults: build-aarch64 -> dist/PixelVRPlayer
set -euo pipefail
cd "$(dirname "$0")/.."
BUILD_DIR="${1:-build-aarch64}"
OUT_DIR="${2:-dist/PixelVRPlayer}"
bin="${BUILD_DIR}/bin/pixelvr"
if [[ ! -x "${bin}" ]]; then
echo "error: ${bin} not found. Build first: ./tools/build.sh --aarch64" >&2
exit 1
fi
rm -rf "${OUT_DIR}"
mkdir -p "${OUT_DIR}/shaders"
cp "${bin}" "${OUT_DIR}/pixelvr"
cp "${BUILD_DIR}/shaders/"*.spv "${OUT_DIR}/shaders/"
cp tools/launch.sh "${OUT_DIR}/launch.sh"
chmod +x "${OUT_DIR}/pixelvr" "${OUT_DIR}/launch.sh"
echo "Staged ${OUT_DIR}:"
ls -1 "${OUT_DIR}"
cat <<EOF
Upload this folder in the SteamOS Devkit Client (Title Upload tab):
Local Folder: ${OUT_DIR}
Start Command: pixelvr
Runtime: Steam Linux Runtime 3.0 ARM64 (Sniper)
EOF