docs: refresh project structure notes

This commit is contained in:
Tom Boullay
2026-05-13 17:50:34 +02:00
parent f6ac71dad2
commit be4cf502d1
2 changed files with 6 additions and 10 deletions
+1 -5
View File
@@ -27,7 +27,7 @@ FROM node:20-slim AS runner
LABEL maintainer="La Fabrik Durable" LABEL maintainer="La Fabrik Durable"
LABEL description="Secure GLTF upload interface with Draco compression and GitHub push" LABEL description="Secure GLTF upload interface with Draco compression and GitHub push"
# Install Blender (headless) + runtime helpers # Blender is required for server-side Draco GLB export.
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
blender \ blender \
tini \ tini \
@@ -41,18 +41,14 @@ ENV NEXT_TELEMETRY_DISABLED=1
ENV PORT=3000 ENV PORT=3000
ENV HOSTNAME=0.0.0.0 ENV HOSTNAME=0.0.0.0
# Copy build artifacts
COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public COPY --from=builder /app/public ./public
# Copy the Blender compression script
COPY --from=builder /app/scripts ./scripts COPY --from=builder /app/scripts ./scripts
# Ensure tmp dir for uploads exists
RUN mkdir -p /tmp/assets RUN mkdir -p /tmp/assets
# Copy entrypoint
COPY docker-entrypoint.sh /docker-entrypoint.sh COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh
+5 -5
View File
@@ -161,8 +161,8 @@ components/
│ ├── DriveErrorModal.tsx # "Drive failed, continue?" dialog │ ├── DriveErrorModal.tsx # "Drive failed, continue?" dialog
│ └── ActionButtons.tsx # Upload / Cancel / Reset buttons │ └── ActionButtons.tsx # Upload / Cancel / Reset buttons
├── UploadZone.tsx # Main upload page (rendering only) ├── UploadZone.tsx # Main upload page (rendering only)
├── ModelViewer.tsx # Lazy wrapper for 3D viewer ├── ModelViewer.tsx # 3D viewer shell, stats panel, and hierarchy panel
└── SceneViewer.tsx # Three.js Canvas └── SceneViewer.tsx # Three.js Canvas, model stats, and scene hierarchy extraction
hooks/ hooks/
├── useSecret.ts # Secret key state management ├── useSecret.ts # Secret key state management
├── useFolderEntries.ts # Folder entries state management ├── useFolderEntries.ts # Folder entries state management
@@ -170,7 +170,7 @@ hooks/
lib/ lib/
├── constants.ts # Shared constants and extensions ├── constants.ts # Shared constants and extensions
├── types.ts # Server types (ParsedFile, FileDiff, staged asset metadata, etc.) ├── types.ts # Server types (ParsedFile, FileDiff, staged asset metadata, etc.)
├── client-types.ts # Client types (FolderEntry, DriveStatus, etc.) ├── client-types.ts # Client types (FolderEntry, DriveStatus, viewer contracts, etc.)
├── upload-api.ts # Client-side API helpers (stage, check, uploadDrive, uploadGit) ├── upload-api.ts # Client-side API helpers (stage, check, uploadDrive, uploadGit)
├── guards.ts # Shared runtime guards and error message helpers ├── guards.ts # Shared runtime guards and error message helpers
├── diff-files.ts # File diff classification (new/changed/unchanged/deleted) ├── diff-files.ts # File diff classification (new/changed/unchanged/deleted)
@@ -190,7 +190,7 @@ lib/
scripts/ scripts/
└── compress.py # Blender Draco compression script └── compress.py # Blender Draco compression script
Dockerfile # Multi-stage build: Node 20 slim + Blender + tini Dockerfile # Multi-stage build: Node 20 slim + Blender + tini
docker-entrypoint.sh # Startup check + launch docker-entrypoint.sh # Upload temp setup + Blender availability check
``` ```
## Installation ## Installation
@@ -259,6 +259,6 @@ Git delivery outputs `.glb` by default, or keeps the source `.gltf` structure wh
## License ## License
See [MIT](LICENSE) License See [MIT](LICENSE).
Copyright 2026 La Fabrik Durable. All rights reserved. Copyright 2026 La Fabrik Durable. All rights reserved.