* fix: change vector/color parameter types to Any to allow string inputs
* fix: add type check in manage_component to pass cursor error
The Pydantic validation in FastMCP occurs before function execution,
causing validation errors when clients pass string values like '[2, 2, 2]'
for parameters typed as `list[float] | str`. Since the code already has
normalization functions (_normalize_vector, _normalize_color) that handle
string inputs, change the type annotations to `Any` to bypass Pydantic's
strict validation.
Affected parameters:
- manage_gameobject: position, rotation, scale, offset
- manage_material: color
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: improve vector parameter validation with clear error messages
- Change parameter types from `list[float]` to `list[float] | str` to accept
both list and JSON string inputs (consistent with read_console/run_tests)
- Modify _normalize_vector to return (value, error_message) tuple instead of
silently returning None on invalid input
- Add detailed error messages for invalid vector values
This fixes the Pydantic validation error when clients pass string values
like "[2, 2, 2]" for scale/position/rotation parameters.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Loosen the type to pass the cursor error
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Shutong Wu <51266340+Scriptwonder@users.noreply.github.com>