Flutter looks good to develop on screens with various sizes, issue is that it's a different programming language, and doesn't have much support for libraries such as three.js
React native looks good because of library support, also pre-existing familiarity with react/js
Experiment with React Native -> just run the emulator on powershell bro, wsl is not worth - have a separate installation on windows alongside wsl just for app dev
Get a CAD file/render of the sunswift car, and try to render it using three.js
Experiment with tailwind/random frameworks for data visualisation
Look into experimenting with Google maps API
Getting data from backend
Need to see what data can be taken from Grafana -> maybe make some routing for backend or somehow connect the app to the influxDB or whatever the data on the vehicle is stored on
From there, seeing what libraries can be used to visualise data
Need to run npx expo start using powershell otherwise hot reload will not work
Errors with rendering .obj and .glb files with React Native, ranging from errors with the various loaders etc.
Lots of people have the same issues with React Native, seems to work with standard React but not Native
Fix: WIP
Tried changing the metro.config.js file but still running into issues - see below
Unable to resolve "missing-asset-registry-path" from "node_modules\expo-router\assets\file.png"
This was as a result of changing the metro.config.js file to try and work with loading .obj model files
Fix: WIP
People suggesting different changes to the metro.config.js file but that conflicts with the changes to the file for loading .obj
If orbitControls stops working, just restart expo go
Sometimes expo go doesn't render/bundle the app properly when running -> network issue also need to make sure both smartphone and terminal are running on the same network
Use eduroam at uni
Permissions error: Just cold boot/restart the app
OBJLoader doesn't seem to work to render models, convert to .stl and use STLLoader
React-Three/drei has really buggy/shitty imports that don't seem to work with React Native
useTexture and useHelper don't seem to work
document.getElementByTagName is not a function (it is undefined) -> most likely because it is not React and thus, no HTML/DOM manipulation allowed
LottieLoader errors, just reset expo and its cache
16/7: Finally got the fucking model to render, decided to switch from .glb to .stl and managed to get more luck that way
a lot of troubleshooting and finding out that a lot of react libraries/packages are just not compatible in react-native, especially for the 3d rendering stuff
also ran into issues where the model was just too high detail and wasn't able to be rendered so had to reduce triangle count:
also A LOT of libraries/packages are installed using --legacy-peer-deps because of conflicting packages between react and react-native versions
17/7: Implemented axes helper, and managed to render a plane/surface and a tyre
Idea to change tyres to accept position so that I can create multiple of them and specify their positioning -> group them together and have them rotate all individually when specified
19/7: Managed to render wheels on the vehicle, and also apply road texture to a platform via an image url -> show car moving on a track
Implemented basic wind streaks to show car is driving, but current bugs in how the wind streaks keep spawning and despawning at random intervals