https://github.com/virtuallyaverage/vrch-gui
https://github.com/virtuallyaverage/vrch-gui
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/virtuallyaverage/vrch-gui
- Owner: virtuallyaverage
- Created: 2025-01-19T22:50:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-25T21:14:50.000Z (over 1 year ago)
- Last Synced: 2025-01-25T22:34:47.301Z (over 1 year ago)
- Language: Rust
- Size: 66.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VRC Haptics
## Already Massively out of date. Development continued here: https://github.com/VRC-Haptics/VRCH-Server
A GUI interface for providing osc haptics from Vrchat.
# Usage
After the first setup it should be simple plug and play with no need for user configuration on each startup.
## First Time setup
Grab the installer from the releases page and it should install on windows.
- _MDNS sidecars are the only thing I can think of that would stop it working on other platforms, since they are precomiled executables. If you have a solution to this it would be much appreciated!_
Once installed, it should be as simple as opening the application and assigning which parameters you want your device tied to. Here are the basics:
- All parameters must have a base of `/h`, parameters without this prefix are not currently tracked by the program.
- Since it is possible to have a large number of haptic nodes, the parameters are divided up into groups, and are formatted like so: Group{`Front@0:15`}; `/h/Front_0, /h/Front_1, ...., /h/Front_15`
- Singular nodes can be represented by: Group{`Front@0:0`}
# Development
## setup:
#### Development
- `pnpm i` -> Install dependencies (both rust and node)
- `pnpm run tauri dev` -> Start the dev server.
#### Build:
- `pnpm i` -> Install dependencies (both rust and node)
- `pnpm run tauri build` -> Builds installer under: `./src-tauri/target/release/bundle/`
#### Sidecars:
This project has two C# sidecars, for mdns discovery (since rust sucks with it).
The source code for them can be found here:
- VRC: [oyasumivr_oscquery](https://github.com/Raphiiko/oyasumivr_oscquery/tree/main/src-mdns-sidecar)
- Haptics: [basic-mdns-cli](https://github.com/virtuallyaverage/basic-mdns-cli)
This is a project VERY early in its development so reporting issues and making contributions (even if they are small) is much appreciated.
## TODO's:
### Backend:
- Implement: VRC OSC client
- Currently only can recieve messages from VRC
- Implement: VRC radial configuration
- Intensity Scaling (less BRRR).
- Intensity Offset (mimic smaller contacts).
- Use Tauri Store to save previous settings.
- restore settings across avatars.
### Frontend:
- Fix: Group editor
- Complete rework or small edits is fine
- Show generated addresses for debugging
- Fix: scaling across different DPI windows
- Refactor: Context providers
- I am new to react and know the way I set them up is not optimal
- Implement: Game Settings
- Show number of parameters found on avatar (like vrcft)
- show raw paramers
- settings like intensity
- Working
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
(I used Jetbrains Rider for the C# sidecars)