Commit Graph
860 Commits
Author SHA1 Message Date
spoopyghosty0 e842e1cc02 CLAUDE.md: mixed-reality room scanning notes 2026-10-18 19:56:12 -04:00
spoopyghosty0 922f7f31d4 MR: scan the room in the headset - RoomView 3D capture with headset prompts, wall labels, agent 92
The agent records Valve's passthrough depth mesh (IVRBlockQueue + IVRPaths, Background/Overlay OpenVR app), converts
poses with the final raw->standing transform, shows pre-rendered prompts as a SteamVR overlay, then builds the room
with fp_roomscan (room_capture / room_capture_status). PC: rooms.scan, Frame page progress, frameport frame room scan.
FrameBridge reads the optional wall label (INVISIBLE_WALL_FACE). ROOM_FORMAT: outline orientation stated exactly.
2026-10-18 19:56:12 -04:00
spoopyghosty0 efe0ed9df8 Finish room launcher integration and document device validation 2026-10-18 19:56:11 -04:00
spoopyghosty0 5e087a7d6a Diagnose missing MR rooms and unsupported scene discovery 2026-10-18 19:56:11 -04:00
spoopyghosty0 427a2d79af Enable scene emulation for scene and spatial anchor games 2026-10-18 19:56:10 -04:00
spoopyghosty0 7cf06e0332 Show room readiness and floor plans in the Frame UI 2026-10-18 19:56:10 -04:00
spoopyghosty0 3c4c705253 Add room CLI and reuse host helper synchronization 2026-10-18 19:49:01 -04:00
spoopyghosty0 c89c5aefae Store rooms on the Frame and synchronize Quest launchers 2026-10-18 19:48:50 -04:00
spoopyghosty0 2fd2672237 Add portable room format validation and floor plan previews 2026-10-18 19:48:27 -04:00
spoopyghosty0 a9e7f95dfc Document scene implementation validation and exact device handoff 2026-10-18 19:48:27 -04:00
spoopyghosty0 8df7fe68a7 Rebuild FrameBridge scene emulation artifacts deterministically 2026-10-18 19:48:26 -04:00
spoopyghosty0 81beaf9806 Verify shim routing and protect erased or stale scene handles 2026-10-18 19:48:17 -04:00
spoopyghosty0 fa0669a952 Test room geometry discovery persistence and malformed data on the host 2026-10-18 19:48:16 -04:00
spoopyghosty0 382183b594 Report scanned room or guardian box on scene capture requests 2026-10-18 19:48:16 -04:00
spoopyghosty0 394b25c5c8 Route all emulated scene APIs and fake space consumers through the shim 2026-10-18 19:48:15 -04:00
spoopyghosty0 8071ae7fac Persist random UUID application anchors across sessions 2026-10-18 19:47:50 -04:00
spoopyghosty0 538ac66499 Add META discovery and persistence entry points and events 2026-10-18 19:47:49 -04:00
spoopyghosty0 fdac2a451a Expose room polygons volume bounds and triangle meshes 2026-10-18 19:47:13 -04:00
spoopyghosty0 17056473ce Load scanned STAGE room files and bounded mesh sidecars 2026-10-18 19:47:13 -04:00
spoopyghosty0 030c0f676b MR: optional wall label in room.txt; in-headset scan prompts (render_prompts.py) 2026-10-18 19:47:13 -04:00
spoopyghosty0 4499949781 MR: Phase 0 findings - Valve's RoomView 3D mesh is readable through IVRBlockQueue/IVRPaths 2026-10-18 19:47:13 -04:00
spoopyghosty0 090f7fa1af MR: room file contract (room.txt, room-mesh.bin, scan dumps) 2026-10-18 19:47:12 -04:00
spoopyghosty0 12025e73dd Catalog: Test Quest MR (works)
Verified on the Frame 2026-10-18 with 0.2.1 (room, planes, mesh and anchors through FramePort; with frame.meta_permissions and scene_emul, the MR heuristics' picks).
2026-10-18 19:36:03 -04:00
spoopyghosty0 8d4fb7b6e1 Catalog: KillerFrequency and cubism (works)
Closes #402
Closes #403
2026-10-18 14:23:19 -04:00
spoopyghosty0 4b513e195f Gamepad for 2D apps: own button layout (swap sticks, swap A/B, own .kl lines) and Steam's controller log in diagnostics (#162); fix main's CI
Steam Input's per-game remapping doesn't reach a 2D app; device.steam_gamepad's options now change the buttons
inside the app: the launcher exports FRAMEPORT_GAMEPAD_LAYOUT/_KEYS, the agent's Podman wrapper mounts a per-game
key layout (agent v103). Diagnostics of such games carry gamepad.log and Steam's controller activation lines. The
game page shows a patch's on/off options under it while it's on.
CI: locales template refreshed; frame.main_process counts as a patch that works on the 32-bit bridge.
2026-10-18 12:57:04 -04:00
spoopyghosty0 206a2448b3 Triage scene-missing: extension listings don't count (OVRPlugin Name=, OVRPort's list, Unity's Extensions=) (#404) 2026-10-18 12:40:10 -04:00
spoopyghosty0 104c003c44 frame.main_process: run a game activity that has its own process in the main one (#178)
Halo CE VR's HaloActivity runs in :halo_game; Lepton starts it directly and watches only the main process, which
never exists, so it closed the game about a minute in ('Target app ... did not start'). Analysis field
separate_process (ANALYSIS_VERSION 23), default-on patch, triage app-separate-process, PLAYBOOK row.
2026-10-18 12:35:48 -04:00
spoopyghosty0 b281cd5fdb Catalog: HardBullet (issues: cube loading screen, view freezes during loads)
Closes #385
2026-10-18 12:17:35 -04:00
spoopyghosty0 4fec0656ff OpenGL ES shader dump/fix offered for Unity games whose boot.config mentions Vulkan; either setting brings in the shader-fix layer (#382)
SynthRiders is analysed as 'Vulkan (Unity boot.config)' but renders with GLES on Zink, so the dump was hidden in
Game settings and session triage's suggestion was dropped; the dump setting alone also never added the layer.
2026-10-18 12:14:42 -04:00
spoopyghosty0 a205743561 Catalog: BattleTalent online rooms need Meta's account check, LAN works (#408) 2026-10-18 12:06:49 -04:00
spoopyghosty0 dd3bdf5d35 Catalog: Test Quest Controllers (works)
Verified on the Frame 2026-10-18 with 0.2.2: controller types, highlighting, vibration and passthrough; switching types restarts the app on the Frame (SteamVR runtime limit).
2026-10-18 11:07:29 -04:00
spoopyghosty0 ca10e109e6 Settings → Controllers recommends Test Quest Controllers for trying the button modes
A callout under the controller diagram (Get Test Quest Controllers: FramePort's own install question for its install link; Open … once it's in the library), a tooltip on the button, and the controller buttons help text points to it. ui_smoke gets a settings-controllers step.
2026-10-18 10:52:08 -04:00
spoopyghosty0 4e8486418f Install links: Check for updates on the game page; links without a version are checked too
Games installed from an install link get a row on the game page (where it came from, the installed version) with Check for updates, and the same entry in the page's menu: it asks the link now instead of waiting for the 6-hourly check. Manifests that named no version (e.g. an app's first release) were never checked; the installed APK's own versionName (from the analysis) is now the version to compare with, in the automatic check, the button and frameport link-updates.
2026-10-18 09:47:02 -04:00
spoopyghosty0 d801ff6bc8 Controller buttons: second button up and toward the other hand like Quest (Quest pair: Y = d-pad right, B = X; Mirror follows); d-pad touch is one sensor 2026-10-18 09:23:52 -04:00
spoopyghosty0 c67f79ebc6 Install-link update: take the new download instead of failing ('couldn't be read as an Android app')
Updating a game from its install link downloads the new APK into its own folder; the scan then finds it as another version of a library game (#351 relinking), switches the entry to it and returns nothing, and add_from_link reported that as an unreadable APK, so the update stopped before the link version was recorded. add_from_link now takes the entry from the scan report; if the scan left the library's copy (still on disk), the link switches the game to the download like Update with a newer APK.
2026-10-18 08:54:23 -04:00
spoopyghosty0 c469327590 Monitor: idle Frame no longer shows 100 % GPU (agent v102)
msm reported SteamVR's compositor engine time near 2^64, rising ~1000x faster than real time, so the summed GPU busy
was pinned at 100 % on an idle Frame. Each render fd is now tracked on its own; a delta longer than the interval
falls back to drm-cycles-gpu / GPU clock. Checked on the dev Frame: installed agent 100 %, this one 0.0 % at 231 MHz.
2026-10-18 08:51:02 -04:00
spoopyghosty0 b00abe3ce1 Install-link update toast gets an Update button
It said a newer version was available but offered no way to get it from there (the Library bar and the game page
had the button).
2026-10-18 08:46:30 -04:00
spoopyghosty0 eaf4e3d5b6 Game page: rounded save icon (UI style check) 2026-10-17 22:27:12 -04:00
spoopyghosty0 05f221b216 pop_dialog() closes the pop-up, never a toast (install-link question stayed open)
Flet 1.0 keeps toasts in the same stack as dialogs and pop_dialog() closes the topmost open entry. An install link's
job shows a "waiting for your answer" toast just as its question appears; when the toast came second, "Download
and install" closed the toast, the download ran, and the question stayed on screen. pop_dialog now skips toasts
(reproduced and checked with real clicks in the web build). Also a too-long test docstring line.
2026-10-17 22:25:11 -04:00
spoopyghosty0 472c607efd Restart after a source/wheel update keeps a hidden console on Windows
DETACHED_PROCESS left the restarted FramePort without a console, so every console program it started (ssh, git) opened
its own visible terminal, and the Frame connection's ssh kept one open. CREATE_NO_WINDOW gives it a hidden console,
as the dev shortcut does.
2026-10-17 22:15:32 -04:00
spoopyghosty0 33bb14e034 FrameBridge: cube-only frames as quads (#385); CI: lint, foveation test
HardBullet's loading frames submit only a cube layer, which the Frame's runtime doesn't composite, so the loading
screen stayed black. Adapter setting cube_quads (default on) draws a cube-only frame's six faces as quad layers
around the viewer; frames with a projection layer are unchanged. Adapter rebuilt on current main.

Also: the foveation test expected a numeric FOVE_LEVEL to pass through (Valve's layer ignores numbers since #394),
a long description line and an import order in adapter_dialog.py failed lint.
2026-10-17 21:52:39 -04:00
spoopyghosty0 0c06e1142f Install links: GitHub file pages become raw.githubusercontent.com; release manifests named via the API
The install page shows a manifest's name, description and icon only when the manifest's host allows CORS. GitHub file pages (github.com/<o>/<r>/blob|raw/<ref>/<path>) are now turned into their raw.githubusercontent.com address by the page (preview and the frameport:// link it hands over) and by deeplink.parse (a /blob/ page is HTML, so FramePort couldn't install from it). Release downloads can't be read by any web page: the page shows the release's name and the repo's description from GitHub's API instead of 'A game or app'. INSTALL_BUTTON.md says where to host a manifest.
2026-10-17 21:48:26 -04:00
spoopyghosty0 358db1360f quest_buttons: rebuild the adapter on current main, regenerate patch docs and translations 2026-10-17 21:44:01 -04:00
spoopyghosty0 1b43c1c544 quest_buttons on main: rebuild the adapter with main's Batman changes, harness stub for mx_batman_geometry_initialize 2026-10-17 21:37:39 -04:00
spoopyghosty0 5ae303fc45 Controller buttons: experimental (pill in Game settings and Settings, note in the guide) 2026-10-17 21:37:24 -04:00
spoopyghosty0 72edbebac1 Controller diagram: draw the Steam Frame controllers (d-pad, face buttons, sticks, View/Menu, Steam) 2026-10-17 21:37:09 -04:00
spoopyghosty0 ca80018d98 Device notes: quest_buttons accepted by the Frame runtime headless; OVRPort workspace collisions 2026-10-17 21:37:07 -04:00
spoopyghosty0 a585e24647 Rebuild reviewed adapters and record Round 2 validation 2026-10-17 21:36:42 -04:00
spoopyghosty0 b42d85d7c4 Fix Frame binding ownership and accepted Touch translation 2026-10-17 21:36:41 -04:00
spoopyghosty0 c9501bd446 Clarify controller mode support and Round 2 validation 2026-10-17 21:36:40 -04:00