Use pixelated (up)scaling for custom emoji #270
No reviewers
Labels
No labels
a11y
Bug
Bug fix
cannot reproduce
CSS
Documentation
enhancement
Feature
Feature request
Held for next release cycle
Minor change
performance
priority: critical
priority: high
priority: low
priority: medium
priority: patch welcome
regression
Translation/Locale
WIP
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
AkkomaGang/akkoma-fe!270
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cnx/akkoma-fe:pixemoji"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Smaller custom emoji are usually sprites which looks blurry with smooth upscaling. Before/after screenshots attached.
apologies, i totally missed this
i'll have to test the upscaling with non-sprite images and see if it behaves normally, i'll get back to you
image-rendering: pixelatedonly doing pixelated upscaling but smooth downscaling does already mostly avoid impacting non-pixel emoji since at normal display in-line or as a reaction they are small enough to not be (noticeably) upscaled anywayHowever, if MFM is involved this does unfortunately sometimes lead to noticeable degredation :\
Compare default upscaling:

to pixelated upscaling:

(In an ideal world emoji would come with metadata specifying how to up/downscale them)
A hackish way to get it right most of the time, would be to only apply
pixelatedif no MFM upscaling is involved — but this leads to incosistencies with the same low-res pixelart emoji displaying very differently depending on MFM, plus even then there’ll probably still be some (presumably rare’ish) edge cases where it still looks bad even without MFMWell, my opinion has no authority here, but imho given these complication and
image-renderingsettings depending on the frontend anyway, i’m afraid the best "fix" is to instead pre-upscale pixelart emoji by some integer factor before uploading unfortunatelywhat if we apply
pixelatedto images smaller or equal to 32px in either dimension? glossing over the javascript in that region of the code, this shouldn't be too hard to implement and produce decent resultsIf it doesn’t create too much complexity or perf overhead it seems worth a try
@cnx are you still active or should I do this?
Please feel free to take over, @Riedler, I'm not using Akkoma at the moment.
@Oneric can we close this now?
superseded by #448
(thanks for the reminder)
Pull request closed