Cross-Platform File-Manager #574
Labels
No labels
Context: Async
Context: Bug
Context: CI
Context: Dependencies
Context: Documentation
Context: Enhancement
Context: Example
Context: Macro
Context: Runtime
Difficulty: Easy
Difficulty: Hard
Difficulty: Medium
Platform: Android
Platform: Linux
Platform: Web
Platform: Windows
Platform: iOS
Platform: macOS
Type: Discussion
Type: Evaluation
Type: Tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
SakulFlee/Orbital#574
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We can currently only run the Engine on Desktop platforms like Linux, macOS and Windows.
Other platforms like mobile (Android & iOS) and web are unsupported due to this limitation.
This Cross-Platform File-Manager should expose an API to be used universally by every part of this project, fully replacing the need to interface with native file APIs.
The API needs to be able to read and write on each platform.
We should distinguish files between assets (read-only) and custom user defined files (read-only or read-write).
Custom user defined files can be something like a config included with the app, but can also refer to something like a local save game file.
We should generalize how to access files without needing the full path.
For example, on desktop platforms, we can probably load assets from the current working directory (or the directory where our current executable is inside). E.g.:
./assets/cube.glb.However, on mobile platforms, we need to load these assets from the app file. E.g.:
//OurApp.(apk|ipa)/Assets/cube.glb.Lastly, on websites, we'd need to make a GET request. E.g.:
https://<domain.tld>/assets/cube.glb.All of those file paths above should be loadable via a simple request like
cube.glb.Depending on the platform, the correct path should be figured out.
This'll be required for: