etherealengine
etherealengine copied to clipboard
Add support for project manifest.json
Summary
- Adds manifest.json spec to supersede package.json and xrengine.config.ts as required project files
- Makes asset service generic instead of specific for scene GLTFs
- Adds helpful resolvers to asset and location services
- Improve git API unit tests
- Upload all resources to storage provider as part of seeding projects
- Studio file upload helper functions no longer hardcodes directory for uploaded assets
- A manifest.json automatically generates in projects that do not have one
- Scene CRUD operations update manifest.json scenes field
Subtasks Checklist
Breaking Changes
References
closes #insert number here
QA Steps
You can rename a scene into an already existing scene and it fails in SQL but pushes to manifest.
So default when no scenes are detected is no scenes key (edited) but if you delete all scenes it's scenes: [] could lead to logic issues if the condition only checks for length
You can rename a scene into an already existing scene and it fails in SQL but pushes to manifest.
So default when no scenes are detected is no scenes key (edited) but if you delete all scenes it's scenes: [] could lead to logic issues if the condition only checks for length
Restructuring into after hooks will take a bit of work, and I can just solve that one problem and we can use validators to ensure the data is compliant before it hits the mutation hooks. We can restructure the effects of hooks another time, but it is a good point to raise.