Configure image rendering per project instead of always using pixelated
Maintainers usually reply within 1 day
@nighca is already working on this.
Since Aug 5, 2026.
Assessment
This issue has not been assessed yet.
Description
Background
XBuilder currently applies image-rendering: pixelated broadly through its image presentation component. This was introduced to preserve crisp scaling for pixel-art game assets (see #2214), but a global default degrades images that are not pixel art, including non-pixel-art game assets and project cover images.
Goal
Make image-rendering behavior configurable at the project level, while keeping pixel-art projects crisp and allowing normal interpolation where appropriate.
Proposed direction
- Consolidate application image rendering through the
img-renderingmodule. - Extend that module beyond the SVG font handling tracked by #3366 to own CSS
image-renderingbehavior as well. - Have editor rendering surfaces configure their image-rendering behavior through the module API, rather than relying on a hard-coded
pixelatedstyle in shared image UI. - Add project-level metadata expressing whether the project uses pixel-art visuals (or an equivalent rendering mode).
- Use that project setting to configure editor image rendering through
img-rendering.
The rendering module should remain the common boundary for both SVG-specific rendering work and CSS image-rendering policy, so all image consumers follow the same project-level behavior.
Scope
- Identify and migrate image rendering paths that currently bypass
img-renderingor hard-codeimage-rendering: pixelated. - Define and persist the project-level rendering-mode setting, including a compatibility default for existing projects.
- Apply the configured mode consistently to editor content.
- Ensure non-editor images, such as project covers, can use an appropriate non-pixelated rendering mode.
- Add focused regression coverage for pixel-art and non-pixel-art rendering modes.
Related
- #2214 introduced pixelated rendering to fix blurred small previews.
- #3366 tracks editor SVG/image rendering and project-font support; this issue extends the same
img-renderingboundary to CSS image-rendering policy.
- Dominant language
- TypeScript
- Stars
- 70
- Forks
- 59
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 50
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from goplus/builder
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Adjust the default aspect ratio and background color of course video dialogsPossibly taken @qingqing-ux claimed this today. Open
goplus/builder#3619 · 1 assignee ·
Maintainers usually reply within 1 day
-
Add a border around the entire Copilot dialogPossibly taken @qingqing-ux claimed this today. Open
goplus/builder#3618 · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 75/100
siyuan-note/siyuan#20629 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Volume eject does not refuse system, root or /home mountsPossibly taken @bernardopg claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
spacedriveapp/spacedrive#3159 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
melgarafael/DeskcommCRM#3000 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
callstackincubator/simlock#639 ·
Maintainers usually reply within 1 day