SimulaVR / SimulaVR/Simula

Feature Request: AR window pinning, Sphere/cube/carousel pinning, and "wall mode"

Open
#174 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
3.2k
Forks
111
PR merge metrics
No merged PRs in 30d

Description

Hi!

I'm very excited about this project. I want to take time to learn everything I can, but from this "how can this be better than several external monitors" perspective, I had these thoughts:

  1. AR window pinning

In this mode, you would be viewing what's around you in your house/office. Simula would be recognizing flat surfaces from the camera feed and allowing you to pin windows to surfaces (floors, ceilings, walls, etc). You'd be able to walk around in a physical space to essentially adhere virtual windows to surfaces. Seems exhausting, but I love the idea in my open floorplan home. Fahrenheit 451 is supposed to scare you but I love the idea of wall screens. Zooming is accomplished by physically walking to our backing away from an adhered window. I know there are some privacy concerns but at some point I think you'd want very fine location/movement detection like GPS + wifi + accelerometer.

  1. Sphere pinning

This could be a separate mode, or an extension of the 1st. You would have the option of pinning things to surfaces around you, or creating a walking "sphere" or cube or carousel around yourself to hang windows/surfaces on. As you move, the sphere of windows moves. You would not have control of the angles or rotations. Windows would be at a sort of "optimal distance" for viewing adhered to this virtual sphere.

Another way of envisioning this is no AR. You exist within a sphere and there's nothing outside that.

  1. Wall mode

This the thought I like the most: Either there is a virtual flat wall created for you, or you're sitting in front of a physical wall in your house. You post windows to the wall and they're sort of maximized like the tiled, flowing image viewer Google Photos has. At the left and right sides of this virtual wall the windows fade out. You can tab between windows and that briefly transitions all windows 'stacked' on the wall to then focus the one you navigate to. This would look similar to how you tile and Windows-tab to switch applications in Windows.

You could take this further by saying "okay, the user can create any number of virtual objects within this 3d space, and adhere windows to the surfaces of those objects". You can then create a bunch of boxes to "virtualize" having several extended monitors you'd find at a traditional desk. It occurs to me that in a 3d space you could have windows of infinite size/geometry, too. I don't know how that would be handled, considering you'd never have the full window in memory. There'd need to be some sort of protocol to ask the program "hey, I need 0,50 through 50,100 of this surface". Or even handing it a mask to paint within? not sure at all how this looks from the programming side.

There are several hundred ways one could envision using virtual screens through VR goggles and extending that to AR. I hope I've given some useful ideas. I've even thought about just being able to recognize shapes/edges/outlines and affixing a window within that. Maybe climb the roof of my house and attach the youtube window to the moon and just watch the stars alongside video game dunkey? There's so much one could do with this.

I hope this post does NOT come across like "I'm a new user! Forget everything an implement this!" I like what I see currently. I know it will annoy me if I can't align windows in this 3d space. Freely positioning them will look like misaligned picture frames.

My intention was to share some brainstorming ideas :-)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue identifies no files, tests, or entry points. Before implementation, a maintainer would need to choose and scope one of the proposed modes, define concrete behavior and acceptance criteria, and identify the relevant rendering and window-management areas.

Written by the indexing model from the issue text.

Assessment

Domain
ar-vr-xr, desktop-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.