AI disclosure: AI prepared this article and the disposable SVG fixture. The executed checks establish dimensions and file identity in the fixture. They do not establish a production exporter repair or completed human art review.
A technical export check and an artist's visual acceptance answer different questions. A file can satisfy a dimension constraint and still look wrong. It can also look plausible in a scaled preview while carrying dimensions that break its consumer. A useful bug handoff records both questions before the work starts.
Reproduce one constraint failure
The synthetic source is a 128 by 128 SVG badge with viewBox="0 0 128 128". The deliberately broken export declares a width and height of 64. Its paths and viewBox remain unchanged. A browser can still show a recognizable badge, so visual recognition alone does not detect the failed size contract.
The fixture's checker extracts the root dimensions, compares them with 128 by 128, and records a SHA-256 digest. It rejects broken-export.svg and accepts corrected-export.svg. The corrected file matches the source digest exactly. That is a measured result for generated example files; it is not evidence that a real design tool was fixed.
source.svg 128 × 128 PASS
broken-export.svg 64 × 64 FAIL
corrected-export.svg 128 × 128 PASS
source == corrected: SHA-256 match
The browser fixture renders both declared sizes without resizing the images to match one another. It labels the corrected version “visual acceptance pending.” That label matters: a dimension check should not impersonate the art owner's judgment.
A ticket template with enough context to run
Asset: synthetic badge; expected canvas 128 × 128.
Symptom: exported root dimensions are 64 × 64.
Reproduce: inspect root width/height and render at intrinsic size.
Allowed repair: correct the export configuration or serializer.
Preserve: paths, viewBox, colors and intended transparent margin.
Technical receipt: dimensions, output hash, exact command/version.
Visual receipt: before/after at intrinsic size in the target UI.
Stop: ask before changing the source artwork or intended canvas.
Acceptance: engineer checks file contract; artist checks appearance.
For a real ticket, attach the actual source and exporter version. Include the smallest input that still reproduces the fault and state which configuration produced it. The sample files here intentionally avoid confidential artwork and an unspecified production toolchain.
Separate preparation, execution and acceptance
The artist or QA reporter prepares the source, failed output and expected canvas contract. An authorized engineer or agent reproduces the issue with their own tools and makes the bounded repair. The engineer checks integration and file-format concerns; the artist judges whether the asset still has the right appearance and margins. A producer can coordinate these steps without becoming the person who approves every technical and visual claim.
An agent should return the commands it ran, the actual results and the changed output. If it cannot reproduce the production exporter, it should say that directly. Substituting a corrected example file is useful for explaining a contract, but cannot establish that the real failure is resolved.
Keep the evidence tied to the artifact
A screenshot can become stale when the asset changes. Put the output filename and digest beside the captured state. Record whether the preview is shown at intrinsic size, scaled for display or rendered inside the target control. A screenshot of a scaled browser image is not a reliable dimension measurement.
This is one practical boundary in a game studio AI workflow: preparation makes the task reproducible, execution produces evidence, and the named reviewers decide acceptance. Credentials remain with their authorized users and environments.
Limits before using this in a real pipeline
The example checks integer root dimensions in three known SVG files. It is not a general SVG parser, sanitizer or security validator. It does not inspect embedded scripts, external references, filters, color profiles, font substitution or raster compression. Production SVG handling should use the project's established parser and security controls.
To apply the lesson, agree on the actual export contract, reproduce the fault in the real pipeline, and collect both receipts. Keep the ticket open if the dimensions pass but the art owner has not reviewed the target UI.
Open the export fixture · Download the source and executed checks.

Top comments (0)