reorderMaterialLayers
Change the stacking order of material layers in Spline 3D scenes to control visual appearance and rendering hierarchy.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| materialId | Yes | Material ID | |
| layerOrder | Yes | New layer order (array of layer IDs) |
Implementation Reference
- Handler function that executes the tool by sending a PUT request to reorder material layers via the Spline API.async ({ sceneId, materialId, layerOrder }) => { try { await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/order`, { layerOrder }); return { content: [ { type: 'text', text: `Material layers reordered successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error reordering material layers: ${error.message}` } ], isError: true }; }
- Zod input schema defining sceneId, materialId, and layerOrder parameters.sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerOrder: z.array(z.string()).min(1).describe('New layer order (array of layer IDs)'), },
- src/tools/advanced-material-tools.js:552-585 (registration)Tool registration call using server.tool() with name, schema, and handler.server.tool( 'reorderMaterialLayers', { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerOrder: z.array(z.string()).min(1).describe('New layer order (array of layer IDs)'), }, async ({ sceneId, materialId, layerOrder }) => { try { await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/order`, { layerOrder }); return { content: [ { type: 'text', text: `Material layers reordered successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error reordering material layers: ${error.message}` } ], isError: true }; } } );
- src/index.js:97-97 (registration)Invocation of registerAdvancedMaterialTools which registers the reorderMaterialLayers tool among others.registerAdvancedMaterialTools(server);