Disclosure: This draft was generated with AI and checked against the cited primary sources, with a separate AI editorial review. It was prepared for the FrameSprite team, which has a commercial interest in FrameSprite. Proposed examples are not executed tests unless explicitly identified as recorded fixture results.
Inspect the Git attributes and filters applied to the sprite before blaming the PNG exporter. A broad text rule or a custom clean/smudge filter can transform repository content. Classify raster files deliberately and verify the path-specific rules that actually win.
Key Takeaways
- Check attributes on the affected path, including inherited rules.
- Distinguish stored content, checkout content, and decoded pixels.
- Change conversion policy through a reviewed migration.
A repository can transform files
The Git attributes reference documents text conversion, binary handling, and filters. A rule intended for source code can be too broad for a folder containing generated PNGs. A filter can also transform content even when ordinary line-ending conversion is not the problem.
Begin by preserving a known export outside the investigation. Record whether the file opens correctly before staging, from the committed revision, and after a new checkout. These observations locate the boundary where behavior changes without assuming that every byte difference is corruption.
Inspect the effective policy
Review the repository's attribute files and any configured filters that apply to the path. Do not inspect only the top-level file when a nested directory supplies another rule. Ask the repository maintainer to explain custom transformations rather than disabling them blindly.
Use the Git ls-files reference to inspect tracked paths and relevant index information. Keep the original export and any transformed version separate. A viewer failure after checkout is useful evidence, but it does not identify the responsible rule by itself.
For an ordinary PNG path, the team may choose explicit binary treatment. If the repository already uses LFS or another required filter, preserve that policy while fixing the inappropriate text rule. Do not copy a generic attribute snippet over an existing asset workflow.
Example: a shared generated folder
A project places generated JSON and character PNGs under one folder. An overbroad rule treats everything there as text. The artist's original PNG is valid, but the repository path is subject to a transformation intended for machine-readable files.
Split the policy by actual file type or a narrower directory. Review existing affected files before applying renormalization. A normalization command can stage many files, so plan and inspect its impact rather than running it as a casual repair.
Preserve the approved encoded PNG where no conversion is intended. For formats that legitimately change metadata, compare bytes and decoded pixels according to the question being asked. A file can be different without a visible change.
Verify the correction through checkout
The Git diff manual supports inspecting changes, but a binary-difference summary is not an image validation. Obtain the candidate through a fresh checkout using the corrected policy, decode it, and compare the relevant frames with the approved export.
Accept the fix after the repository policy is documented, the intended asset remains readable through the actual transfer path, and unrelated files have not changed accidentally. Keep a before-and-after record of effective attributes.
This procedure follows documented Git mechanisms. No corrupted file or filter configuration was executed here. A successful local decode also does not prove that every collaborator's filter configuration matches.
Related workflow
For the neighboring problem, see sprite png file hash versus decoded pixel identity. Keep the animation handoff checklist with the delivery, and retain approved visual decisions in the art reference board.
Prepared by the FrameSprite Workflow Team. Editorial method ยท Corrections. Primary documentation checked 2026-10-20.
Top comments (0)