configureColorLayer
Set color properties for material layers in Spline 3D scenes by specifying color values and intensity to customize visual appearance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| materialId | Yes | Material ID | |
| layerId | Yes | Layer ID | |
| color | Yes | Color value (hex, rgb, or rgba) | |
| intensity | No | Color intensity |
Implementation Reference
- The handler function that executes the configureColorLayer tool logic: updates the specified color layer's parameters (color and optional intensity) using a PUT request to the API.async ({ sceneId, materialId, layerId, color, intensity }) => { try { const layerParams = { color, ...(intensity !== undefined && { intensity }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Color layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring color layer: ${error.message}` } ], isError: true }; } }
- Zod schema defining the input parameters for the configureColorLayer tool.sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), color: z.string().describe('Color value (hex, rgb, or rgba)'), intensity: z.number().min(0).optional().default(1).describe('Color intensity'), },
- src/tools/advanced-material-tools.js:155-194 (registration)Registration of the configureColorLayer tool using server.tool(), including schema and handler.'configureColorLayer', { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), color: z.string().describe('Color value (hex, rgb, or rgba)'), intensity: z.number().min(0).optional().default(1).describe('Color intensity'), }, async ({ sceneId, materialId, layerId, color, intensity }) => { try { const layerParams = { color, ...(intensity !== undefined && { intensity }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Color layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring color layer: ${error.message}` } ], isError: true }; } } );