feat(web): complete portable Blender feature gaps
This commit is contained in:
@@ -17,6 +17,24 @@ export const meshAuthoringCommands = Object.freeze({
|
||||
...(options.segments === undefined ? {} : { segments: options.segments }),
|
||||
};
|
||||
},
|
||||
meshSubdivide(meshId: string, selectionMode: MeshElementMode, elementIndices: readonly number[], segments = 1): MeshCommand<"meshSubdivide"> {
|
||||
return { type: "meshSubdivide", meshId, selectionMode, elementIndices: [...elementIndices], segments: Math.max(1, Math.min(64, Math.trunc(segments))) };
|
||||
},
|
||||
meshTriangulate(meshId: string, faceIndices: readonly number[]): MeshCommand<"meshTriangulate"> {
|
||||
return { type: "meshTriangulate", meshId, faceIndices: [...faceIndices] };
|
||||
},
|
||||
meshRecalculateNormals(meshId: string, faceIndices: readonly number[]): MeshCommand<"meshRecalculateNormals"> {
|
||||
return { type: "meshRecalculateNormals", meshId, faceIndices: [...faceIndices] };
|
||||
},
|
||||
meshBridgeLoops(meshId: string, edgeIndices: readonly number[]): MeshCommand<"meshBridgeLoops"> {
|
||||
return { type: "meshBridgeLoops", meshId, edgeIndices: [...edgeIndices] };
|
||||
},
|
||||
meshDeleteElements(meshId: string, selectionMode: MeshElementMode, elementIndices: readonly number[]): MeshCommand<"meshDeleteElements"> {
|
||||
return { type: "meshDeleteElements", meshId, selectionMode, elementIndices: [...elementIndices] };
|
||||
},
|
||||
meshUVProject(meshId: string, faceIndices: readonly number[], method: "PLANAR" | "CUBE" | "CYLINDER" | "SPHERE" = "PLANAR", seamEdgeIndices: readonly number[] = []): MeshCommand<"meshUVProject"> {
|
||||
return { type: "meshUVProject", meshId, faceIndices: [...faceIndices], method, ...(seamEdgeIndices.length ? { seamEdgeIndices: [...seamEdgeIndices] } : {}) };
|
||||
},
|
||||
decimate(meshId: string, profile: SimplifyProfile): MeshCommand<"decimateMesh"> {
|
||||
return { type: "decimateMesh", meshId, profile };
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user