Skip to content

Screenshot tool: add fit-to-entity framing and exposure control (dark-material legibility) #2

Description

@poodle64

Summary

Two related gaps in the screenshot / viewport-capture surface, hit while driving a Fusion MCP server from an MCP-capable AI assistant to build parametric architectural-metalwork assemblies.

A note on scope: we encountered these on the built-in Fusion MCP server (the one toggled under Preferences → Scripting and Programming → MCP Server, default port 27182, tools fusion_mcp_read / fusion_mcp_execute), not on this sample's get_screenshot directly. I'm reporting here because this is the public Fusion-MCP reference repo and both gaps appear to apply equally to the sample's orientation-only get_screenshot. If the built-in server is tracked in a different place, a pointer would be appreciated and I'll move the report.

1. Screenshots render solid-black on dark-finish models (no exposure/brightness control)

With the default shaded capture, a model carrying a legal dark appearance (e.g. a dark powder-coat / dark RAL finish) comes back as a solid-black silhouette — no readable form, edges, or detail — yet still consumes a full image's worth of tokens in the assistant's context. Dark finishes are the norm in architectural metalwork, so this recurs on nearly every verification capture.

The only reliable workaround we found: switch the viewport visual style to wireframe or shaded-with-visible-edges-only via a script first, and disable the transparent background. The capture query exposes anti-aliasing, transparent-background, direction and size, but no brightness / exposure / scene-lighting control and no legibility safeguard, so a legal dark material reads as a black blob.

Request: an exposure / brightness / scene-lighting parameter on the screenshot tool, or default the capture to a lit scene so a dark material doesn't render as a black silhouette.

2. No fit-to-entity framing; detail shots require hand-rolled, fragile camera math

The screenshot tool auto-fits all visible geometry (or a fixed orientation), so a close-up of a single body / occurrence / bounding-box region isn't expressible declaratively. Working around it through the Fusion camera API is fragile: setting viewport.camera.viewExtents after assigning viewport.camera = cam silently no-ops, because the camera getter returns a copy — so the zoom is lost and a wide shot ships instead of the intended detail.

Request: a fitToEntities / bbox / zoom parameter so the server frames a region server-side, removing the need for any client-side camera math.

Environment

  • Fusion MCP server (built-in), tools fusion_mcp_read / fusion_mcp_execute, port 27182
  • Driven from an MCP-capable AI assistant

Both are enhancement requests, not crashes. Happy to provide repro scripts or sample captures if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions