chore: remove stale comments
This commit is contained in:
@@ -65,7 +65,7 @@ npm run dev
|
||||
|
||||
Access the app at `http://localhost:3000`
|
||||
|
||||
> **Note:** The current upload contract accepts `model.gltf` and preserves it as GLTF. `.glb` uploads are rejected by validation.
|
||||
> **Note:** Uploads accept `model.gltf` and preserve it as GLTF. `.glb` uploads are rejected by validation.
|
||||
>
|
||||
> Local 3D preview supports `model.gltf` folders by resolving dropped companion files such as `model.bin` and textures through local object URLs.
|
||||
> The preview also shows a small model stats helper with estimated draw calls, meshes, triangles, materials, and texture count.
|
||||
@@ -168,7 +168,7 @@ update: upload-gltf update -> coffeetest
|
||||
🔄 color_tuyaux.jpg (compressed)
|
||||
```
|
||||
|
||||
Sections currently used:
|
||||
Commit sections:
|
||||
|
||||
- `📦 Model`
|
||||
- `🎨 Textures (color)`
|
||||
@@ -185,11 +185,11 @@ Symbols: `✅` new — `🔄` modified — `↔️` unchanged (model always re-p
|
||||
|
||||
Uploaded models are pushed to `public/models/<folderName>/` in the target repo.
|
||||
|
||||
## Current Limitations
|
||||
## 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.
|
||||
- The current upload contract expects a single `model.gltf` file plus optional flat support files (`.bin`, `.png`, `.jpg`, `.jpeg`, `.webp`).
|
||||
- Uploads expect a single `model.gltf` file plus optional flat support files (`.bin`, `.png`, `.jpg`, `.jpeg`, `.webp`).
|
||||
|
||||
## Project Structure
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ export default function FolderCard({ entry, index, onToggleViewer, onRemove }: F
|
||||
return (
|
||||
<div>
|
||||
<div className="flex items-center gap-3 bg-black-800 border border-white/20 rounded-xl px-4 py-3">
|
||||
{/* Status icon */}
|
||||
<div className="shrink-0">
|
||||
{entry.status === 'success' ? (
|
||||
<div className="w-8 h-8 rounded-full bg-green-900/30 flex items-center justify-center">
|
||||
@@ -45,7 +44,6 @@ export default function FolderCard({ entry, index, onToggleViewer, onRemove }: F
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Info */}
|
||||
<div className="flex-1 min-w-0">
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-sm text-gray-200 font-mono truncate">{entry.folderName}/</span>
|
||||
@@ -76,7 +74,6 @@ export default function FolderCard({ entry, index, onToggleViewer, onRemove }: F
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Remove button */}
|
||||
{entry.status !== 'uploading' && (
|
||||
<button
|
||||
onClick={() => onRemove(index)}
|
||||
@@ -88,12 +85,10 @@ export default function FolderCard({ entry, index, onToggleViewer, onRemove }: F
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Warning banner */}
|
||||
{entry.status !== 'success' && (
|
||||
<WarningBanner warnings={entry.warnings} />
|
||||
)}
|
||||
|
||||
{/* 3D preview */}
|
||||
{entry.modelUrl && entry.status !== 'success' && (
|
||||
<div
|
||||
className={`transition-all duration-300 ease-in-out overflow-hidden ${
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
// Shared constants — used by both client and server
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export const MODEL_EXTENSIONS = new Set(['.gltf'])
|
||||
export const TEXTURE_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.webp'])
|
||||
export const ASSET_EXTENSIONS = new Set(['.bin'])
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
// Shared types
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
import type { AssetCategory } from './asset-classification'
|
||||
|
||||
export interface ParsedFile {
|
||||
|
||||
Reference in New Issue
Block a user