Get Fill Light Position (Spherical Coordinates)
get_fill_light_position_sphericalGet the fill light position in camera-centric spherical coordinates to enable precise relative adjustments like rotation.
Instructions
Get the current fill light position in camera-centric spherical coordinates. Query this before relative position changes (e.g., "rotate light 10 degrees") to ensure accuracy. For absolute changes, you may use recently queried state from context if no manual interactions occurred.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- server.js:1355-1403 (registration)Registration and handler for the 'get_fill_light_position_spherical' tool using McpServer.registerTool. The tool queries browser state via WebSocket to get the fill light's spherical position (azimuth, elevation, distance).
mcpServer.registerTool( 'get_fill_light_position_spherical', { title: 'Get Fill Light Position (Spherical Coordinates)', description: 'Get the current fill light position in camera-centric spherical coordinates. ' + 'Query this before relative position changes (e.g., "rotate light 10 degrees") to ensure accuracy. ' + 'For absolute changes, you may use recently queried state from context if no manual interactions occurred.', inputSchema: {} }, async () => { const sessionId = getCurrentSessionId(); if (!sessionId) { return { content: [ { type: 'text', text: 'Error: No active session found.' } ], isError: true }; } try { const { state, metadata } = await getState(sessionId); const position = state.fillLight?.position || { azimuth: 0, elevation: 0, distance: 0 }; const positionText = `azimuth ${position.azimuth}°, elevation ${position.elevation}°, distance ${position.distance}`; return { content: [ { type: 'text', text: formatStateResponse(positionText, 'Fill light position', sessionId, metadata) } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error retrieving fill light position: ${error.message}` } ], isError: true }; } } );