Commit Graph
948 Commits
Author SHA1 Message Date
spoopyghosty0 2ecaa56ead Steam library: Later is the default when FramePort runs on the Frame itself, and the waiting step says how to add the games now (#425) 2026-10-23 12:46:50 -04:00
spoopyghosty0 890b2bc615 Linux apps: launchers put an unpacked app's own library folders on LD_LIBRARY_PATH, as the install's library check already assumed (#473) 2026-10-23 12:42:53 -04:00
spoopyghosty0 a8e01c01dc The Climb 1/2 start again: the dormant foveation diagnostic stays out of CryEngine's renderer (#432, #449)
1.3.0 linked libVkLayer_fdm_darken.so into every arm64 game's engine library; in libCryRenderVulkan.so CrySystem
initialization then fails right after the renderer lists its Vulkan device extensions, and the shutdown crashes
(SIGSEGV in CSystem::ShutDown). Bisected headless on the dev Frame by swapping libraries between the September
known-good APK and a current build: only the modified renderer breaks it. Climb 2's private VrApi bridge still
loads the layer itself (72 fps headless with this change). frame.adapter package revision 3 for both games;
triage cryengine-init-failed.
2026-10-23 12:41:02 -04:00
spoopyghosty0 a08d46a1b7 Embedded OpenXR loaders: the game's loader skips implicit API layers, so Valve's layer isn't stacked twice (crash at Play, #254) 2026-10-23 12:19:04 -04:00
spoopyghosty0 2fefb1e6d1 Catalog: AC Nexus keeps the Quest 2 headset identity (#424)
With Quest 3 the game switches to a 2592x2256 eye buffer after the intro; by then its UI panels have used up the
runtime's ~15 swapchains per session, so the new eye buffer is refused (XR_ERROR_LIMIT_REACHED) and it stops
drawing. Headless on the dev Frame, same build: Quest 3 frames stop, Quest 2 holds 72 fps.
2026-10-23 12:13:26 -04:00
spoopyghosty0 043955983f Catalog: PrimedGun v2 without the embedded-loader patch until its loader recursion is fixed (crash at Play, #254) 2026-10-23 12:02:54 -04:00
spoopyghosty0 ffe57c5c89 Diagnostics: read the bundled agent and bootstrap.sh as UTF-8; an ASCII default encoding made every diagnostics zip fail (#349) 2026-10-23 12:01:53 -04:00
spoopyghosty0 dd9f20049e Catalog: PianoVision unsupported (needs camera hand tracking and USB MIDI) (#297) 2026-10-23 11:56:41 -04:00
spoopyghosty0 26975686f9 Catalog: 15 community recipes (Drums Rock, Darksword, GoldenEye VR, Barbaria, Little Nightmares VR, Movie Deck for Plex, JKXR, SpaceControl, Solero, Orcs Must Die, Epic Roller Coasters, Simpsons Hit and Run VR, Deisim, Astro VR Host, Umurangi Generation VR)
From issues #409 #410 #412 #418 #421 #435 #441 #447 #448 #453 #456 #461 #462 #464 #472 via
scripts/catalog_from_issue.py. GoldenEye VR (no sound), JKXR (stutters after minutes) and Umurangi Generation
(freezes when saving a photo) are "issues"; Simpsons and Astro VR Host setup steps point to the Files tab, the
long instructions moved to details.
2026-10-23 11:54:10 -04:00
spoopyghosty0 459c62ba2d Room tab: the not-connected screen sits under the heading like the other tabs (the heading's expand, meant for its row with the buttons, took half the window's height when it stood alone) 2026-10-20 08:24:32 -04:00
spoopyghosty0 0df0bd16b5 hevc: tone map HDR (PQ/HLG) Main 10 to SDR BT.709 instead of flat colours
The software Main 10 path narrowed HDR10 pictures to 8 bits as they were, so
PQ shown as SDR looked grey and BT.2020 colours dull. hdr_tonemap.h maps
brightness with BT.2390's EETF (203 cd/m2 reference white = SDR white,
highlights rolled off up to MaxCLL / the mastering peak / 1000 cd/m2) and
converts colour per chroma sample through linear light into BT.709, moving
out-of-gamut colours toward grey of the same luminance. The component then
prefers its bitstream colour aspects, so surfaces and its RGBA conversion see
BT.709. Bands run in the colour helper threads (about 10 ms per 1080p picture
on one big core). Decoder revision 10; artifacts rebuilt with build.py.
2026-10-19 12:41:20 -04:00
Veticia Misumena 7128432e39 hevc: decode Main 10 in software instead of hanging on Iris
Iris on the Frame's kernel (6.18) offers HEVC Main 10 only into its
compressed Q10C capture format. The component always asks for NV12, and a
Main 10 stream in such a session returned no pictures: playback stayed at
0:00, the flush on leaving timed out (ACodec -110) and the next video hit
MediaCodec::reclaim, so every later decoder start in the app failed until it
restarted (seen in Bigscreen Beta with local files over DLNA).

- hevc_profile.h reads general_profile_idc from the parameter sets
  (CODECCONFIG or the first access unit, Annex B or hvcC); streams beyond
  Main never open Iris and decode in FFmpeg's software HEVC decoder, which
  the component already contains.
- Its 10-bit planar pictures are rounded to 8-bit planar before the existing
  outputs (no HDR tone mapping).
- The HEVC component lists Main 10 (level 5.1), so format-aware players
  select it instead of reporting NoSupport and using it anyway.
- Decoder revision 9; artifacts rebuilt with native/hevc/build.py (the same
  toolchain rebuilds revision 8 byte for byte).

Tested on a Steam Frame in Bigscreen Beta: 1080p and 4K Main 10 clips and a
real 1080p Main 10 episode play; 8-bit HEVC and H.264 afterwards play too.
FFmpeg's software HEVC decoder on the Frame's CPU, 4 threads as the
component uses: 1080p Main 10 episode 232 fps, synthetic 4K Main 10 72 fps.
2026-10-19 12:22:36 -04:00
spoopyghosty0 3268c3c412 Site: a Room tab in the clickable app (turnable 3D view of the showcase's made-up bedroom, pretend scan, raw scan vs clean-up, labels with the door suggestion); room data from scripts/showcase/site_room.py 2026-10-19 11:12:48 -04:00
spoopyghosty0 11dd195688 Site: release data refreshed (1.3.0) 2026-10-19 01:12:55 -04:00
spoopyghosty0 5b86843430 FramePort 1.3.0 v1.3.0 2026-10-19 00:59:27 -04:00
spoopyghosty0 3e5044ce4a Site: contributor data and games list refreshed (1.3.0) 2026-10-19 00:58:53 -04:00
spoopyghosty0 5345434ba7 Lint: wrap long lines, raise ... from None in the room-scan lock, zip(strict=True) in the scene tests (CI's ruff check failed on the MR merge) 2026-10-19 00:57:08 -04:00
spoopyghosty0 0ca7bc45f0 Room tab: the right column sizes to its content (the Test Quest MR line was clipped when Delete room wrapped or the furniture chips took two rows); the top row stays level by measuring both sides (a short column's last card grows, a tall one makes the 3D view taller); box sizes under 10 cm show two decimals (a 3 cm rug was 0.0 m); room shots re-rendered 2026-10-19 00:23:58 -04:00
spoopyghosty0 a4702d2a13 Docs screenshots: re-rendered with the Room tab in the sidebar 2026-10-19 00:23:57 -04:00
spoopyghosty0 455bc987b2 Docs: the Room tab (experimental) in the README features, INSTALL.md and the site's app tour; showcase shots room + room-editing from a made-up bedroom (bed under a wall TV, desk with two monitors under a window, closet, door, lamp, plant; noisy scan mesh, clean-up report and labels to match); steps open_room / room_editing 2026-10-19 00:23:57 -04:00
spoopyghosty0 4b0b0daa6d Room tab layout: the top row ends level (legend on the 3D view, the right column as tall as it), Test Quest MR as one line in In this room, equal cards and gaps, full-width sliders and segmented tracks, one slider per row in the box editor, dropdown and Delete the same height, even suggestion buttons, aligned Labels columns and counts; clean-up report follows the scanner's scan.json keys (walked_skipped as a note, truncated as a warning) 2026-10-19 00:23:57 -04:00
spoopyghosty0 91f73fbd03 ui_smoke: Room tab editing steps (clean-up, more settings, box selected, doors, a suggestion taken, applying, applied); the pretend Frame cleans up and saves rooms; docs 2026-10-19 00:23:56 -04:00
spoopyghosty0 77b527f129 Room tab: Clean-up card (Recommended or your settings, the key ones in sight, More settings, Apply as a job, the last clean-up's counts), Labels card (rule decisions, Add as door / Add as closet), Furniture & screens editor (select in the list or by clicking the 3D view, type/move/size/turn, add/delete, doors and windows on a wall, Save) 2026-10-19 00:23:23 -04:00
spoopyghosty0 6ab6c11f06 Rooms: REFINE_DEFAULTS (the owner's clean-up defaults + slider metadata), rooms.refine / put_room, doors and windows on a wall and suggestion helpers in mr/room, view3d furniture overlay + picking, CLI frameport frame room refine [--set key=value] [--reset] 2026-10-19 00:23:23 -04:00
spoopyghosty0 92e84a1a4b Agent v107: room scan clean-up settings (rooms/refine.json, passed to every build), room_refine (fp_roomscan --refine-only on a copy of the room folder), raw files + scan.json kept with the room, room_status returns refine/report/labels/suggestions, edited rooms keep their boxes over a new clean-up 2026-10-19 00:23:22 -04:00
spoopyghosty0 a0b71fdfb7 Docs: room refinement (scan.md options + passes + parity, ROOM_FORMAT raw files and scan.json, CLAUDE.md MR line) 2026-10-19 00:23:22 -04:00
spoopyghosty0 3e8f0ce369 Tests: room refinement (floating pole + walked-through column removed, panels wind inward, --refine-only reproduces, --refine 0 = raw output, label rules on an older room folder) 2026-10-19 00:23:22 -04:00
spoopyghosty0 b65abb4b95 Room scanner: refinement + label rules after the mesh (raw files, scan.json, --refine-only)
The owner's tuned room-scan cleanup (2026-10-18) ported to C, pass for pass: plane offsets re-estimated from the
scan, one-sided structural bands, flat wall/floor/ceiling panels (or snap), near clearing, erase spheres, the walked
volume from the recording's head path, furniture tops, clipping with the unseen-edge allowance, islands, thin
floating pieces, Taubin smoothing; label rules on the scanner's volumes (merged/nested/outside boxes removed, shape
relabelling, SCREEN flatness from the raw mesh, door/closet suggestions in scan.json).

room.txt + room-mesh.bin are now refined (ceiling re-estimated); the unrefined output stays as room-raw.txt +
room-mesh-raw.bin with the same UUIDs; scan.json holds heads, settings, report, labels, suggestions. The scan path
refines its raw files as read back, so --refine-only on them reproduces the scan byte for byte; --refine 0 writes
the old output. The fusion grid is freed before the refinement (peak memory unchanged).
2026-10-19 00:23:22 -04:00
spoopyghosty0 0478588886 Tests: map the floor plan back with forward (-Z) at the top, as preview_svg now draws it (4f871b20) 2026-10-19 00:23:21 -04:00
spoopyghosty0 1a5892ee40 RoomCanvas: a room full of furniture draws only its outlines while the view moves (smaller patches) 2026-10-19 00:23:21 -04:00
spoopyghosty0 e3788c0b2b Room tab: fit the view to the scan without its stray far-off bits (2nd-98th percentile), rounded icons, US spelling 2026-10-19 00:23:20 -04:00
spoopyghosty0 feda5f4a03 Docs: the Room tab (INSTALL.md, CLAUDE.md UI notes) 2026-10-19 00:23:20 -04:00
spoopyghosty0 6d9fb0b1e6 ui_smoke: Room tab steps; the pretend Frame has a made-up scanned room with a mesh, a scan that steps forward and can be cancelled 2026-10-19 00:23:20 -04:00
spoopyghosty0 b78160ca6f Room tab: scan in the headset with progress and Cancel, play area, delete, the room in 3D (window + full browser view), what's in it, an experimental pill and a Test Quest MR tip; the room cache moves to ui/room_state.py (mesh cached per Frame in rooms-cache), the Frame page keeps a short room card with Open Room 2026-10-19 00:23:20 -04:00
spoopyghosty0 20c36b112e RoomCanvas: the room in 3D inside the window (Flet canvas, one redraw worker at <=18 fps through a LoopUpdater, fewer mesh edges while moving; drag turns, scroll/pinch zooms, right-drag moves, double-click fits) 2026-10-19 00:23:19 -04:00
spoopyghosty0 fcfba77f31 Room 3D models: mr/view3d (walls, furniture boxes, mesh reduced to a few thousand edges, orbit camera, dollhouse projection) and a token-protected 127.0.0.1 server for a self-contained WebGL room page (FPRM parsed with DataView) 2026-10-19 00:23:19 -04:00
spoopyghosty0 8870afe18a Room scans can be cancelled: agent room_capture_stop (agent 106) stops the scan job and marks it cancelled; rooms.cancel_scan, rooms.scan raises ScanCancelled 2026-10-19 00:23:19 -04:00
spoopyghosty0 4be04b8a34 Room floor plan: seen from above with forward (-Z) at the top; it had +Z at the top with +X still on the right, i.e. the room mirrored 2026-10-19 00:23:18 -04:00
spoopyghosty0 e231c5a6fe scene: drop PR #246's per-call semantic-label log line (it logged every call; mr-scene logs each entity's labels once), as in the PR's merge 2026-10-19 00:23:18 -04:00
spoopyghosty0 7585acd0a8 Tests: the quest_buttons harness declares scene_app_mesh (mr-scene's xrCreateInstance sets it; the native test didn't compile) 2026-10-19 00:23:18 -04:00
spoopyghosty0 b9fb5791b0 Regenerated docs/PATCHES.md, site patches.json and the locale template for the two new patches 2026-10-19 00:23:17 -04:00
spoopyghosty0 a5199495fd Artifacts: FrameBridge (arm64-v8a + armeabi-v7a) rebuilt from the merged source (PR #246's layer limit and quad filter on mr-scene's scene emulation); xrshim rebuilt, unchanged bytes; SHA256SUMS regenerated (now also lists the roomscan finish_*.png prompts, which it had missed). None of PR #246's binaries are kept. 2026-10-19 00:23:17 -04:00
spoopyghosty0 28a5795323 Docs: PLAYBOOK rows for depth occlusion, the player-in-room check and the layer limit; DEVICE_NOTES note on what PR #246 brought into mr-scene 2026-10-19 00:23:16 -04:00
spoopyghosty0 d6cf9a3503 Tests: restore the scan test's APK inside a PC program folder (PR #246 had made it a .dll, which no longer tests anything); ruff fixes in the PR's test 2026-10-19 00:23:16 -04:00
spoopyghosty0 2a769dddba Catalog (PR #246): min_app 1.2.2 on the MR recipes (they need this branch's layer limit and room emulation); drop the com.mrf.* copies of games the catalog already has (com.kluge.SynthRiders, com.PotamWorks.SmashDrums, jp.co.hit_point.vneko: same titles, other package ids, they listed every game twice); LEGO Bricktales back to 'use VR mode' (MR not verified, its recipe turns no MR setting on); honest notes where no tested version was recorded 2026-10-19 00:23:15 -04:00
spoopyghosty0 7a65e86cdc FrameBridge layer limit: FrameBridge's own fade quad is always kept with the projection layers, the app's other layers fill the rest in submission order; one log line per trim (at most 5), trimmed layers no longer counted as unusable 2026-10-19 00:23:15 -04:00
spoopyghosty0 2be8873fec frame.meta_depth_occlusion: offered but not turned on by detection, only for 64-bit IL2CPP Unity games; asset files are streamed and only those with the keywords rewritten (max 512 MiB); Laser Dance's asset fixes only for the build whose original values all match; revision 1
- detect: many Meta XR SDK games carry the Depth API without using it; until a headset check shows more games
  with the symptom (or OVRPort is found advertising XR_META_environment_depth, which a FrameBridge hide setting
  would fix generally), the patch comes from Laser Dance's catalog recipe or the user's choice.
- ApkWorkspace.size/contains: entries are searched in 4 MiB chunks instead of read whole.
- Laser Dance: the fixes' original values at all seven places together identify the build (no versionName was
  recorded with them); another build gets none of them.
- tests: lz4 is skipped when missing, the known/unknown Laser Dance build, chunked search.
2026-10-19 00:23:14 -04:00
spoopyghosty0 7d5ed42d18 frame.unity_scene_active_rooms: never suggested (catalog recipe or the user's choice, Laser Dance), shown only for Unity scene games; plain summaries for both new Unity patches, stray blank lines removed
The PR turned it on for every Unity game with USE_SCENE or MRUK's library: a game-logic change keyed to one
game's symptom (MRUK games mostly don't use OVRSceneManager at all). A scanned room around the player usually
passes IsUserInRoom by itself.
2026-10-19 00:23:14 -04:00
spoopyghosty0 90bf8bcd67 adapter: scene_emul needs the xrshim through XRSHIM_SETTINGS already (mr-scene); drop PR #246's duplicate 2026-10-19 00:23:14 -04:00
spoopyghosty0 d028390da5 Library: drop PR #246's meta_spatial_permissions and meta_depth_occlusion migrations and the re-analysis hook that forced frame.meta_depth_occlusion into user recipes (mr-scene's scene_permissions covers the room games; non-user recipes follow detection and the catalog after the analysis bump; user recipes stay as edited) 2026-10-19 00:23:14 -04:00