Files
Pixelplanet--Pixel-VR-Player/tools/package-release.sh
T
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

43 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Assemble the Steam Frame release tarball for a finished ARM64 build.
#
# Contents (extracted to ~/PixelVRPlayer):
# PixelVRPlayer/pixelvr self-contained binary (static OpenXR loader)
# PixelVRPlayer/run.sh launcher (logs to ~/pixelvr-run.log)
# PixelVRPlayer/shaders/*.spv SPIR-V shaders
#
# ./tools/package-release.sh [build-dir] [out-tar]
#
# Defaults: build -> pixelvr-linux-arm64.tar.gz
set -euo pipefail
cd "$(dirname "$0")/.."
BUILD_DIR="${1:-build}"
OUT_TAR="${2:-pixelvr-linux-arm64.tar.gz}"
bin="${BUILD_DIR}/bin/pixelvr"
if [[ ! -f "${bin}" ]]; then
echo "error: ${bin} not found. Build first: ./tools/build.sh" >&2
exit 1
fi
if [[ -z "$(find "${BUILD_DIR}/shaders" -maxdepth 1 -name '*.spv' -print -quit)" ]]; then
echo "error: no shaders in ${BUILD_DIR}/shaders" >&2
exit 1
fi
stage="$(mktemp -d)"
trap 'rm -rf "${stage}"' EXIT
mkdir -p "${stage}/PixelVRPlayer/shaders"
cp "${bin}" "${stage}/PixelVRPlayer/pixelvr"
cp "${BUILD_DIR}/shaders/"*.spv "${stage}/PixelVRPlayer/shaders/"
cp tools/run.sh "${stage}/PixelVRPlayer/run.sh"
chmod +x "${stage}/PixelVRPlayer/pixelvr" "${stage}/PixelVRPlayer/run.sh"
rm -f "${OUT_TAR}"
tar -C "${stage}" -czf "${OUT_TAR}" PixelVRPlayer
echo "Packaged ${OUT_TAR} ($(du -h "${OUT_TAR}" | cut -f1)):"
tar -tzf "${OUT_TAR}"