chore: checkpoint web Blender feature-gap work, docs and tests
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

- update native web_engine sources and rebuilt wasm artifacts
- add task cards, status notes and tooling scripts
- add web e2e specs, tutorial UI sources and tutorial assets
- sync golden task manifests and audit records

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-11 10:46:55 +08:00
parent f3e21c6b98
commit d1e6b63d54
665 changed files with 59149 additions and 39194 deletions

View File

@@ -156,11 +156,13 @@ export type WebEngineEditCommand =
| { type: "setActiveUVMap"; meshId: string; name: string }
| { type: "unwrapUV"; meshId: string; faceIndices: number[]; method: "PLANAR" | "CUBE" }
| { type: "addMaterialSlot"; objectId: string; name?: string }
| { type: "assignMaterialSlot"; objectId: string; materialId: string; slotIndex?: number }
| { type: "removeMaterialSlot"; objectId: string; slotIndex: number }
| { type: "assignMaterialFaces"; meshId: string; faceIndices: number[]; slotIndex: number }
| { type: "setMaterialPrincipled"; materialId: string; baseColor: [number, number, number, number]; roughness: number; metallic: number; emissionColor?: [number, number, number, number]; alpha?: number; ior?: number; specularIORLevel?: number; transmissionWeight?: number; coatWeight?: number; coatRoughness?: number; emissionStrength?: number }
| { type: "importImage"; name: string; mimeType: "image/png" | "image/jpeg"; width: number; height: number; base64: string }
| { type: "setMaterialImageNode"; materialId: string; imageId: string; usage: "BASE_COLOR" | "NORMAL"; uvMap?: string }
| { type: "packImage"; imageId: string; mimeType: "image/png" | "image/jpeg"; width: number; height: number; base64: string }
| { type: "setMaterialImageNode"; materialId: string; imageId: string; usage: "BASE_COLOR" | "METALLIC" | "ROUGHNESS" | "EMISSION" | "ALPHA" | "NORMAL"; uvMap?: string }
| { type: "insertObjectKeyframe"; objectId: string; frame: number; property: "LOCATION" | "ROTATION_EULER" | "SCALE"; interpolation?: FCurveInterpolation }
| { type: "deleteObjectKeyframe"; objectId: string; frame: number; property?: "LOCATION" | "ROTATION_EULER" | "SCALE" }
| { type: "createAction"; name: string; objectId?: string; useFakeUser?: boolean }
@@ -180,7 +182,10 @@ export type WebEngineEditCommand =
| { type: "setParents"; objectIds: string[]; parentId: string | null; keepTransform?: boolean }
| { type: "createCollection"; name: string; parentCollectionId?: string | null }
| { type: "moveObjectToCollection"; objectId: string; collectionId: string; keepExistingLinks?: boolean }
| { type: "moveCollection"; collectionId: string; parentCollectionId?: string | null }
| { type: "moveCollection"; collectionId: string; parentCollectionId?: string | null; anchorCollectionId?: string | null; after?: boolean }
| { type: "deleteCollection"; collectionId: string; hierarchy?: boolean }
| { type: "setScene"; sceneId: string }
| { type: "setActiveCollection"; collectionId: string }
| { type: "renameId"; id: string; name: string }
| { type: "joinObjects"; activeObjectId: string; objectIds: string[] }
| { type: "separateMeshFaces"; objectId: string; faceIndices: number[]; name?: string }