Repository navigation
Conversation
Recognize SVG files in directory scans and rasterize them through the shared image decoder with resvg. Preserve transparency by converting premultiplied pixels to straight RGBA, resolve local image references relative to the SVG, and share a lazily loaded system font database. Fit renders use bounded dimensions without upscaling; zoom retains the existing intrinsic-raster path. Bypass the persistent SVG thumbnail cache because its source-only key cannot track referenced images or system fonts. Apply the standard image decoder allocation budget before creating SVG raster buffers so excessive intrinsic dimensions return an error instead of aborting allocation, while bounded thumbnails and fit renders remain possible. Add rendering, resource, cache freshness, allocation-limit and file-discovery coverage, update dependencies, and document SVG usage and raster zoom behavior. Model: openai-codex/gpt-6.1-sol:high
Keep parsed SVG trees as fullscreen zoom sources instead of magnifying intrinsic-resolution bitmaps. Re-render each SVG view at its output pixel resolution with continuous crop geometry, retaining fractional detail and matching mouse pan displacement. Leave raster crop/resize behavior intact. Render filtered SVGs on a full zoomed canvas before cropping so effects retain inputs outside the viewport. Preserve fractional alignment, budget canvas and crop allocations together, and report rendering failures in the viewer with recovery when the zoom or viewport changes. Unfiltered SVGs continue to allocate only the visible viewport. Add regressions for fine vector detail, fractional pan and transparency, offscreen filter inputs, allocation limits and recovery. Update SVG viewing documentation to describe vector zoom and filtered rendering limits. Model: openai-codex/gpt-6.1-sol:high
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Commit grouping
This branch contains the two SVG commits, in order:
[ai] Add SVG image viewing[ai] Preserve SVG vector detail when zoomingThe two mouse/navigation commits are grouped afterward in #3; they are not part of this PR.
Verification
On this SVG-only branch:
cargo test: 33 passed.cargo test --no-default-features: 32 passed.cargo buildand formatting check passed.Verification decodes complete Kitty image transmissions; no live Kitty GUI was available.