Nudge Fill Light Elevation Up
nudge_fill_light_elevation_upRaises fill light elevation in a 3D scene by a specified number of degrees, after querying current position for accuracy.
Instructions
Adjust the fill light elevation upward relative to current position. This tool automatically queries fresh state before performing the adjustment to ensure accuracy, even if the user has manually moved the light.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| degrees | No | Amount to increase elevation in degrees (defaults to 5°) |
Implementation Reference
- server.js:2599-2645 (registration)Registration of the 'nudge_fill_light_elevation_up' tool via mcpServer.registerTool. Defines title, description, input schema (optional degrees parameter), and the async handler that queries fresh state, routes the command 'nudgeFillLightElevationUp' to the browser session, and returns a text response.
mcpServer.registerTool( 'nudge_fill_light_elevation_up', { title: 'Nudge Fill Light Elevation Up', description: 'Adjust the fill light elevation upward relative to current position. ' + 'This tool automatically queries fresh state before performing the adjustment to ensure accuracy, ' + 'even if the user has manually moved the light.', inputSchema: { degrees: z.number().positive().optional().describe('Amount to increase elevation in degrees (defaults to 5°)') } }, async ({ degrees }) => { const sessionId = getCurrentSessionId(); if (!sessionId) { return { content: [ { type: 'text', text: 'Error: No active session found.' } ], isError: true }; } // Query fresh state before manipulation const state = await queryFreshStateForManipulation(sessionId); const currentPosition = state?.fillLight?.position || { azimuth: 0, elevation: 0, distance: 0 }; const positionInfo = ` (from current elevation: ${currentPosition.elevation}°)`; routeToCurrentSession({ type: 'nudgeFillLightElevationUp', degrees: degrees }); return { content: [ { type: 'text', text: degrees ? `Fill light elevation increased by ${degrees}°${positionInfo}` : `Fill light elevation increased by 5°${positionInfo}` } ] }; } ); - server.js:2600-2644 (handler)The handler function for the 'nudge_fill_light_elevation_up' tool. It validates the session, queries fresh state via queryFreshStateForManipulation, routes a 'nudgeFillLightElevationUp' command to the browser via routeToCurrentSession, and returns a descriptive text response indicating the elevation change (default 5° or user-specified degrees).
'nudge_fill_light_elevation_up', { title: 'Nudge Fill Light Elevation Up', description: 'Adjust the fill light elevation upward relative to current position. ' + 'This tool automatically queries fresh state before performing the adjustment to ensure accuracy, ' + 'even if the user has manually moved the light.', inputSchema: { degrees: z.number().positive().optional().describe('Amount to increase elevation in degrees (defaults to 5°)') } }, async ({ degrees }) => { const sessionId = getCurrentSessionId(); if (!sessionId) { return { content: [ { type: 'text', text: 'Error: No active session found.' } ], isError: true }; } // Query fresh state before manipulation const state = await queryFreshStateForManipulation(sessionId); const currentPosition = state?.fillLight?.position || { azimuth: 0, elevation: 0, distance: 0 }; const positionInfo = ` (from current elevation: ${currentPosition.elevation}°)`; routeToCurrentSession({ type: 'nudgeFillLightElevationUp', degrees: degrees }); return { content: [ { type: 'text', text: degrees ? `Fill light elevation increased by ${degrees}°${positionInfo}` : `Fill light elevation increased by 5°${positionInfo}` } ] }; } - server.js:2606-2608 (schema)Input schema for the tool: optional 'degrees' parameter (positive number, describing 'Amount to increase elevation in degrees (defaults to 5°)').
inputSchema: { degrees: z.number().positive().optional().describe('Amount to increase elevation in degrees (defaults to 5°)') }