Use workspaces modules, update ci, update solarxr

This commit is contained in:
lucas lelievre
2022-11-19 23:27:04 +01:00
13 changed files with 31644 additions and 58 deletions

View File

@@ -24,6 +24,8 @@ jobs:
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2

4
.gitignore vendored
View File

@@ -24,3 +24,7 @@
# Node Stuff
/node_modules
.husky
# ignore gradle build folder
build/

View File

@@ -6,7 +6,6 @@
},
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
@@ -18,7 +17,7 @@
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["react", "react-hooks", "@typescript-eslint", "prettier"],
"plugins": ["react-hooks", "@typescript-eslint", "prettier"],
"rules": {
"react/react-in-jsx-scope": "off",
"react/prop-types": "off",

54
gui/package-lock.json generated
View File

@@ -30,7 +30,7 @@
"eslint-config-react-app": "^7.0.0",
"eslint-webpack-plugin": "^3.1.1",
"file-loader": "^6.2.0",
"flatbuffers": "^2.0.6",
"flatbuffers": "^22.10.26",
"fs-extra": "^10.0.0",
"html-webpack-plugin": "^5.5.0",
"identity-obj-proxy": "^3.0.0",
@@ -52,14 +52,14 @@
"react-dev-utils": "^12.0.0",
"react-dom": "^18.0.0",
"react-hook-form": "^7.29.0",
"react-modal": "^3.15.1",
"react-modal": "3.15.1",
"react-refresh": "^0.11.0",
"react-router-dom": "^6.2.2",
"resolve": "^1.20.0",
"resolve-url-loader": "^4.0.0",
"sass-loader": "^12.3.0",
"semver": "^7.3.5",
"solarxr-protocol": "github:SlimeVR/SolarXR-Protocol",
"solarxr-protocol": "file:../solarxr-protocol",
"source-map-loader": "^3.0.0",
"style-loader": "^3.3.1",
"tailwindcss": "^3.0.2",
@@ -80,9 +80,9 @@
"@types/jest": "^27.4.1",
"@types/math3d": "^0.2.3",
"@types/node": "^16.11.26",
"@types/react": "^17.0.43",
"@types/react": "18.0.25",
"@types/react-dom": "^18.0.5",
"@types/react-modal": "^3.13.1",
"@types/react-modal": "3.13.1",
"@typescript-eslint/eslint-plugin": "^5.30.0",
"@typescript-eslint/parser": "^5.30.0",
"autoprefixer": "^10.4.4",
@@ -104,6 +104,17 @@
"tailwindcss": "^3.0.23"
}
},
"../solarxr-protocol": {
"version": "0.0.0",
"license": "(MIT OR Apache-2.0)",
"dependencies": {
"flatbuffers": "^22.10.26"
},
"devDependencies": {
"@mgit-at/typescript-flatbuffers-codegen": "^0.1.3",
"typescript": "4.8.4"
}
},
"node_modules/@ampproject/remapping": {
"version": "2.2.0",
"license": "Apache-2.0",
@@ -3813,9 +3824,10 @@
"license": "MIT"
},
"node_modules/@types/react": {
"version": "17.0.47",
"version": "18.0.25",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz",
"integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -7946,8 +7958,9 @@
}
},
"node_modules/flatbuffers": {
"version": "2.0.6",
"license": "SEE LICENSE IN LICENSE.txt"
"version": "22.10.26",
"resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-22.10.26.tgz",
"integrity": "sha512-sdO3emf/BlLfOogW6KwHuXg16APR/E86jNacDXfSInPzt8SSEzxlHcqDekfM/IJ1CGC5bvDksfNufNhS8h1FRA=="
},
"node_modules/flatted": {
"version": "3.2.6",
@@ -14773,12 +14786,8 @@
}
},
"node_modules/solarxr-protocol": {
"version": "1.0.0",
"resolved": "git+ssh://git@github.com/SlimeVR/SolarXR-Protocol.git#86eb9aa6b5126d363570250831663a7ba9920c23",
"license": "(MIT OR Apache-2.0)",
"dependencies": {
"flatbuffers": "^2.0.6"
}
"resolved": "../solarxr-protocol",
"link": true
},
"node_modules/source-list-map": {
"version": "2.0.1",
@@ -18763,7 +18772,9 @@
"version": "1.2.4"
},
"@types/react": {
"version": "17.0.47",
"version": "18.0.25",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz",
"integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==",
"dev": true,
"requires": {
"@types/prop-types": "*",
@@ -21353,7 +21364,9 @@
}
},
"flatbuffers": {
"version": "2.0.6"
"version": "22.10.26",
"resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-22.10.26.tgz",
"integrity": "sha512-sdO3emf/BlLfOogW6KwHuXg16APR/E86jNacDXfSInPzt8SSEzxlHcqDekfM/IJ1CGC5bvDksfNufNhS8h1FRA=="
},
"flatted": {
"version": "3.2.6"
@@ -25334,10 +25347,11 @@
}
},
"solarxr-protocol": {
"version": "git+ssh://git@github.com/SlimeVR/SolarXR-Protocol.git#86eb9aa6b5126d363570250831663a7ba9920c23",
"from": "solarxr-protocol@github:SlimeVR/SolarXR-Protocol",
"version": "file:../solarxr-protocol",
"requires": {
"flatbuffers": "^2.0.6"
"@mgit-at/typescript-flatbuffers-codegen": "^0.1.3",
"flatbuffers": "^22.10.26",
"typescript": "4.8.4"
}
},
"source-list-map": {

View File

@@ -25,7 +25,7 @@
"eslint-config-react-app": "^7.0.0",
"eslint-webpack-plugin": "^3.1.1",
"file-loader": "^6.2.0",
"flatbuffers": "^2.0.6",
"flatbuffers": "^22.10.26",
"fs-extra": "^10.0.0",
"html-webpack-plugin": "^5.5.0",
"identity-obj-proxy": "^3.0.0",
@@ -47,14 +47,14 @@
"react-dev-utils": "^12.0.0",
"react-dom": "^18.0.0",
"react-hook-form": "^7.29.0",
"react-modal": "^3.15.1",
"react-modal": "3.15.1",
"react-refresh": "^0.11.0",
"react-router-dom": "^6.2.2",
"resolve": "^1.20.0",
"resolve-url-loader": "^4.0.0",
"sass-loader": "^12.3.0",
"semver": "^7.3.5",
"solarxr-protocol": "github:SlimeVR/SolarXR-Protocol",
"solarxr-protocol": "file:../solarxr-protocol",
"source-map-loader": "^3.0.0",
"style-loader": "^3.3.1",
"tailwindcss": "^3.0.2",
@@ -103,11 +103,11 @@
"@types/jest": "^27.4.1",
"@types/math3d": "^0.2.3",
"@types/node": "^16.11.26",
"@types/react": "^17.0.43",
"@types/react": "18.0.25",
"@types/react-dom": "^18.0.5",
"@types/react-modal": "^3.13.1",
"@typescript-eslint/eslint-plugin": "^5.30.0",
"@typescript-eslint/parser": "^5.30.0",
"@types/react-modal": "3.13.1",
"@typescript-eslint/eslint-plugin": "^5.43.0",
"@typescript-eslint/parser": "^5.43.0",
"autoprefixer": "^10.4.4",
"cross-env": "^7.0.3",
"eslint": "^8.18.0",

View File

@@ -15,7 +15,7 @@ export function EmptyModal({
'fixed top-0 right-0 left-0 bottom-0 flex flex-col justify-center items-center w-full h-full bg-background-90 bg-opacity-60 z-20'
)}
className={classNames(
props.className,
props.className as string,
'items-center focus:ring-transparent focus:ring-offset-transparent focus:outline-transparent outline-none'
)}
>

View File

@@ -27,7 +27,7 @@ interface SettingsForm {
trackers: {
waist: boolean;
chest: boolean;
legs: boolean;
feet: boolean;
knees: boolean;
elbows: boolean;
};
@@ -61,7 +61,7 @@ export function GeneralSettings() {
chest: false,
elbows: false,
knees: false,
legs: false,
feet: false,
},
toggles: {
extendedSpine: true,
@@ -83,7 +83,7 @@ export function GeneralSettings() {
const trackers = new SteamVRTrackersSettingT();
trackers.waist = values.trackers.waist;
trackers.chest = values.trackers.chest;
trackers.legs = values.trackers.legs;
trackers.feet = values.trackers.feet;
trackers.knees = values.trackers.knees;
trackers.elbows = values.trackers.elbows;
settings.steamVrTrackers = trackers;
@@ -204,7 +204,7 @@ export function GeneralSettings() {
variant="toggle"
outlined
control={control}
name="trackers.legs"
name="trackers.feet"
label="Feet"
/>
<CheckBox

31564
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,16 +2,20 @@
"name": "slimevr-ui",
"version": "0.2.0",
"private": true,
"workspaces": [
"solarxr-protocol",
"gui"
],
"scripts": {
"start": "cd gui && cross-env BROWSER=none node scripts/start.js",
"gui": "cd gui && npm run tauri dev",
"server": "gradlew.bat run",
"build": "cd gui && npm run tauri build",
"gui": "npm run update-solarxr && cd gui && npm run tauri dev",
"tauri": "cd gui && npm run tauri",
"preinstall": "cd gui && npm install",
"prepare": "husky install"
"build": "npm run tauri build",
"update-solarxr": "cd solarxr-protocol && npm run build",
"prepare": "husky install && npm run update-solarxr"
},
"devDependencies": {
"husky": "^8.0.2"
"@typescript-eslint/parser": "^5.43.0",
"husky": "^8.0.2",
"typescript": "^4.9.3"
}
}
}

View File

@@ -47,7 +47,7 @@ dependencies {
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation group: 'com.google.flatbuffers', name: 'flatbuffers-java', version: '2.0.3'
implementation group: 'com.google.flatbuffers', name: 'flatbuffers-java', version: '22.10.26'
implementation group: 'commons-cli', name: 'commons-cli', version: '1.3.1'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.6.1'
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.13.3'

View File

@@ -43,15 +43,18 @@ public class DataFeedBuilder {
HardwareInfo.startHardwareInfo(fbb);
HardwareInfo.addFirmwareVersion(fbb, nameOffset);
HardwareInfo.addManufacturer(fbb, manufacturerOffset);
HardwareInfo
.addIpAddress(
fbb,
Ipv4Address
.createIpv4Address(
fbb,
ByteBuffer.wrap(device.getIpAddress().getAddress()).getInt()
)
);
var ipAddr = device.getIpAddress();
if (ipAddr != null && ipAddr.getAddress() != null) {
HardwareInfo
.addIpAddress(
fbb,
Ipv4Address
.createIpv4Address(
fbb,
ByteBuffer.wrap(ipAddr.getAddress()).getInt()
)
);
}
// BRUH MOMENT
// TODO need support: HardwareInfo.addHardwareRevision(fbb,
// hardwareRevisionOffset);

View File

@@ -340,7 +340,7 @@ public class RPCHandler extends ProtocolHandler<RpcMessageHeader>
}
int settings = SettingsResponse
.createSettingsResponse(fbb, steamvrTrackerSettings, filterSettings, modelSettings);
.createSettingsResponse(fbb, steamvrTrackerSettings, filterSettings, 0, modelSettings);
int outbound = createRPCMessage(fbb, RpcMessage.SettingsResponse, settings);
fbb.finish(outbound);
conn.send(fbb.dataBuffer());
@@ -358,8 +358,8 @@ public class RPCHandler extends ProtocolHandler<RpcMessageHeader>
.getVRBridge(WindowsNamedPipeBridge.class);
bridge.changeShareSettings(TrackerRole.WAIST, req.steamVrTrackers().waist());
bridge.changeShareSettings(TrackerRole.CHEST, req.steamVrTrackers().chest());
bridge.changeShareSettings(TrackerRole.LEFT_FOOT, req.steamVrTrackers().legs());
bridge.changeShareSettings(TrackerRole.RIGHT_FOOT, req.steamVrTrackers().legs());
bridge.changeShareSettings(TrackerRole.LEFT_FOOT, req.steamVrTrackers().feet());
bridge.changeShareSettings(TrackerRole.RIGHT_FOOT, req.steamVrTrackers().feet());
bridge.changeShareSettings(TrackerRole.LEFT_KNEE, req.steamVrTrackers().knees());
bridge.changeShareSettings(TrackerRole.RIGHT_KNEE, req.steamVrTrackers().knees());
bridge.changeShareSettings(TrackerRole.LEFT_ELBOW, req.steamVrTrackers().elbows());