xurfer/README.md

48 lines
2.1 KiB
Markdown

## Usage
Download/run the binaries for your platform in the releases section.<br>
Developers can run it via [LÖVR](https://lovr.org) or [LÖVE2D](https://love2d.org)
```
$ love xurfer <url> # if you have LÖVE2D installed (>v12)
$ lovr xurfer <url> # if you have LÖVR installed
```
**Example**: lovr xurfer <a href="https://snips.sh/f/_U5-XctEVE?r=1">https://snips.sh/f/_U5-XctEVE?r=1</a>
![](xurfer.webp)
## Multiplatform Multimodal XR Browser
The aim of this project is providing **one [XR Hypermedia browser](https://xrhf.isvery.ninja) codebase** which gracefully degrades to handheld/embedded/braille devices:
* mac/win/linux/android via [LÖVE2D](https://love2d.org)
* mac/win/linux/android via [LÖVR](https://lovr.org)
* Web (2D) via [love.js](https://github.com/Davidobot/love.js)
* Nintendo 3DS, Switch, and Wii via [lovebrew](https://lovebrew.org/)
* Handhelds: Steamdeck, Anbernic, Gameforce, Game Kiddy, Powkiddy (..and more) via [portmaster](https://portmaster.games/supported-devices.html)
* Game emulators via [lutro](https://lutro.libretro.com/)
* Embedded devices via [nelua](https://nelua.io) or straightup [lua](https://lua.org)
## XR URI support
| type | supported standards | extension | platforms |
|-------|----------------|----------|--|-----------|
| `.glb` `.gltf` | [khronos/gltf](https://www.khronos.org/gltf/) geometry + [xrfragment level 2](https://xrfragment.org/#%F0%9F%93%9C%20level2%3A%20explicit%20hyperlinks) | [3DFile](xurfer/ext/3DFile/main.lua) | lovr |
| `.obj` | [WaveFront OBJ](https://docs.fileformat.com/3d/obj/)| [3DFile](xurfer/ext/3DFile/main.lua) | lovr |
| any URL/file | [Janus](https://coderofsalvation.github.io/janus-guide/) Markup Language (JML) + [xrfragment level 0+1+2](https://xrfragment.org) | [janusxr](xurfer/ext/janusxr/main.lua) | all |
## very hackable extensions
* XURFER does everything via browser extensions.<br>
* XURFER is the total sum of browser extensions.<br>
So you can strip/bloat however you want, or build one yourself:
```
$ cp xurfer/ext/skeleton xurfer/ext/myextension
$ sed 's|skeleton|myextension|g' xurfer/ext/myextension/*
$ ./lovr xurfer
[i] loading 'myextension'
...
```