chore: prepare v1.0.0 release
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# upload-GLTF
|
||||
|
||||
Version: `1.0.0`
|
||||
|
||||
A secure web interface for uploading `model.gltf` with its associated `.bin` file and textures with two outputs:
|
||||
|
||||
- **Nextcloud Drive** — Archives the original files with automatic versioning (VF/V1/V2...), so artists always have a history of past versions.
|
||||
@@ -146,6 +148,8 @@ All files are uploaded to `VF/` (not just diffs), because the move operation emp
|
||||
- The upload flow prevents duplicate submissions on the client (`Envoyer`, overwrite confirmation, and "Git only" confirmation are locked while processing)
|
||||
- The server applies a lightweight per-folder lock on Drive and Git routes to avoid duplicate commits and concurrent writes
|
||||
- The folder is staged server-side so the browser sends the payload only once during the full upload flow
|
||||
- Invalid `model.gltf` JSON or malformed `buffers` entries block the upload before remote writes
|
||||
- Git LFS uploads are batched in groups of 100 objects to stay within the GitHub LFS Batch API limit
|
||||
|
||||
### Commit messages
|
||||
|
||||
@@ -199,7 +203,7 @@ Uploaded models are pushed to `public/models/<folderName>/` in the target repo.
|
||||
## Limitations
|
||||
|
||||
- Large uploads are faster than before because the folder is staged only once, but the Drive upload remains sequential.
|
||||
- Git LFS uploads are still sequential.
|
||||
- Git LFS batch uploads are sequential by batch.
|
||||
- Uploads expect a single `model.gltf` file plus optional flat support files (`.bin`, `.png`, `.jpg`, `.jpeg`, `.webp`).
|
||||
|
||||
## Project Structure
|
||||
@@ -240,6 +244,7 @@ lib/
|
||||
├── types.ts # Server types (ParsedFile, FileDiff, staged asset metadata, etc.)
|
||||
├── client-types.ts # Client types (FolderEntry, DriveStatus, etc.)
|
||||
├── upload-api.ts # Client-side API helpers (stage, check, uploadDrive, uploadGit)
|
||||
├── guards.ts # Shared runtime guards and error message helpers
|
||||
├── diff-files.ts # File diff classification (new/changed/unchanged/deleted)
|
||||
├── sanitize.ts # Filename sanitization
|
||||
├── auth.ts # Upload secret validation (timing-safe)
|
||||
|
||||
Reference in New Issue
Block a user