img2threejs / grimoire /feedback /render_capture.md
Mike0021's picture
Deploy verified img2threejs Docker Space
39ff632 verified
|
Raw
History Blame Contribute Delete
5.62 kB

Browser Screenshot Feedback

Use this reference when a procedural Three.js reconstruction has a browser-renderable preview.

Capture Rule

Each visual build pass should produce at least one rendered screenshot from a named review viewpoint. Use your agent's browser/screenshot tool (Claude Code browser MCP, your agent's in-app browser/preview, or the project's own preview) first. Do not install or download Playwright/Chromium just for this skill; use Playwright or another browser automation path only when the user explicitly allows it or the project already depends on it. If the in-app Browser is unavailable, ask for a screenshot path or use browser tooling that is already present in the target project.

Create a side-by-side review image after capture:

../../forge/stage4_review/make_comparison_sheet.py \
  --reference reference.png \
  --render render.png \
  --out comparison.png \
  --json

The script only aligns and packages evidence. It must not calculate the acceptance score. your agent's vision must inspect comparison.png.

Use the same full image pair to score at most five critical semantic features per pass. A feature is a subsystem such as a hull, cabin system, roof system, limb assembly, face, control panel, or sail-and-rigging system. It is not an individual mesh and does not need a separate crop. Score up to three uncertain important features only when adaptive escalation is useful.

The starter spec contains generic review targets only as placeholders. Replace them with object-specific systems discovered during pre-spec assessment; otherwise strict quality validation should not pass a moderate or complex object.

Compare By Layer

Review screenshot evidence in this order:

  1. Silhouette and proportions: bounding shape, width/height/depth cues, taper, symmetry, negative space.
  2. Component structure: parent/child placement, joints, contact points, repeated systems, floating or detached parts.
  3. Form detail: bevels, chamfers, curvature, bends, dents, seams, raised ridges, holes, deformation scale.
  4. Surface response: albedo zones, roughness variation, metalness, clearcoat, transmission, normal/bump/displacement, ambient occlusion.
  5. Local features: scratches, chips, dirt accumulation, moss, stains, color patches, edge wear, contact wear.
  6. Lighting/camera: exposure, shadow softness, contact shadows, color temperature, rim light, reflection readability.
  7. Performance tradeoff: whether missing detail is intentional because of triangle, draw call, texture, or FPS budgets.

Decision Matrix

  • If the screenshot reveals a missing or wrong component, choose refine-spec.
  • If the spec describes the component but the render does not match it, choose refine-code.
  • If the screenshot is too dark, too close, too far, or from the wrong viewpoint, choose refine-code for camera/lighting before judging model fidelity.
  • If the source image does not reveal enough geometry or material information, choose request-input.
  • If the screenshot matches the pass acceptance criteria and does not hide future risk, choose continue.

continue is allowed only when the global AI vision score meets selfCorrectLoop.visualAcceptance.threshold, normally 0.7, and every critical semantic feature meets its own threshold. A numeric or pixel-difference script may help diagnose alignment, but it cannot approve the pass.

AI Vision Scorecard

Score each applicable layer from 0 to 1, then assign one overall score based on the pass goal:

  • silhouetteProportion: outer contour, mass distribution, negative space, camera-normalized proportions.
  • componentStructure: hierarchy, placement, attachment, repeated systems, floating or disconnected parts.
  • formDetail: taper, bend, bevel, deformation, secondary forms, local geometry.
  • materialSurface: albedo, roughness, reflectance, normal/displacement, AO, local wear, tactile frequency.
  • lightingCamera: camera match, exposure, key/fill/rim balance, shadow/contact response, background.

Do not hide a critical failed layer inside a high average. If a layer is essential to the current pass and remains visibly wrong, choose refine-spec or refine-code even when the arithmetic mean is above threshold.

Feature Tiers

  • critical: identity-defining, user-prioritized, visually salient, or high-risk subsystem. Must be visible in the full pair and pass independently.
  • important: useful secondary subsystem. Review only suspicious items; the reviewed average must meet the configured threshold.
  • detail: micro detail. Record mismatch notes and defer to refinement unless the user promotes it.

Repeated parts should be one target when they form one recognizable system. For example, review three cabins as cabin-system, not three separate cabin targets.

Evidence Format

Record screenshot evidence with:

  • referenceScreenshot: source image, crop, or marked-up reference path.
  • renderScreenshot: browser-rendered screenshot path.
  • comparisonImage: side-by-side evidence image reviewed by AI vision.
  • cameraView: named viewpoint such as front, three-quarter, side, top, or close-up-material.
  • notes: concise mismatch summary using 3D graphics terms.
  • aiVisionScore: overall score from 0 to 1.
  • layerScores: per-layer scores from the scorecard.
  • aiVisionNotes: concrete matched features, mismatches, root causes, and next correction.
  • featureReviews: feature ID, score, visibility in the shared pair, and focused notes.

Never use screenshots as decoration only. They are the ground truth for the self-correction loop.