JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

jxl-art

KammutierSpule
2022-10-23 10:35:35
How does Splines related to predictors? It looks Splines are added after predictors three? Is is possible to combine NotLast and Splines somehow? It looks Splines can't write on Alpha?
2022-10-23 10:55:11
Talking about Splines, looks like Firefox does not support it yet?
_wb_
2022-10-24 05:37:57
Splines only write on RGB (or XYB/YCbCr), and they are additive (get added numerically to whatever pixel values are already there)
2022-10-24 05:38:26
Firefox should support them but there might be bugs in the libjxl version they use
2022-10-24 05:39:21
There's also a limit on how many splines you can have (and how much pixel area needs to get drawn)
KammutierSpule
2022-10-24 01:56:05
This document wg1m97061-ICQ-Study_text_of_CD_of_18181-1_2nd_Edition.pdf has good information that completes the one find in jxl-art.surma.technology help page
2022-10-24 08:49:40
It looks like FramePos does not work with Upsample or may I just dont understand it 🙂
_wb_
2022-10-24 09:23:44
yeah there's a bug in jxl_from_tree there iirc
2022-10-24 09:24:51
jxl_from_tree is a bit of a hack and some combinations don't work
2022-10-24 09:25:38
one thing that is missing from it is a way to set the dimensions of a frame (which can be different from the image dimensions but currently they're just always the same as the image dimensions)
KammutierSpule
2022-10-26 03:52:49
Curious question, why these operators and transformations are "so limited". I'm not into the compression area, I believe this may be related how predictors are supposed to work and having hardware encoding/decoding implementation in mind?
_wb_
2022-10-26 05:25:03
the main limitation is that you want to decode in scanline order and can only use already-decoded pixel values in predictors / decision nodes
KammutierSpule
2022-10-26 05:54:38
scanline order, I understand...but a bit more complex "ISA (Instruction set architecture)" could have been more useful, at least, for "jxl-art" proposes 😛
_wb_
2022-10-26 06:05:22
it's not designed to make art, it's designed to be useful to make image-specific context models for entropy coding 🙂
KammutierSpule
2022-10-29 10:23:57
question regarding share on jxl-art.surma.technology, will that be somehow made public ? How long will it last the URL? I'm preparing my entry for Inercia2022, I don't want it to be public yet but I want to share the URL on the readme file
_wb_
2022-10-29 10:25:38
The url contains the source, there is no server-side storage of anything
2022-10-29 10:27:53
But you can also just put the source itself into the readme so people can use it with jxl_from_tree even if the web interface would somehow no longer be available
KammutierSpule
2022-10-29 10:32:04
yes, that's it 🙂
2022-10-29 10:32:20
do you have already 3 entries for the compo? hope so! 😛
2022-10-29 10:40:23
jxl-art.surma.technology: funny I just noticed that the png export actually exports the alpha channel and it is useful for debug. it may be a feature to visualize the alpha channel on the browser
2022-10-29 10:41:05
which leads me to the question: what is the default background color rendered by jpeg-xl ?
2022-10-29 10:42:01
I suppose the answer is: it renders a transparent color ? :S
yurume
2022-10-29 10:55:45
what do you mean by a transparent color? JPEG XL supports alpha channels and alpha blending in frames as well, but if your frame doesn't have alpha channels it is fully opaque.
KammutierSpule
2022-10-29 10:56:33
I have alpha channel
yurume
2022-10-29 11:11:59
then it will get rendered, unless jxl-art.surma.technology did otherwise (I'm less sure about that)
KammutierSpule
2022-10-29 11:17:48
yes it is all ok, my question does not make sense. I was asking "what is the default color of a transparent (final) image" but it depends where it is rendered / software / color theme (eg webpage)
_wb_
2022-10-29 11:19:34
There is no notion of a default background color in jxl - if a pixel is transparent, it's just transparent
KammutierSpule
2022-10-29 11:20:08
I was looking if there was a way that I can fully "clamp" set the alpha channel to one value I have multiple alpha channels (that can has negative or unknown values), I was looking if I can set the end result to a value, but I can't find a way with the option on help page
_wb_
2022-10-29 11:20:10
PNG does have such a notion, but I don't think any software cares about it
2022-10-29 11:21:03
Multiple alpha channels? You're not using jxl_from_tree or the web app then?
KammutierSpule
2022-10-29 11:21:51
sorry I mean, a composition of multiple NotLast it is just one alpha channel in the end
_wb_
2022-10-29 11:22:00
Ah I see
yurume
_wb_ Multiple alpha channels? You're not using jxl_from_tree or the web app then?
2022-10-29 11:22:38
I actually kinda wanted to make some graphical interface to jxl_from_tree (or even my own encoder), preferrably with something like Blockly
_wb_
yurume I actually kinda wanted to make some graphical interface to jxl_from_tree (or even my own encoder), preferrably with something like Blockly
2022-10-29 11:22:55
Ooh that would be cool
2022-10-29 11:23:45
There are more bitstream features to be exposed too, as you will know very well having implemented most of them 🙂
2022-10-29 11:24:05
E.g. setting custom upsampling or gaborish weights
yurume
2022-10-29 11:24:19
yeah, and that directly relates to testing
2022-10-29 11:24:53
the only difference is whether the user input is textual or graphical (and visual languages like Blockly remove the boundary between two)
2022-10-29 11:25:37
(and being able to represent a faulty file, but this is a separate concern)
KammutierSpule
2022-10-29 11:36:02
so no suggestion how to clamp a channel value? the decision nodes have clamp values to evaluate but leaf nodes dont have :/
2022-10-29 11:45:34
I must be confused with something, since there is the Set leaf node and the way the "NotLast" thing works on relation to the alpha channel
_wb_
2022-10-29 12:03:39
There are various blend modes, default is regular alpha blending
2022-10-29 12:05:19
Set sets the value in the current frame (layer) but what the value is after blending cannot be set
KammutierSpule
2022-10-29 01:49:20
I couldn't fix the alpha issue. I hope that it will be displayed ok on a clear background (without checkerboard effect)
2022-10-29 01:50:54
My entry: png screenshot size: 912kb, readme size: 1.1kb, jxl size: 71 bytes 😅
_wb_
2022-10-29 02:19:14
You can always just add a first layer that has alpha set to 255 and the background color to whatever you want, no?
KammutierSpule
2022-10-29 05:23:04
I tried but it didn't worked for me.. I was not sure what "last" is with Alpha enabled (didnt' investigated much time) but I couldn't ended with some expected result ``` Alpha Bitdepth 8 NotLast if c > -1 <-- Is this the last? - Set 255 - Set 255 NotLast ... other things ... if c > -1 <-- Or is this the last? - Set 255 - Set 255 ```
Traneptora
KammutierSpule I tried but it didn't worked for me.. I was not sure what "last" is with Alpha enabled (didnt' investigated much time) but I couldn't ended with some expected result ``` Alpha Bitdepth 8 NotLast if c > -1 <-- Is this the last? - Set 255 - Set 255 NotLast ... other things ... if c > -1 <-- Or is this the last? - Set 255 - Set 255 ```
2022-10-29 06:19:50
Last refers to frames themselves each frame contains channels, like possibly an alpha channel
2022-10-29 06:19:56
the Last frame is just that, the last frame
2022-10-29 06:20:45
as far as I'm aware surma's website generates frames in the order specified
Heii
2022-10-30 08:10:33
Hello group, I am trying to understand how to generate art. Starting from the basic. ```if c > 0 - Set 0 - Set 255``` This generates a red square. Why red? and how would I choose other colors. I have found others by trial and error but want to understand how is it working. I have read https://jxl-art.surma.technology/wtf.html but still not 100% clear. Thanks!
_wb_
2022-10-30 08:14:03
by default, the channels are R,G,B
2022-10-30 08:14:45
which are indexed by `c`, starting from 0, so Red is `c==0`, Green is `c==1`, Blue is `c==2`
Heii
2022-10-30 08:15:32
```if c > 1 - Set 255 - Set 0``` This gives me blue, shouldn't be green?
_wb_
2022-10-30 08:16:01
the first branch will be taken when c>1 which is true for the B channel
Heii
2022-10-30 08:16:28
because blue is 2?
_wb_
2022-10-30 08:16:32
yes
Heii
2022-10-30 08:18:08
so how do I get green? since ```c > 0``` gives red and ```c > 1``` gives blue. ```c > 2``` goes back to white. I assume because 0,1,2 don't pass ```c > 2```
2022-10-30 08:19:54
Found it! ```if c > 0 if c > 1 - Set 0 - Set 255 - Set 0 ```
2022-10-30 08:20:17
Now to understand why
_wb_
2022-10-30 08:20:58
it's just a bunch of if-then-elses
2022-10-30 08:21:49
if (c > 0) { if (c > 1) { val = 0; } else { val = 255; } } else { val = 0; }
Heii
2022-10-30 08:23:27
does it always start on 0? so in this example the first if does not work at first right?
2022-10-30 08:28:51
I think I understand it now. That if has RGB so this is yellow ```if c > 0 if c > 1 - Set 0 # BLUE - Set 255 # GREEN - Set 255 # RED```
2022-10-30 08:29:08
Thanks for the help!
_wb_
2022-10-30 08:30:02
you can also work in other colorspaces than RGB, often it is nicer to work with luma and chroma than with RGB
2022-10-30 08:30:17
e.g. using `RCT 1`
2022-10-30 08:30:21
(which is YCoCg)
Heii
2022-10-30 08:32:22
Thanks i'll explore those
2022-10-30 09:36:08
Italy flag (Green, White, Red)explained: ``` if c > 0 if c > 1 if x > 340 if x > 680 - Set 0 # We want red at the end, so (R:255 G:0 B:0) This sets blue to 0 for the end part. - Set 255 # If not the end then the middle of the flag we want white so (R:255 G:255 B:255) This sets blue to 255 - Set 0 # if we at the beginning we want green (R:0 G:128 B:0) I choose a not so bright green that's why 128. This sets blue to 0. if x > 340 if x > 680 - Set 0 # We want red at the end, so (R:255 G:0 B:0) This sets green to 0 for the end part. - Set 255 # If not the end then the middle of the flag we want white so (R:255 G:255 B:255) This sets green to 255 - Set 128 # if we at the beginning we want green (R:0 G:128 B:0) This sets green to 0. if x > 340 - Set 255 # Red is 255 at the end and in the middle this sets both. - Set 0 # If at the beginning we want red to be 0. - Set 0```
_wb_
_wb_ anyone going to submit something to https://2022.inercia.pt/index.php?page=Competitions ?
2022-11-03 05:44:22
Deadline is getting near! Don't forget to submit!
JXL Art Bot
2022-11-05 08:37:16
**0b5vr** _“Iceberg”_ 2022 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=C3IOUTCy5AotKE7MLchJVTDicsosSUktKMlQMDTg4spMU0hWsFMw4FJQADIDilLLgDxDI1MgX0FBV8HPVUHXCMoOVzCEqAqHagAJOpal%2B2n7hSvoGkIFglNLFEyMLbgA
0b5vr
2022-11-05 08:40:21
<@541014985627926551> yours slaps!!!! wtf
fab
**0b5vr** _“Iceberg”_ 2022 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=C3IOUTCy5AotKE7MLchJVTDicsosSUktKMlQMDTg4spMU0hWsFMw4FJQADIDilLLgDxDI1MgX0FBV8HPVUHXCMoOVzCEqAqHagAJOpal%2B2n7hSvoGkIFglNLFEyMLbgA
2022-11-05 08:42:47
Amazing, is the deadline already opened?
KammutierSpule
2022-11-05 08:44:22
Impressive entries!
0b5vr
fab Amazing, is the deadline already opened?
2022-11-05 08:46:55
the compo is finished rn!
KammutierSpule
2022-11-05 09:18:18
<@232233105040211969> you found a nice set on such a few bytes
_wb_
2022-11-06 01:28:53
Will the entries be put online somewhere?
nwoeanhinnogaehr
2022-11-06 01:54:14
I think they will be on https://files.scene.org sometime soon
JXL Art Bot
2022-11-06 01:54:38
**byteobserver** _“Block Nebula”_ 2022 image/jxl 98 bytes https://jxl-art.surma.technology/?zcode=xVLBDoIwDL3vK%2FoDS9iERC4mmhA5LSQcpldlCkcRjTF8vGND7MAMb%2B7UvbbvvTbNLzelnors9hsiq6IpgcU8IKmqzmUDLOAhIdUJjrCCkADoUOow0KH5tLLVX1MG5lHIVdPnbTkVn44eE1QkDmbQR8cUcwS%2Bi8Wo2ApJ41EVwEYp3ZRltbqvD9ekrr%2F0Ot2UebMRmzjqlsGiqaikUs6pTcV%2BcDvn1%2B%2FYt8X%2Feut2tk0ntA4hX5JZu%2FjobGzbhgPFqeF2XWnPqEgT%2B8c2FxzzaBoPhzMTnkfDLw%3D%3D
2022-11-06 01:56:06
**byteobserver** _“Something I didn't end up submitting to Inercia”_ 2022 image/jxl 56 bytes https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVAwNOMKcg5RMObiykxTCFewUzDgUlCAMg0NjIyBPAUFXYXg1BKwDERO1w%2BmEirip%2BvniiQCVRUejiIGMic8NTM9oyQ1RcEQRdi9KDElMzWvREHXzNTU2IxcY%2BDCuoa0cJsh8UboGuI2GhKaxhYmXAA%3D
_wb_
2022-11-06 03:12:54
https://www.youtube.com/watch?v=X1T7RUP9SpY&t=2438s
2022-11-06 03:25:25
here is the one I submitted
embed
2022-11-06 03:25:32
_wb_
2022-11-06 03:26:57
source code requires a recent jxl_from_tree, won't work on the current web version
2022-11-06 03:27:22
``` /* Background layer: Weighted predictor cloudy stuff with some noise added */ Width 1024 Height 576 Upsample 2 Bitdepth 9 Alpha NotLast Noise 0.1 0.05 0.05 0.05 0.05 0.05 0.05 0.0 RCT 13 if c > 2 - Set 511 if c > 1 if y > 0 - NW 1 - N -1 if y > 432 if WGH > 0 - AvgN+NE -3 - AvgN+NW -1 if c > 0 if y > 0 - N 2 - Set -500 if y > 30 if N > 300 - AvgW+NW -300 if N > -50 if WGH > -3 - AvgN+NE 7 - AvgN+NW -3 - AvgN+NW 100 if W > -200 - Weighted -2 - Select 350 /* Overlay 1: a spline of light that will go around the JXL logo */ FramePos 512 164 Upsample 1 BlendMode kAdd NotLast Spline 0 -0.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.0 1.0 -0.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 48 992 128 128 196 880 256 220 320 832 384 128 448 920 512 64 544 EndSpline RCT 0 - Set 0 /* Overlay 2: Sierpinski-ish triangles to go below the JXL logo */ FramePos 512 640 Upsample 1 BlendMode kBlend NotLast RCT 0 if c > 2 if y > 0 if N > 0 if NW-N > -1 if N-NE > 0 - Set 0 - N + 0 if N-NE > 0 - N + 0 - Set 0 if NW-N > 0 if N-NE > -1 - NW + 0 - Set 0 if N-NE > -1 - Set 0 - Set 280 if x > 511 - Set 1 - Set 0 - W 1 ```
2022-11-06 03:27:29
``` /* Overlay 3: a JXL logo */ FramePos 512 164 Upsample 1 GroupShift 3 BlendMode kBlend NotLast RCT 13 if c > 2 if y > 0 if y > 336 if x > 510 if x > 511 - NW 0 if y > 383 - Set 0 - N -10 - NE 0 if x > 511 - NE + 0 - NW + 0 if x > 1022 - Set 0 if x > 928 - W 10 if x > 927 - Set -450 if x > 895 - Set 0 if x > 801 - W 10 if x > 800 - Set -450 if x > 223 - Set 0 if x > 128 - W -10 if x > 127 - Set 500 if x > 95 - Set 0 if x > 1 - W -10 if x > 0 - Set 500 - Set 0 if c > 0 if x > 0 - W 1 - W -1 if y > 0 - N 3 - Set -560 /* Overlay 4: a signature (JS) in the bottom right */ FramePos 1860 950 BlendMode kAdd Upsample 1 Spline 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0 0.3 -0.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 75 55 70 55 160 10 150 70 130 110 120 40 100 120 80 EndSpline RCT 0 - Set 0 ```
2022-11-06 03:28:08
JXL Art Bot
2022-11-06 03:30:03
**\_wb\_** _“something I didn't end up submitting to Inércia”_ 2022 image/jxl 50 bytes https://jxl-art.surma.technology/?zcode=VY5BC4JAFITv71fMXYS1ti0vQUXRaZMs9iz6qgUtsSX6%2Ba1loreZN%2FM9Zm1dwbW7IRJkbOFFrATt2V5vDjMp6Fw%2Fs6ouGZIOjeW7y5x93BHRcXPCJKZdk1WcPJ4QEET2ghxLnwJevr0UXgIhDMKol12e97k3ScOvFo1%2BtbaYst8gRO9Xr6sJNMLFn9H9g681LT%2BZd4eO0IHeIhwetd8yHVNSymFh3E%2B55NxBKUUf
Traneptora
_wb_ source code requires a recent jxl_from_tree, won't work on the current web version
2022-11-06 05:14:47
ooo, this looks like a fantastic test of features
monad
_wb_ here is the one I submitted
2022-11-06 05:43:24
beautiful
embed
2022-11-06 09:18:56
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1038836511694667897/wb_-JXL.jxl
w
2022-11-06 09:19:13
<:thenk:349311010584395788> I didn't change anything
_wb_
2022-11-06 10:23:32
Art is imo always caused by creativeness sparked by the constraints of its medium. I think jxl-art is the first time the medium is an image compression bitstream, though you could argue that the concept of pixel art (where the 'bitstream' is simply some uncompressed image format, and the pixel dimensions being small is what compresses/constrains it) and also gpu shaders are older examples of this.
Traneptora
2022-11-06 10:27:36
btw, just want to double check, is this submission CC0?
2022-11-06 10:27:45
and/or public domain
2022-11-06 10:28:06
most of your jxl art is by default iirc but idk if the contest has some rules on that
_wb_
2022-11-06 10:33:14
In a way, the constraints of, say, a sonnet (14 lines, iambic pentameter, rhymes) are not that different from the constraints of conforming to a particular bitstream syntax. It's a set of ultimately self-imposed (or culturally standardized) rules, and I believe such rules and limitations, even if they are arbitrary, help to trigger the problem-solving creative areas of the brain that paradoxically make it easier to achieve artistic expression than if there are no rules at all — a blank piece of paper or an empty canvas is more intimidating and creativity-crushing than a situation where one thing leads to another because the constraints need to be satisfied.
2022-11-06 10:34:26
Yeah it's CC0, it has my signature on it already so no need for CC-BY or something like that
2022-11-06 10:35:10
I don't know about the other submissions and if the contest had rules about that, best to ask the respective authors
0b5vr
_wb_ I don't know about the other submissions and if the contest had rules about that, best to ask the respective authors
2022-11-07 01:09:39
jxl files are archived to scene.org file storage but I believe each authors have the right I believe. I explicitly grant you (_wb_) a right to use my work without my perm (with credit preferred) if you want to use this for jxl advertisation purposes
nwoeanhinnogaehr
2022-11-07 01:34:27
It's a good idea to discuss licenses. I will put all of my works previously posted in this channel (as byteobserver or nwoeanhinnogaehr) as CC-BY
_wb_
2022-11-07 08:21:05
https://twitter.com/jonsneyers/status/1589707844718579712?s=20
2022-11-07 08:55:00
<@232233105040211969> congrats with the new role 🙂
JXL Art Bot
2022-11-07 10:48:45
**\_wb\_** _“The Magic Tree of Healing”_ 2022 image/jxl 39 bytes https://jxl-art.surma.technology/?zcode=VY3BCoJAGITv%2F1PMPRZ2yw26BCahJ4MsPEuuumC62Bb19v1GLHX7vmGGKW3tO2zWkjJj285DR5J21tfGca4kpdN4d0VnG48VHZMTNB0mawZfeTsObGd3q66uN1gS2QYXbKEIYHwySkZAIP%2BEMxXGQ2j17bxCh6VMs6BzNX60cd%2Fz70%2BQL%2FI9RBQmf4MSQgWZj5SmNw%3D%3D
2022-11-07 11:13:46
**\_wb\_** _“Organic structures”_ 2022 image/jxl 44 bytes https://jxl-art.surma.technology/?zcode=TY1BDoIwEEX3c4p%2FgSZttSZsTNAFrDQRDWsCBZpUaLAaj2%2BFStz9eX%2FmTWka3yPZccq16XoPteV0ML7RLnDBKZvGpyt603ps6HK8Qig6T0YPvvJmHKDo5h7V3VkNSWRa1NiDExDiO0aAoQQTaxRLfwq94HITeTZVzVcMpoScWdxhUql5nkmZ5at3OUxfXWotZPLHCm11HVTR%2FvtLHw%3D%3D
2022-11-10 12:39:23
**KammutierSpule** _“A dramatic appearance of a cube”_ 2022 image/jxl 71 bytes https://jxl-art.surma.technology/?zcode=VY7dSgMxEIWvm6cYeuFFobvtSru2UGWlImr9gQr1TtJ02gSySchOXLdv7FuYXS3o3J2P8x0mHbBXRRrnvQJ2npeclADuHHLPjUCwe%2BAgwhZZEUhaP%2B89cq8s9B94WQZS6NcuaOzDKhxRecuWnOLYsyC7RQ%2FZKMvYWh0jysewbQgrxgoDaMg3sLce7syXF4rDEkvruKemc%2BD%2B5eYW3lZQeAJhS4ekSFmTMEnk5mnalhJlsHUTRx2uIq%2FrOnE2ICUGKe0G3z1WQVOVOOmuaqmEXGT55KyWaBbdf4M0%2FqSd5Oxa0Q4dScjZk6UVr4gxtQcBl5AxgCFsUB0k4Q7Go9N1fI0Eo7b6GavTDsbQxJBP2tBe29IoCC5%2BtX9wehqL3iZ6P4U%2FTjY7WUMoPg6F1pDPziP7Bg%3D%3D
KammutierSpule
2022-11-10 12:39:38
Hi all, I'm sharing the source code of my entry!
2022-11-10 12:40:29
I found this pattern by exploring "large numbers" precision
The_Decryptor
2022-11-10 12:40:53
I like it, looks like the output of a path tracer
KammutierSpule
2022-11-10 12:42:29
yeah, I started with that idea when I found a noise pattern generator. So this image has two layers. However, I am not sure really how this is all working, because alpha channel etc, but that is the result 🙂
_wb_
2022-11-10 12:50:30
It is likely not a conforming bitstream given that it probably overflows int32 (and also that it's probably signaling to be ok with int16 which is certainly not true), so different decoders could decode this differently or refuse to decode it. Very cool entry though.
lonjil
2022-11-10 12:54:40
I should make my decoder always do overflow checking, and upon detection ~~output goatse~~ run a script to open never gonna give you up in the user's web browser
_wb_
2022-11-10 01:01:07
😂
2022-11-10 01:01:34
spider-mario
2022-11-10 01:11:18
or maybe this version: https://youtu.be/rTga41r3a4s
veluca
_wb_ It is likely not a conforming bitstream given that it probably overflows int32 (and also that it's probably signaling to be ok with int16 which is certainly not true), so different decoders could decode this differently or refuse to decode it. Very cool entry though.
2022-11-10 02:34:02
`Weighted 1000000000` it "probably" overflows i32? xD
KammutierSpule
_wb_ It is likely not a conforming bitstream given that it probably overflows int32 (and also that it's probably signaling to be ok with int16 which is certainly not true), so different decoders could decode this differently or refuse to decode it. Very cool entry though.
2022-11-10 05:56:40
I see, so, looking forward to see how it will look in the future on different implementations 😛
2022-11-10 05:58:54
Next year I hope to participate again, hopping that the webpage has implemented the missing? "commands" from jpeg-xl
JXL Art Bot
2022-11-12 02:22:16
**\_wb\_** _“Blobbiness”_ 2022 image/jxl 40 bytes https://jxl-art.surma.technology/?zcode=PY7LDoIwEEX38xX3B5pQHuLKBF3ASo2PsCZ2hCYVm9rw%2FbYE2M2ZyblzW638gDRPqGHdDx4yK%2BiovWIb9ju6nR6QBV2c5tF3Xn9HlPS0v%2B5jDWNPpN8444A8JSDMV8dTwCQQIHBnwy8PIRdu5yesIFYhyiJL53vAtm42PQrV1FfGxArrZossl8zadSq2C23%2F
2022-11-12 02:37:19
**\_wb\_** _“Sponge”_ 2022 image/jxl 45 bytes https://jxl-art.surma.technology/?zcode=VU9BDoIwELzvK%2BYDJLQRlYsJeoATGtFwJnSFJogEGxJ%2Fb4tA8DY7OzM7m2tlaoRbnxLWVW0QbHw6aqO4s%2FyerqcbBJ17za0pjH612NG9exfPrmFIIv1AiQN8Aiz8THAcLj0Pywx4SP%2BwoB%2FK2MCTmykhtQ4ZBNMuHzuxsgIp51wn8YQ%2FZ1kmj5PVIWeMhipqGshwxWXccOluiaVF3BfKfWbLfAE%3D
2022-11-12 02:56:50
**\_wb\_** _“Autumn Macroblocks”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=PY3BCsIwEETv%2BxV7L4GkVsWLYEXwFMEqOZd2bRdqjbp68OtNQvU2b2Z2x3ErPa4WGvbEXS84LzSULC354Bdw3J5Qw%2BHBNEotfBtxCWf%2FrK9%2BIMyhur%2BIPgTAF2xwjSYKmwSiws27s5ndoYo4JWoWdCIXySSayi6zvzw6FQ3USJj5F9K3HFS4NfAF
2022-11-12 07:48:19
**\_wb\_** _“Another phone wallpaper in 256 bits”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=C89MKclQMDU04vJIzUzPKFEwNDAy4XLKLElJLQBJcAU5hygYcIUWFCfmFuSkKhhxBReWpqZWpXJlpikkK9gpGHIpKACZfkCmAZCpoKCr4FiW7qftF66gawwWAMqGw2Wh8uFgeRO4kJ%2BrgjkXiBEONBAA
Traneptora
2022-11-12 10:01:41
is it bad that I can look at this and immediately tell that it's squeezed
_wb_
2022-11-12 10:11:21
It is a sign that you are getting familiar with the bitstream 😅
JXL Art Bot
2022-11-13 10:01:08
**\_wb\_** _“North+Northwest”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=Ncq7CgIxFIThfp5iegkkYSOmEdTGahEvpBb3uBtQCGvY5%2FcIpvtn%2BM6HK33ErXzu7%2FISeuxzHaTUiRsg5UEjri2OksepMnQWyE8%2BuKUDqXmaZdEVrU7SsE80vnVDSYVxtpndMvarH3T%2F4yKVPgR8AQ%3D%3D
2022-11-13 10:01:25
**\_wb\_** _“North+Northeast”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=NYq7CgIxFAX78xWnl0A2bMQ0gopgFcQHqcW97gYUwhr2%2B72F6WaGuRxudAH38n18ylvosM91kFInboCUB4WwtjhJHqdK31sgv%2Fjklh1IxfMsi1qwqqRhTDSucZuSHqaz7dktY1zFo6Z%2FuEql8x4%2F
2022-11-13 10:02:02
**\_wb\_** _“West+Northwest”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=Ncq7CgIxFIThfp5iegkkwYhpBLWxEvFCanGPu4EVwm7Y5%2FcIpvtn%2BK7HO33Eo8zPTxmFHodcOyl14BZIudOIG4uT5H6oDGsL5Ddf3NGB1LxMsuiKVidpeE40vnVDSYVxtpn90qfVD7r%2FcZNKHwK%2B
2022-11-13 10:02:41
**\_wb\_** _“Weighted”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=NYxBCsIwFET3c4q5QCANppiNC924ErFK1tJ8bcBCqKHn70fM7r3hMbfTnS7gUb7PuXyEDsdck5Q6cQ%2FEnBRCb3GW%2FJ4q%2Fc4C%2BcWRB3YgFa%2BLrGrBqpKGl0jjGrcoamE625r4e5Ok238ZpNJ5jw0%3D
2022-11-13 10:03:26
**\_wb\_** _“AvgAll”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=RcpNCsIwFEXh%2BV3F3UAgDUbMRKhOHEnxh4zFPttACkFD1983Cc7Oge92ftAFPMvvtZQsdDilOkqpMw9ATKNG2FtcJE1zpd9ZIH345pEdSM3hK6tesLqk4TXSuNYNRRWms83069Tn%2FHd3qXTeYwM%3D
2022-11-13 10:03:58
**\_wb\_** _“NorthWest”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=C3IOUTCy5AotKE7MLchJVTDicsosSUktKMlQsODiCs9MATIszQy4PFIz0zNKFExNDLi4MtMUkhXsFAy5FBSAzICi1DIgz9IAyFVQ0FXwC1fQNYKxYYrCgSp0DQ2Q1RhC2cGpJQpGpqZcAA%3D%3D
2022-11-13 10:04:29
**\_wb\_** _“Northeast ”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=PcqxCsIwFIXh%2FTzFeYFAGkwxi4MidCrFWjKX9moDCqGGPr93sG7fD%2F%2FtcqcLGPJnfOeX0OGcyiy5LDwCMc2KUFs0kp5LoT9YID048cQKpLJbZdMKVpM0bCON271PUQ9T2f9z1fq5l0LnPb4%3D
2022-11-13 12:59:14
**\_wb\_** _“Hairy Selection”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMDTlCs9MAXKNzA24PFIz0zNKFEwsDLhCC4oTcwtyUoHKuLgy0xT8FOwUDLgUFEBMXT9XKE9BQVchODUnNblEQdcQjW9mwgXhligYmZpyAQA%3D
_wb_
2022-11-13 01:03:44
I like what the upsampling is doing here, producing these 'hairs':
nwoeanhinnogaehr
2022-11-15 10:06:33
very spiky hairs!
_wb_
2022-11-15 10:08:13
yes, even though it's doing an 8x upsampling, somehow the hairs end up not blurry at all but nice and sharp
JXL Art Bot
2022-11-16 07:57:24
**\_wb\_** _“Fragility”_ 2022 image/jxl 38 bytes https://jxl-art.surma.technology/?zcode=Xcq7CsJAEIXhfp7i9DIwm5gFG0FtUqXwwtSSjMlCAgsuPr8j29kc%2BH7OOZXJclkQhK6XO0JHmiZ3txfqLc1LwSEKPfL7ueXV0BClF0YcEYihvoCHwQM3Iq5q5V%2BqBhg3W20saP8Dh%2FphnD6z7gZFjJG%2B
2022-11-19 02:41:06
**\_wb\_** _“4K Moiré Curtains”_ 2022 image/jxl 39 bytes https://jxl-art.surma.technology/?zcode=PYzLCsIwEEX38xV3L4G0NqIbQUVwFcEHWZd2bAdqDTqIn2%2B0pbtzn1vRmqO2WNJpd0HmKEidpCssHViaVrFaWDo%2BhXstVR49HF3jq7zHjlEQyQ0V1sgISPhJaBMCBuFvDmTG3Kfc5Hao%2FLTx%2B2kyVOcTn7njSmHceLN5N2HmA3Ln6As%3D
Traneptora
2022-11-19 03:59:42
without looking I'm guessing WP and some sort of RCT
2022-11-19 04:00:02
YUP
2022-11-19 04:00:10
getting easier to spot WP nowadays for me
_wb_
2022-11-19 04:25:55
no Weighted predictor used here
Traneptora
2022-11-19 04:54:57
oh that says W, not WP
2022-11-19 04:55:05
~~no wonder it decoded so quickly~~
_wb_
2022-11-19 05:05:22
you're right that it looks WP-ish, but as you can see also with the simple predictors you can get stuff that looks more irregular than you'd expect
JXL Art Bot
2022-11-20 08:16:12
**\_wb\_** _“Selection bias (4K desktop wallpaper version)”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTgCnIOUTA05QrPTAHyLc0MuDxSM9MzShRMTQy4QguKE3MLclIVTLi4MtMUwhXsFAy4FBSATD9dP1coT0FBFyhjCGUFp%2BakJpco6BpzgXh%2BCkYmplwA
2022-11-20 08:20:23
**\_wb\_** _“Selection bias (phone wallpaper version)”_ 2022 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=LcnBCsIwEEXR%2FfuK9wOBJia4c6EIrlKwla6LHe1AraHO%2F2OV7u7hHtUGKTbSV7ieWvqEToe%2FQ8RF9Dkakw%2B4lU%2F%2FKpMwol5UZutN3zP3gD7Y8cAK5JrZ5fMm0q3Hb9XIJHej2%2BGnzBATvg%3D%3D
2022-11-21 08:48:03
**\_wb\_** _“Carrosserie Brillante”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=Rcg9C8IwEAbg%2FX7Fu0sgiY3oIlgRnKr4QeZCz%2FZAa6hHf783CI7PU4t2XHTAmi77G2KkLJ1xs%2FJ0ZOkHRao83cunfZUno6LTJDxqq%2FIeEYjkgYwt3DIQYDhPPJu9CXC4ssKF9NNu7ptFc7ChPzNiSvQF
2022-11-21 09:03:19
**\_wb\_** _“Kafkaesque Blue Corridors”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=TcuxDoJAEEXRfr7i9WaTBdloZaI0VmgAszWRESZB3OCE73fs6O4p7kW056QjjlSXLbJAUXrjIfd0ZRlGReEDPdK3e6eJUdBtEZ61U%2FnMyIjkhYgTnJ2A4b7wavYmwKFh3fTET4Xb01%2Fndah2VUQeAv0A
2022-11-25 07:55:51
**\_wb\_** _“Shimmer”_ 2022 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKcg5RMOEKz0wB8cwNuDxSM9MzShRMLAy4QguKE3MLclIVLLj8izJT80oSSzLz8xQMuYILS1NTq1K5uDLTFMIV7BR0jbgUFHSBTCgjOLVEwZgLAA%3D%3D
2022-11-26 09:46:05
**\_wb\_** _“24-bite Chocolate Bar”_ 2022 image/jxl 24 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTgCnIOAVHhmSlAvpkJl0dqZnpGiYKRCVdoQXFibkFOqoIFl39RZmpeSWJJZn6egiFXcGFpampVKheXrkJ4uIKhGRcA
2022-11-26 10:31:15
**\_wb\_** _“Plasma Generator”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=RcyxCsJAEIThfp5iXuAg53lglUIbOyEoqUNukyxoPMy%2BPy5p0n3%2FFHNVK1JtYUJ3ezJm9Fo8Y8q4i86L8XRu8Krb8Klv4QWPn8pqg%2Bl3ZQR0Ys%2BWIYN0j%2B7GSQbfQzoYsWP%2FlMKMPw%3D%3D
2022-11-26 10:59:22
**\_wb\_** _“Elbows and hands”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=Hco7CoAwEAXAfk%2FxLpAiAT%2BVoDZ2gh%2BsRVddiBp08fyK5cAUojMH3eCoKTtYGmT%2BZF1KFcu6KVwUUx%2FucQ%2BekVJ9CR86qpzHt0kWDMhgIgIMWvY8KYz9lT9r7j0SegE%3D
2022-11-27 04:38:53
**\_wb\_** _“Color Leakage in the Synthetic Beehive”_ 2022 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=Zcm7CsJAEIXhfp7i9LKwuYmVENNYRfHC1sGMycCaLHHI8ztiaXe%2B8x9Ee046YkeX5gZPQXpT5vOSjizDqL99T%2B%2FulSIjo9MiPGmnMk8mkifCpnVtwB5uWxLgcOXID4UrTNbPC69Wvelb63WoY0Re%2FR0VfQA%3D
2022-11-27 04:51:34
**\_wb\_** _“Untitled”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=LYzLCsIwEEX38xV3L4E%2BxZUQRXBVxQdZVzttA7GGdOj3O1B399wD5%2BCl4ygjdnQ7PpCR851SnhUVndkPo6z7Gef2EwMjp0vyPEkr%2Fjspke9xTbzY13xKCXuUBQEGdxatAardpjGNU2W2lT6rDfwWmPLPdhlsCCjqmn4%3D
2022-11-27 04:57:45
**\_wb\_** _“Color Composition”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=LYzLCsIwEEX38xV3XwIxttqVUKXoKooPso40tgNaQzr0%2B03B5T3ncvYsXYgyoKbr4Q5Njru8zFbTKXA%2FCMpa0yNO%2FhPfIb%2FOicMoXvg7YkXEL1xSmJvn1KaEHdaGAIVbkNwCsnaFVdZlpTZlJos9Jt8tFSjzJ83c28K2MFVFPw%3D%3D
_wb_
2022-11-30 09:00:25
Random idea for a funky jxl art: encode DC with modular art once as a DC frame, then use it in many frames of an animation, each frame doing all-8x8 with AC coeffs that are the same constants in every AC ctx (i.e. they compress to a small constant size per group)
uis
**\_wb\_** _“Carrosserie Brillante”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=Rcg9C8IwEAbg%2FX7Fu0sgiY3oIlgRnKr4QeZCz%2FZAa6hHf783CI7PU4t2XHTAmi77G2KkLJ1xs%2FJ0ZOkHRao83cunfZUno6LTJDxqq%2FIeEYjkgYwt3DIQYDhPPJu9CXC4ssKF9NNu7ptFc7ChPzNiSvQF
2022-11-30 06:08:58
It looks like I opened demoscene channel
2022-12-01 03:39:25
Which JXL-art can be reproduced in old JPEG?
veluca
2022-12-01 03:40:14
with the ~same amount of bytes? pretty much none
monad
2022-12-01 04:56:31
Well, you can add arbitrary bytes to the JXL version.
Traneptora
uis Which JXL-art can be reproduced in old JPEG?
2022-12-01 11:43:11
JXL art relies on the fact that entropy coding in JXL can give you asymptotically close to zero size
2022-12-01 11:43:36
it's essentially just a big header in front of a zero-size or almost-zero-size entropy stream
2022-12-01 11:44:18
legacy JPEG doesn't have that kind of capability in its entropy encoding, so it's generally not possible
uis
Traneptora it's essentially just a big header in front of a zero-size or almost-zero-size entropy stream
2022-12-01 11:45:02
Wow. How does it works _that_ good?
Traneptora
2022-12-01 11:45:15
ANS is pretty nice
2022-12-01 11:47:45
it's based on symbol frequencies. if zeroes occur 99% of the time then only nonzeroes will end up consuming bits from the bitstream
2022-12-01 11:47:53
it's a bit more complicated than that
_wb_
2022-12-02 06:16:55
This isn't really ANS vs Huffman, in fact jxlart will use Huffman since ANS has slightly higher constant signaling overhead 🙂
2022-12-02 06:17:09
It's the MA context modeling that allows this
2022-12-02 06:21:28
In jxl, if a histogram in a particular context assigns 100% to one symbol and 0% to all the others, then the encoding of that symbol is literally 0 bits. The decoder just knows every symbol in that context must have the value which has 100% chance, so no need to read any bit at all from the bitstream.
2022-12-02 06:25:44
The MA context modeling additionally allows you to pick a predictor (and also an offset and multiplier) on a per-sample basis. So for each to-be decoded sample, it computes its context by traversing the MA tree (picking branches by looking at neighboring pixels), and then that context determines what predictor to use, what offset and multiplier to apply, and what histogram to use for the entropy coding of the residual value after prediction.
2022-12-02 06:29:14
Now in jxl art (i.e. when using jxl_from_tree), we simply set all the residuals to 0, so all histograms have the form "0 with 100% chance, any other symbol with 0% chance", so the only thing the bitstream contains is a description of the MA tree itself.
2022-12-02 06:35:56
We could by the way make jxl art a lot more expressive by also allowing nontrivial-but-very-compressible residuals. For example, anything super repetitive (say residuals that are 1,42,-82,7,1,42,-82,7,... in an endless loop) can be encoded very efficiently using the lz77 feature of jxl entropy coding. Or anything that has 99.9% chance for 0 and then some manually modified values here and there will still compress very well with ANS (here it makes a big difference with Huffman, since Huffman needs one bit per zero symbol while ANS can use fractions of a bit).
JXL Art Bot
2022-12-03 06:23:12
**\_wb\_** _“Lies, damned lies, and statistics”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=LYzLCsIwEEX38xV3XwJJ8bkRqhRdRfFB1pHGdkBrSId%2Bvwm4PPdczp6lC1EGbOh6uEOT4y7TcqHpFLgfBNuVpkec%2FCe%2BA2o6Jw6jeOHvCEPEL1xSmJvn1KaEXT4ACrcgOQVk6yqrrMumcHHH5LuSgDL%2FpZl7W9kWpl7TDw%3D%3D
_wb_
2022-12-03 06:25:35
At least I can express my current feelings artistically 🙂
Traneptora
2022-12-03 08:54:53
lies, damned lies, and "AVIF is faster than JXL"
JXL Art Bot
2022-12-03 09:08:10
**\_wb\_** _“Transparency”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOQKz0wB8gwNjEy4PFIz0zNKIOzQguLE3IKcVAUjLv%2BizNS8ksSSzPw8oHrHnIKMRC6uzDSFcG0%2FXb9wBTsFYy4FBV2F4NSc1OQSBV1TMM%2BxLN1P289VwdDInAsA
2022-12-03 09:16:08
**\_wb\_** _“Hardware”_ 2022 image/jxl 49 bytes https://jxl-art.surma.technology/?zcode=XU7NCoJAEL7PU8xdBHVV7BJYCJ226Ic9W226YLbo4vM3a5pth4H5fmc2ytylNjVmcNyeMQSh7oRWaQA7qaraYBIHcNF9%2BdSNxBj2nZKtKY16teTOG12XAOqBN1xjAIi0Hjo55Ne%2B6DriGHGIPp6kwShJRkQeQVIUjMiq%2BVAJj9MShl%2FOJqZG7nNOAT904ixzvBGb4KxP8EP4QiwNP2e5xwv00OUFDYMF23o237afpOBW2MD%2F528%3D
_wb_
2022-12-03 09:16:43
daniilmaks
2022-12-03 10:03:26
left in the ball reflower a bit too long
_wb_
2022-12-04 10:38:34
Just for fun, it would be interesting to see how large a lossy avif version of something like this would be: https://jxl-art.surma.technology/?zcode=ZcyxDoJADAbgvU_RnZBwqDknEzRGp9OIhvkClWuCeJ4ng09vgdGtX_-_3XJsyEeHa7jsrphBxY1IZfkSjsSti_N882_78B1hDqfA1Ecb-dmjgvL1IfoSFJ13FoDveA404EZeIaZ4CLYZ65gqsaRVYlJTSb4QT5taoCaMByV1VEtd67_VCmYXQ2sSs0eVa_gB
JXL Art Bot
2022-12-04 06:02:44
**\_wb\_** _“RGB splashes”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=LYvBCsIwEAXv%2BxXvXgJJNdiToCJ6iiJKzoHEdkFriKHf7wY8zrx5e64x5TphoNvhDk2eo1C%2F0XROPE4VdrD0yN%2Fwzq%2BENV0Kp7mGyp8ZhoifuJa0HEvBVt6AwqmE2BooIyyB75xyXnZldEtatFtG14lUq79w6K2lHw%3D%3D
2022-12-04 07:50:49
**\_wb\_** _“Sierpinski Foam (8K, with alpha)”_ 2022 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=TY4xC8IwFIT39ytuL4FqW9FFUAedIlglczDPJlBrrM%2FFX28iIm733QfHrYM4juJR0WFzREkmuESLWUk7Dp0XNHVJp%2Fiw19gz5rQfAw9iJdwGTKi9P5lfTKs%2BeksULjhjiYaAFE2hlTaJq8SAgoaqP%2FFffqvst6N1eR3TX2VQZK%2FQsqR3bw%3D%3D
_wb_
2022-12-04 07:52:57
I can't upload the png to discord since it's too large
2022-12-04 08:07:31
does this work?
2022-12-04 08:08:52
unfortunately browsers blend images with alpha against a bright background even when you're in dark mode
2022-12-04 08:08:54
data:image/jxl;base64,/wr6hsXCYAFIiB8QAEgAS6EicvNaZK0PXLNaPWQgSTgB
2022-12-04 08:09:49
it looks nicer against a dark background
Jim
2022-12-04 08:10:08
JXL: 33B (not MB) PNG: 35MB AVIF: 44MB WebP: 26MB
2022-12-04 08:10:26
Hope you don't mind I nabbed that to test the polyfill
_wb_
2022-12-04 08:14:43
it's an 8K image so a bit large for a web image 🙂 but good to stress-test memory consumption I guess
daniilmaks
_wb_ unfortunately browsers blend images with alpha against a bright background even when you're in dark mode
2022-12-04 08:17:15
that's probably for consistency across users
2022-12-04 08:17:59
But yeah it would be cool if it was a flag
_wb_
2022-12-04 08:21:31
it doesn't make sense to me that they put `background-color: hsl(0, 0%, 90%);` on images you open in a tab, making it have a different background color than the rest of the tab
Jim
_wb_ it's an 8K image so a bit large for a web image 🙂 but good to stress-test memory consumption I guess
2022-12-04 08:23:04
I made a smaller web-size version <:PepeOK:805388754545934396>
2022-12-04 08:25:23
The smaller version is 35B while the 8k version is 33B <:kekw:808717074305122316>
daniilmaks
_wb_ it doesn't make sense to me that they put `background-color: hsl(0, 0%, 90%);` on images you open in a tab, making it have a different background color than the rest of the tab
2022-12-04 08:31:44
that gives me a thought, jxl images could eventually have a flag or something that "recomends" dark or light, smooth or checkerboard alpha backgrounds for the image.
2022-12-04 08:32:20
actually I think it could be a good idea for image formats in general, not just jxl
2022-12-04 08:33:24
then again, potential feature creep?
_wb_
2022-12-04 08:52:08
PNG has a chunk for that but I think nearly everything ignores it
yurume
2022-12-04 08:52:31
preferred palettes?
_wb_
2022-12-04 08:52:59
That too but you can also select a background color to blend to
yurume
2022-12-04 08:53:11
ah bKGD
_wb_
2022-12-04 08:54:34
Anyway in jxl you can also just add a background layer with a solid color, which will force viewers to use that (they will not even know, libjxl will do the blending for them by default)
2022-12-04 08:55:13
(while you still preserve the original rgba image in the foreground layer)
uis
Jim JXL: 33B (not MB) PNG: 35MB AVIF: 44MB WebP: 26MB
2022-12-04 09:12:17
PNG is better than AVIF
JXL Art Bot
2022-12-06 08:17:39
**\_wb\_** _“Having fun with the nonseparable upsampler, again.”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=LctBC4JAEIbh%2B%2FyK7y4LrrbgKagIOm1Qyp4lJx0oXWrw9zdCt%2Fc5vEfRgbNO8HQ7tfCBkgwb60AXlnFSVLuSuvzt3%2FnFaOj6EZ61V1lmm0ieeGCPkgDLVEQXkzmYAQeD8%2F8%2BrGMs4hkVbbqz2vUD
2022-12-17 04:40:38
**\_wb\_** _“Superhero Comic Book”_ 2022 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=NYq9CsJAEAb7fYqvl4WsZ8DKQglYRfGHqwNZzYLG41x8ftfCbmaYrfmoxSckOu0ukJayjaGSWtqr3SfHctXQtbyHZ3ko1nSoprMPbq8ZQmQ3HKt%2BulqxAQsBUfKi5z5HaMIBRginP3eQ38c4q8fxBQ%3D%3D
2022-12-18 07:10:18
**\_wb\_** _“Ceci n'est pas 3D”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=TYoxC8IwFAb39yu%2BXQJNxWAWB6XgFEFbMpf2aR%2FUGvQN%2FnwDttDtjrujaM9JB9iCrqcadkdR%2BuzeezqzPAaFc46a9GmfaWSUdHkLT9qqvCZYIrmjwwEFARm%2FMwIGMeeFTPnvcRNMiKvpxiN3CrOdPVTY0w8%3D
_wb_
2022-12-18 07:15:21
I just love how a lucky tree using just simple predictors can create things like that
2022-12-18 07:17:25
``` if W+N-NW > 0 - Select -3 - NE 8 ```
2022-12-18 07:19:27
Change those numbers even just a bit and it does something quite different and not really 3D like, but for -3 and 8 it does produce something nice
JXL Art Bot
2022-12-18 07:24:43
**\_wb\_** _“Variant”_ 2022 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=NYrNCsIwEAbv%2BxTfXQJNi9FcPChCTxH8IefSrnah1lD34OMbMN5mmNmLDpx0hK3ofLjCrinKkN17Ty3LY1Q45%2BiW3t0zTYyaTovwrJ3Ka4Ylkjt67FARkPFTEDCIOf%2FJ1L8eV8GEmCdjm02pF564V5imeDhiS18%3D
_wb_
2022-12-18 07:26:05
Changing the number in the condition makes variants, negative numbers give nice deep shadows
yoochan
2022-12-18 07:54:29
what does the piece of code represent ?
2022-12-18 07:54:36
which language is this ?
2022-12-18 08:00:59
you can redirect me to any other piece of information if you don't want to explain again 😄 I feel like I'm coming late on the subject
_wb_
2022-12-18 08:01:36
it's a representation of the meta-adaptive context modeling trees we have in modular jxl
2022-12-18 08:02:04
https://jxl-art.surma.technology/wtf.html this gives some info on it
yoochan
2022-12-18 08:02:11
thanks 🙂
JXL Art Bot
2022-12-21 02:45:45
**\_wb\_** _“The Anonymity of a Depressing Big City”_ 2022 image/jxl 38 bytes https://jxl-art.surma.technology/?zcode=ZY3BCsIwEETv%2BxVzL4GkNdiToCJ6iiDKnouNbUBrqEH8fDeivXh7%2B2aHWYXU%2Bph6GE2H9RHGEodW7lmtaedD1yeUc02n%2BGhu8epR034MfkhNCvcBhihccMZCCBB8CWpBQIFRTqS%2BORdOOZYnZT9ZVopZXOGYp3IubcemzUtQVfkvq9%2FK8tm5wm1gjaE3
2022-12-23 03:24:21
**\_wb\_** _“Folding an old-fashioned map”_ 2022 image/jxl 43 bytes https://jxl-art.surma.technology/?zcode=XY1NC8IwDIbv%2BRXvfRTaqXgTVARPFUTIWVzdctlEiui%2FN26lWnN68n4kG4lNuMUOztLhLqGP5yhDD0cszSjXc9oHabs48XF7UpPkigtWsAQkdIrj8kz6Zww4GRObnHoVKV%2BwoxxZuNxgw2w8V55ZDfM9u360XlVUmP1pO6Vl7lde68VbTan6e4tRW0tv
Susie
2022-12-23 06:07:12
i'm not aware enough of jxl/programming but have been playing with the art and wondering about differing implementations ``` if N-NE > 0 if c > 0 - Weighted - 44 - Weighted + 6 - N - 9 ``` produces jxl 28 bytes but a different png when downloading/viewing from the site VS viewing jxl file in browser/ImageMagick
_wb_
2022-12-23 06:14:12
That image will go into very much out of range values and overflow even int32_t (while the values are assumed to be in uint8 range). It's technically not a valid bitstream.
2022-12-23 06:15:41
It's somewhat strange though that different libjxl integrations show different results though.
JXL Art Bot
2022-12-24 03:25:41
**oxyzoron** _“Color Bars”_ 2022 image/jxl 70 bytes https://jxl-art.surma.technology/?zcode=rZA7EoAgDER7TrEXcEbioENjbW%2FhAfzSU%2BjtBUVJxtZuH5sNC4Ob%2FAYytepmt24e2pJSbsGBFtpYBQTYA5RBFhhQ6Ev0sw8xE0fH5CYZ%2FTdVCaorTtZw0tQIvO7OaMUionvT3aNkOnb62xEN85D4hPQ8NsqaP5mc%2BJ6c
_wb_
w here's a super basic spline editor <https://grass.moe/catmull-rom/> source is in the page itself
2022-12-24 08:40:57
it isn't there anymore?
w
2022-12-24 08:47:24
forgot to add it back, it should be there now
_wb_
2022-12-24 08:50:58
still getting 404, guess it takes a while?
2022-12-24 08:51:43
https://grass.moe/catmull_rom/ ah wait it's underscore
2022-12-24 10:06:41
(for a recent `jxl_from_tree`)
2022-12-24 10:06:50
embed
2022-12-24 10:07:04
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1056150955449663498/jxlmas.jxl
_wb_
2022-12-24 10:27:57
data:image/jxl;base64,/wq6IUWRGGggAAC4AGY008xMmjVjBgBLOELmtusLakzkRUU6YGGP940I+Buwq1g21A3q142BCSQ4wArYY1QAAIADAABAAARAAAQARgLASSJlIwxR4sJ4mXe8mMcQPgCAq7BilFisFfBjAAsIpWlJDEHrzGxO7AnH/Cjh0Fdl3zaKadCciBO7Js0pICb/13YEFCUHBXDyaQZIWhvPt8MDK71WzJkut6XdnEsFeQhLGwQH7TvBAeBfysWa+xuH1oeF+hPinAXWr7h3hwNIYLyaIsYUj2Exd+GTWaxOZ9mcKMZ+vMxLSHqmeTjooa3xsWeDlWwUPX3CNXYUHczidTiM4dprg0Z2DdIDYWU62aMKY5kHMCZI+tmj+FJpXm4+iULslS+pAMQYL4HgACsDAwMD
w forgot to add it back, it should be there now
2022-12-24 10:35:02
Thanks, that was useful to draw my merry jxl-mas card 🙂
2022-12-24 04:39:34
a more saturated version and the 'Merry' a little less fat
2022-12-24 04:39:49
data:image/jxl;base64,/wq6IUWRGGggAAC0AGY008xMmjVjBgBLOEPmtusLqDGRFxXpgAUT8H4jCvwbsKtYNtQN6tONBAdYAdhjVAAAgAMAAEAABEAABABGAsBJImUjDFHiwniZl7yYxxAuAICrsGKUWKwV8KMACwilYVEMQWfMbE7sSXzKKOHQV+U5KIpp0JyIPokmzSkgRmY6dwQUJS+5AfNpBkhaYqq3wwMrPaKkmS63pd2cS8FXCEsbBAdhosMBdFzK6yzwDTrrw0L9CXHOMu9V3LvDASTgX00RY4rHsJh7sf4sVqezbM60XBRe5iUkPdM8HPTQ1mTas8FKNoq1H+EaO4oOylM7HMZw7bUR2EUD6YGwRiLsUYVxTAMYExEH7FkUqDQwBLNEIfYuW1QAkoyXQHCAFQMDAwM=
embed
2022-12-24 04:39:57
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1056249789592907827/jxlmas2.jxl
JXL Art Bot
2022-12-24 07:46:39
**\_wb\_** _“Snow Crystals”_ 2022 image/jxl 27 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKz0wB0pZmBlweqZnpGSUKpiYGXKEFxYm5BTmpCiZcwYWlqalVqVxBziFA1VyZaQrJCnYKBlwKCkBmuLafrl84kK9rDBRQUNBVCE7NSU0uUdA1hPNLFIy4YCwDLgA%3D
2022-12-24 08:39:31
**\_wb\_** _“Curvature”_ 2022 image/jxl 36 bytes https://jxl-art.surma.technology/?zcode=Nc2xCsJAEATQfr9i%2BrCQu8RWUJGk2kKUq0PuTBZUjniIn58tku4xMzBnLTHlMsPVFDQaDs5Tn3Sai2W%2BpUf%2BDu%2F8SvB0u9zhiEifGHE0Asa%2FsTYCjAD2G2XvQyUswUbc7F23DFHTp4DbLTn9Jqnkau%2BOVg%3D%3D
2022-12-25 08:52:26
**\_wb\_** _“Untitled”_ 2022 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVWw4ArPTAEKGRpZcHmkZqZnlCgYmZpxBReWpqZWpSpwBTmHAJVnpilUKNgpGHApKACZflCmgoIukK1rCGYCxcOB4rrmYB5IKhwmBeIEp5YoGJpywZgGXAA%3D
2022-12-25 09:00:54
**\_wb\_** _“Batteries?”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVWw4ArPTAEKGZmacXmkZqZnlCgYGllwBTmHKJhwcWWmKfgp2CkYcCko6Co4lqX7afuFK%2BgaArlAmXCgjK45kA2VDNf2g8iB%2BMGpQINMuQA%3D
2022-12-25 09:02:24
**\_wb\_** _“8x something”_ 2022 image/jxl 26 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISQUywzNTgEKGRhZcHqmZ6RklYGaQc4iCARdXZppCsoIdkAVkhIMZugrBqSVgOjxcwdAULKEbDpFTUIDJglhAQXMuAA%3D%3D
2022-12-26 07:43:32
**\_wb\_** _“Simple rule, unexpected outcome”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKLShOzC3ISQUyg5xDFAy4wjNTgBKmhkZcHqmZ6RklYCZXZppCuLafrl%2B4gp2CrrERl4ICsoixIVBAQUFXITi1REHX0AzOy0lNLlEASUKkgDIA
_wb_
2022-12-26 07:45:25
This one was a nice surprise
JXL Art Bot
2022-12-26 07:49:40
**\_wb\_** _“Simple rule, unexpected outcome (2)”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKLShOzC3ISVWw4ApyDlEw4ArPTAFKGJmacXmkZqZnlICZXJlpCuHafrp%2B4Qp2CrrGRlwKCsgixoZAAQUFXYXg1BIFXUMzOC8nNblEwZgLJgWUAQA%3D
2022-12-26 07:52:38
**\_wb\_** _“Simple rule, unexpected outcome (3)”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKLShOzC3ISVWw4ApyDlEw4ArPTAFKGJmacXmkZqZnlICZXJlpCuHafrp%2B4Qp2CrrGRlwKCsgixoZAAQUFXYXg1BIFXUMzKM%2BxLB2oRAGkGiIFlAEA
2022-12-26 07:57:41
**\_wb\_** _“Simple rule, unexpected outcome (4)”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKLShOzC3ISVWw4ApyDlEw4ArPTAFKGJmacXmkZqZnlICZXFyZaQrh2n66fuEKdgq6xkZcCgrIIsaGQAEFBV2F4NQSBV1DMyjPvSgxJTM1r0QBJA2RNDThAgA%3D
2022-12-27 02:29:39
**\_wb\_** _“Simple rule, unexpected outcome (5)”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLShOzC3ISVWw4ApyDlEw4ArPTAFKGBsYcHmkZqZnlICZXJlpCuHafrp%2B4Qp2CrrGRlwKCsgixoZAAQUFXYXg1BIFXUMzKM%2BxLB2oBCjABZMzNOECAA%3D%3D
2022-12-27 02:37:38
**\_wb\_** _“Simple rule, unexpected outcome (6)”_ 2022 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLShOzC3ISVWw4ApyDlEw4ArPTAFKGBpZcHmkZqZnlICZXJlpCuHafrp%2B4Qp2CrrGRlwKCsgiZsZAAQUFXYXg1BIFXUMzKM%2B9KDElMzUPKGTKBZM1suQCAA%3D%3D
2022-12-27 03:23:24
**\_wb\_** _“The Big Puzzle”_ 2022 image/jxl 38 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISQUyg5xDFAxNubjCM1OAUkamZlweqZnpGSVgJldmmkKygp2CIYhRAWQYcOkqhAO5IFIXLBqu7afrFw6U0jU0suBSUEAWMjI1BYooKOgqBKeWKOiamUB57kWJKZmpeUAhkA6ILEgtAA%3D%3D
2022-12-28 05:19:37
**\_wb\_** _“Festivities”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVWw4ApyDlEw4ArPTAFKGJmacXmkZqZnlICZXJlpCuHafrp%2B4Qp2CrrGRlwKCsgixsZAAQUFXYXg1BIFXUMYz70oMSUzNQ8kBNEQUJRa5lpUBNRhgKTB0BSZY8IFAA%3D%3D
2022-12-28 09:46:20
**\_wb\_** _“Diagram”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLShOzC3ISVUw4QpyDlEw4ArPTAFJmJpxeaRmpmeUgJlcmWkK4dp%2Bun7hCnYKukYmXAoKyCLGhkABBQVdheDUEgVdQzMwD1mBAVgEpMK9KDElMzUPqMwIi5gpF8wUoJEA
2022-12-28 12:11:21
**\_wb\_** _“Tinfoil halftoning”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=Tcq9CgIxEATgfp9iellI7lSsLBQ5qxT%2BsPVhVm%2FhPILm%2FTEGketmvpmd5agpD%2FCOrundP9Oo2NBpf4EjsViWlW%2FoqPYYco1kd8gicBBswa0jYC6tLwAwRMB%2BXct8d1W%2Bh%2B7VR9Mpl9vfzjrq7SeMcECzpA8%3D
2022-12-28 01:14:37
**\_wb\_** _“The decay of gold”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=Tcy9CsJAEATgfp9iejnwNhymEtTCVCn84ergrcmCyqGLz%2B8qFumGb4bZqhWpNqGlc30N93oTj4fdCZEoa%2FEmRaZOdJzsF0mvuGDtfcBRDMsv5EUf%2BuwaIrcEzIlTcgECNu%2FRFYGZ%2F7J%2FDkXlYf42G3Czog8%3D
2022-12-28 03:03:06
**\_wb\_** _“Mondrian Revisited”_ 2022 image/jxl 37 bytes https://jxl-art.surma.technology/?zcode=TYs9C8IwFEX39yvuLoEkNFAXQR3aqYgfZC7m2T6oEmro7zcpDt3uOYd7khQ4phE1PeK3f8eJUdH1fIcm8hJyccZSyzKMaZ0kL1xmXnCA2utCftepzhc2tiZgq6xz2QAKx2XIFsoa%2FTc3nviZ8osKNXMfhD9pvWzjDw%3D%3D
daniilmaks
**\_wb\_** _“The decay of gold”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=Tcy9CsJAEATgfp9iejnwNhymEtTCVCn84ergrcmCyqGLz%2B8qFumGb4bZqhWpNqGlc30N93oTj4fdCZEoa%2FEmRaZOdJzsF0mvuGDtfcBRDMsv5EUf%2BuwaIrcEzIlTcgECNu%2FRFYGZ%2F7J%2FDkXlYf42G3Czog8%3D
2022-12-28 10:07:53
yo that looks great
2022-12-28 10:08:32
gold bismuth vibes
JXL Art Bot
2022-12-29 06:53:59
**\_wb\_** _“Bruges Lace”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKLShOzC3ISVWw4ApyDlEw4ArPTAFJGFlweaRmpmeUgJlcmWkK4dp%2Bun7hCnYKusZGXAoKyCLGhkABBQVdheDUEgVdQzMoz70oMSUzNQ8kZIqkAMgBAA%3D%3D
2022-12-29 07:30:14
**\_wb\_** _“Untitled ”_ 2022 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVWw4ApyDlEw4ArPTAFKGBpZcHmkZqZnlICZXJlpCuHafrp%2B4Qp2CrqGZlwKCsgixoZAAQUFXQU%2FVwVdIxMoJzg1JzW5BKgcJhmuAJQDAA%3D%3D
2022-12-29 07:51:35
**\_wb\_** _“Untitled ”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVUw4gpyDlEw4ArPTAFKmBoacXmkZqZnlICZXJlpCuHafrp%2B4Qp2CrqGZlwKCsgixoZAAQUFXQXHsnSgoIKusRFUIDg1JzW5RAFN3tCcCwA%3D
2022-12-29 04:42:21
**\_wb\_** _“The tablecloth with the weird pattern on the diagonal”_ 2022 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=LYqxCsIwFEX3%2BxV3l0CTosnkoItTEbVkLu3TBloIGvr9vpZu53DOJZVBchnp0eZfN%2BdJGPC4vlgBMQ1ajtbhJukzlg2B9GbPsw4K968syj7A8CmF1vmdjHVhPeKhMU3U51SDXNskvea62lSTwx8%3D
2022-12-29 05:37:08
**\_wb\_** _“Untitled”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=TYm9DkAwGEX37ynuLk1aIUwGFpPBTzoLH5qQVNTi6VUkYrrn3JMbN7J1CyLq7NFvdmWEVBctJGkz%2BqBkGFHJZl7cy81%2BMl8MIjNhQAb1gA4qUWlvIiXgfyTeAYGGHUT8ycqDd%2FWLMb0rbw%3D%3D
2022-12-29 06:34:24
**\_wb\_** _“Chessboard Madness”_ 2022 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISVUw4QpyDlEw4ArPTAFKmBsYcHmkZqZnlICZXJlpCuHafrp%2B4Qp2CrqGRhZcCgrIQkampkARBQVdheDUnNTkEgVdI1MzVBETLiSOkYkBFwA%3D
Traneptora
**\_wb\_** _“Untitled ”_ 2022 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKLShOzC3ISVUw4gpyDlEw4ArPTAFKmBoacXmkZqZnlICZXJlpCuHafrp%2B4Qp2CrqGZlwKCsgixoZAAQUFXQXHsnSgoIKusRFUIDg1JzW5RAFN3tCcCwA%3D
2022-12-30 01:54:14
Onion Cells!
JXL Art Bot
2022-12-30 04:29:13
**\_wb\_** _“Untitled”_ 2022 image/jxl 36 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISVUw4QpyDlEwNOXiykxTCChKLXMtKlKwUzDgUlDQVQhOzUlNLgFzgLLh2n66fuFASV0jUzOgEKqgkakpWAxJH1wdkpgRFyrXyJgLAA%3D%3D
2022-12-30 06:07:20
**\_wb\_** _“Untitled”_ 2022 image/jxl 37 bytes https://jxl-art.surma.technology/?zcode=TczLCoMwEIXh%2FTzF2UvARKSuhNZ9kF7IWnRaBYXQBp%2B%2Fx4LU3c83l8uUBo1pRCWP%2BOmWOCucXJs7rMj0RI%2BaxWjfurJzMTivr5B5GMu%2BaaJxTjE%2BcIMMHMG6EwXYDwNM8Qf%2Fg%2B1mezZrn%2BDKUr4%3D
2022-12-31 06:10:18
**\_wb\_** _“Happy New Year (no, that title is not related to the actual thing)”_ 2022 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISVUw5ApyDlEw4OLKTFMIKEotU7ADchQUdBWCU0vALKB4uLafrl84UMbI1BQoApINV9A1MjWDchzL0v20%2FVwVjLkA
2023-01-01 11:34:45
**jjido** _“Reticula (idea by _wb_”_ 2023 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMDLk8i%2FKTM0rSSzJzM9TMOHiykxTCNf20%2FULV7BT0DUx5VJQQBYxMjUAiigo6CoEp%2BakJpco6BqZGqOKGHEhc0wMuAA%3D
2023-01-02 05:03:48
**\_wb\_** _“Dunes”_ 2023 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISQUK%2BBdlpuaVJJZk5ucpGHKFZ6YAlRmZGyh4pGamZ5QomFgYcHFlpimEa%2Fvp%2BoUr2AE1KyjoKrgXJaaA9CnoGhqZoYoYmZpyAQA%3D
2023-01-02 05:22:02
**\_wb\_** _“Lines”_ 2023 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=NYq7CoAgFIb38xT%2FHgdSqDGodoMonAWtDnSRkp4%2Fl8bv0knyIaYNisZ%2BQklzfNwR9wBNwy3hTC7JdeZsxeetUppIFtjCsLFowKomgNG%2BqymyYf1jXqCqkj4%3D
2023-01-02 11:07:38
**DZgas** _“tape”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISVUw5PIvykzNK0ksyczPA%2FLCM1OAygwNjEwUPFIz0zNKwGwursw0hXBtP12%2FcAU7BWNjQyNjLgUFXQX3osQUkG4FXUMwQBU0MjDgAgA%3D
2023-01-04 06:59:29
**\_wb\_** _“Shades of deep purple”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOYKLShOzC3ISVUw4fIvykzNK0ksyczPUzDkCs9MASozNTHg8kjNTM8oUbA0M%2BAKLixNTa1K5eLKTFNIVrADKgMywrX9dP3CgTxdYyMuBQVdBceydKCYgq4FmBeuYGbMBaLMAQ%3D%3D
2023-01-05 06:15:18
**\_wb\_** _“$$$$$$$$$$”_ 2023 image/jxl 29 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKcg5RMOYKLShOzC3ISQUK%2BBdlpuaVJJZk5ucBeeGZKSBlBkYmXB6pmekZJRB2cGFpampVKhdXZppCpYId0AQFBSjTAshUUNBVCE4tUTBAYusaG3IhxAE%3D
2023-01-07 10:01:24
**\_wb\_** _“Lines”_ 2023 image/jxl 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOYKLShOzC3ISVUw4vIvykzNK0ksyczPUzDkCs9MASozNDAy4fJIzUzPKIGwgwtLU1OrUhW4uDLTFPwU7BQMuBQUdBX8XBV0DWEsY0MuAA%3D%3D
2023-01-07 10:03:11
**\_wb\_** _“Interference”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOQKcg5RMDTlCi0oTswtyElVsODyL8pMzStJLMnMz1Mw5ArPTAGqMzI14%2FJIzUzPKAEzgwtLU1OrUrm4MtMUwrX9dP3CFewUDLgUFHQVgExdQwjLVcHYkIsLAA%3D%3D
2023-01-07 10:04:16
**\_wb\_** _“Moiré spotlights”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOYKLShOzC3ISVUw5PIvykzNK0ksyczPA%2FLCM1OAykwNjbg8UjPTM0oUDA2MTLiCC0tTU6tSubgy0xTCtf10%2FcIV7BR0DY0suBQUdBUcy9L9tIFCuoYwbjiIa2RqygUA
2023-01-07 11:20:49
**\_wb\_** _“Feathers”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOYKLShOzC3ISVUw5PIvykzNK0ksyczPA%2FLCM1OAygwNjEy4PFIz0zNKIOzgwtLU1KpUBS6uzDSFcG0%2FXb9wBTsFXUMzLgUFXQXHsnQ%2FbaCIriGYC2QZGwIA
2023-01-07 08:39:01
**\_wb\_** _“Skyscrapers”_ 2023 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=XYvBCoJQEEX38xX3BwTn%2BaBdi9q0C7JoLTjlQNmzJki%2FvqFA1N053HM3arUkaxDpsD2ioFN6Vfd0EzDtnyqtVaaP1u2stWech0g70Wtjfy67t8ggRHpBjzUCAY4fR47OoxX8MyBDKX6eWcbTdLXY4sxzGpdAXw%3D%3D
2023-01-07 09:26:31
**\_wb\_** _“Iron Curtains”_ 2023 image/jxl 40 bytes https://jxl-art.surma.technology/?zcode=ZY3LCsJADEX3%2BYrsS2CmRtGNoCK4GsEHsy52bANaBw1%2Bv6HVbtzdnHMvWYvWKWuL3sFhc0IP5%2Fyq7vmWkGH%2FlNRppfLoTESprTdlB7skTau4mDkAueIFl6YRCY9JkSal5S92Fkfhy3l%2FmotFoBCtQAPqoaHtuBl2q3cTCqPEfzDaJ%2FghqzAzfAA%3D
2023-01-08 08:25:07
**\_wb\_** _“The Matrix”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=Tcq7CsJAEEbhfp7i78NC4sagjWBEsFohKlsHMiYDGlcdU%2BTps14Ku8PHKUUbDtphQdXmiJxO4Vlfw4Vj7h%2FCvdYqtx4ZeWnitixS2rG0nWKep3S4v5hHJpIzfOKM81jB2BkB%2F2KzCIDBemhdEum7%2FMR%2F5L0YuC0KSxM%3D
2023-01-08 08:25:58
**\_wb\_** _“The Matrix (phone background)”_ 2023 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=Tcq7CsJAEEbhfp7i78OCuxvFSlARUq3gha0DGZOBGDc6Wvj0rpfC7vBxVqINJ%2B0wp936gJKO6VafU885t1fhQWuVywBLUZq8Ta2jiqXtFHbiStqPd%2BYnE8kJsQgmRCxgvCPgX7zNABgsH20oMn2Xn8SPvBeDsMHM0ws%3D
2023-01-08 08:47:29
**\_wb\_** _“Ripples”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=TcqxCsJAEEXRfr7i9bLgOi5aCZrGKgE1bB3MmAzEuJgh3%2B8GRGzPvSe1VpL1CHQpbmCq09Q80yDYU%2FVWGa0xfY3wFLXNm98FOot2vYHDmkgfiKvSlREHON4Q8C%2FsMwAOx7nL%2BD0WuMogd4Nbhl%2FmLX0A
2023-01-09 08:12:17
**\_wb\_** _“The New Variant”_ 2023 image/jxl 39 bytes https://jxl-art.surma.technology/?zcode=TY49C8IwEIb3%2FIrbJdAkLdTFQYc6VbFK5tCcNlBriIe%2F30sr0u197v3g9oE8RhqgEpfDFZS4xbd7xhGhFKcUcCJH4TWxYYPnmCp0KY4YHgMtWoQ79LDjAADLc8IPU8EEIKFDAlmvoDJLzm5a2VpOSr2d7fXNmPmUO8xS13%2FscMSeJ9VvsknO5ydz5Qs%3D
_wb_
2023-01-09 08:16:19
I have no clue where this one comes from, I was just trying random stuff and somehow found it. It's quite fragile (at least the part involving the first two channels), changing the constants even just a bit ruins it.
JXL Art Bot
2023-01-09 08:18:02
**\_wb\_** _“The New Variant (simplified)”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKcg5RMOAKLShOzC3ISVUw5PIvykzNK0ksyczPA%2FLCM1OAygwNjEy4PFIz0zNKIGwuBYXMNIVwbT9dv3AFOwVdI0ugCKqYsTFYSEFBVwHI1zWygHODU3NSk0sUdA25IHz3osQUkJ0gLQA%3D
2023-01-09 09:36:39
**\_wb\_** _“What is this”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=TY0xC8IwFIT39ytul0ASLHVy0EGnClXJHMzTPmhraN%2F%2Fx0QXt%2Fu%2BO7iDaOKsA3bUH2%2BwdM9rnPLIcHRZhGeNKu%2B5UJBUZs76LZ1ZXoP%2BMskTYdOZLmAP46wl4F%2F5pikGMCho%2FLevdOWRHwrTUqXTElM9g28tfQA%3D
2023-01-09 09:53:42
**\_wb\_** _“Also: what is this?”_ 2023 image/jxl 37 bytes https://jxl-art.surma.technology/?zcode=ZY09C8IwFEX39yvuLoE0baQuDjroVMEPMof2aR%2FUGur7%2F5hiB8HxnHvg7kQ7TtqjpvP%2Biopu6R2faWA4Ok3Co0aV14iCgnQ526wtHVkevcJXlkjuCKvGNAFbmMLVBPwq5302gEHGZZ%2FpwgO3ms23b3Nql%2BkwxW7%2BRWndvyrpAw%3D%3D
2023-01-09 09:58:08
**\_wb\_** _“Or this?”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOEKLShOzC3ISVUw5OLKTFMI1%2FbT9QtXsFPQNTSy4FJQQBYyMjUFiigo6CoAuVB5EM%2B9KDElMzWvREHXiAuFb2RpzgUA
Traneptora
2023-01-09 10:38:13
I like these names
jjido
**\_wb\_** _“Iron Curtains”_ 2023 image/jxl 40 bytes https://jxl-art.surma.technology/?zcode=ZY3LCsJADEX3%2BYrsS2CmRtGNoCK4GsEHsy52bANaBw1%2Bv6HVbtzdnHMvWYvWKWuL3sFhc0IP5%2Fyq7vmWkGH%2FlNRppfLoTESprTdlB7skTau4mDkAueIFl6YRCY9JkSal5S92Fkfhy3l%2FmotFoBCtQAPqoaHtuBl2q3cTCqPEfzDaJ%2FghqzAzfAA%3D
2023-01-11 11:14:15
looks more like a saw edge
**\_wb\_** _“What is this”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=TY0xC8IwFIT39ytul0ASLHVy0EGnClXJHMzTPmhraN%2F%2Fx0QXt%2Fu%2BO7iDaOKsA3bUH2%2BwdM9rnPLIcHRZhGeNKu%2B5UJBUZs76LZ1ZXoP%2BMskTYdOZLmAP46wl4F%2F5pikGMCho%2FLevdOWRHwrTUqXTElM9g28tfQA%3D
2023-01-11 11:15:58
some kind of beaded threads
**\_wb\_** _“Also: what is this?”_ 2023 image/jxl 37 bytes https://jxl-art.surma.technology/?zcode=ZY09C8IwFEX39yvuLoE0baQuDjroVMEPMof2aR%2FUGur7%2F5hiB8HxnHvg7kQ7TtqjpvP%2Biopu6R2faWA4Ok3Co0aV14iCgnQ526wtHVkevcJXlkjuCKvGNAFbmMLVBPwq5302gEHGZZ%2FpwgO3ms23b3Nql%2BkwxW7%2BRWndvyrpAw%3D%3D
2023-01-11 11:17:17
that is _really_ cool!
JXL Art Bot
2023-01-13 05:22:32
**\_wb\_** _“Strange checkerboard”_ 2023 image/jxl 27 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKcg5RMOAKLShOzC3ISVUw4uLKTFMI1%2FbT9QtXsFMwMjXlUlDQVQBydC3ArODUnNTkEgUjEwsuAA%3D%3D
2023-01-13 05:23:14
**\_wb\_** _“(same image as above but without the 2x upsampling)”_ 2023 image/jxl 27 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKcg5RMOAKLShOzC3ISVUw5OLKTFMI1%2FbT9QtXsFMwMjXlUlDQVQBydC3ArODUnNTkEgUjEwsuAA%3D%3D
2023-01-13 07:14:36
**arborelia** _“cave crystals”_ 2023 image/jxl 46 bytes https://jxl-art.surma.technology/?zcode=XY3BCsJADETv%2BYq5y0JWVvQkqNSjLSrsuWjUPdhKuvT7jWtB8JZ5M48cd2csaZvyVV75Ac9Ua5Iutzn1HQLttX1K0w9wYcFwfsVE6YYL1vAE2NmojJWqAReM%2FLN5YYDDoTL%2Fl6Klb%2BkQP4%2BLGc3hiW7Ge5yV3QROkm3I9AY%3D
_wb_
2023-01-13 07:16:53
I like that style!
arborelia
2023-01-13 07:17:15
thanks! I am having a lot of fun with this web app
JXL Art Bot
2023-01-13 08:23:08
**\_wb\_** _“Untitled”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTiCnIOUTDgCi0oTswtyElVMOEKz0wByhiZmnF5pGamZ5SAmVyZaQoBRallrkVFCnYKxoZcCgq6CsGpOanJJQrmQA5QOlzbT9cvHCirC9KgoABSAeTrmiDYRqamXAA%3D
2023-01-13 08:23:42
**\_wb\_** _“Kryptonite”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOQKcg5RMOQKLShOzC3ISQUyuTLTFAKKUstci4oU7IB8BQVdBcey9HBtPwVDUyAPKA1k6%2FqFA2V1zUyAIkgqdGH84NSc1OQSBSMjIy4A
2023-01-13 10:03:34
**\_wb\_** _“Count the triangles in this picture”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=C3IOUTDgcsosSUktKMlQMOEKLixNTa1K5QotKE7MLchJVTDi4spMU0hWsFMw5FJQADLDtf10%2FcKBfAMgHyIC5OgagnkKCroKwaklQK4ZCh%2BiFsIGqYSJAgA%3D
2023-01-13 10:44:02
**\_wb\_** _“Signals”_ 2023 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=C3IOUTA04HLKLElJLSjJUDDmCi4sTU2tSuUKLShOzC3ISVUw4uLKTFNIVrBTMORSUAAyw7X9dP3CgXwDIB8iAuToGoJ5Cgq6CsGpJQq6RihciFII25gLxAoH6QAA
2023-01-16 06:01:54
**arborelia** _“Rift”_ 2023 image/jxl 37 bytes https://jxl-art.surma.technology/?zcode=c06KdC7icsosSUktKMlQMDTk4spMU0hWsFMw4FJQADIDilLLXIuKgAK6JkARdDEjsJiCgq6Cn6uCriGCFw7kmXFBOOEKhlDTwqEGg0Qdy9LDtcHqoALBqSVAhQZcAA%3D%3D
daniilmaks
2023-01-16 10:10:30
nice algae
JXL Art Bot
2023-01-16 05:58:42
**Kampidh** _“Pins n Bricks”_ 2023 image/jxl 39 bytes https://jxl-art.surma.technology/?zcode=Vc7BCsIwEATQ%2B37F3EsgCa14ElRETxFE6Tk0sV2oNdTg95tUCHqbGd7CtuziAN2s6OS5H%2BISL%2FsrtKTzzH6KNvJzQk07js6HhNd0Cy%2F7CKOHJuI7OmygCEixrYwwbeoydUDAQOimlAOU%2FMKumN8rtSyZbt%2B9qbIvy3G2Lv8DXdO%2FEYo%2B
DZgas Ж
2023-01-18 09:20:59
HEY BRO NICE BRICKS
Demiurge
2023-01-19 12:41:03
Brown bricks
JXL Art Bot
2023-01-21 02:01:13
**\_wb\_** _“The Forest”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=C3IOUTDhcsosSUktKMlQMOcKLixNTa1K5eIKLShOzC3ISQVKh2emgOTMLLgy0xSSFewUDLkUFIDMcG0%2FXb9wKB8s4gfkGIA5Cgq6Co5l6UAlCrrGyCJ%2B2kAtukZcqAIgvq4CiAYA
2023-01-21 02:02:38
**\_wb\_** _“Advanced Trigonometry”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=PY2xDsIwEEP3%2Bwrv1UlNgBUJGGDKQEGZq%2BZoI7UotIGBr%2BdaEJufLdvnwwXW0D7mICl32FD1eIq8heiapnpIvcCSj2HOjKWTxLbLMKVdU7yhwRaGAJW%2BcOz8jxfHKZQLAIxKemkyePV3dq%2FWFVrhb4NxHOsQ5Z71cUavUx8%3D
2023-01-21 02:03:37
**\_wb\_** _“Yet another phone background”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=C3IOUTDmcsosSUktKMlQsOAKLixNTa1K5eIKLShOzC3ISVUw4grPTAHKmRoacWWmKSQr2CkYcCkoAJnh2n66fuFAviGQDxbxg0qCgK6CY1k6UImCrgWaSDhMCCzgBxIw5gLxwhXMuQA%3D
2023-01-21 02:04:52
**\_wb\_** _“Ripples”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=NYrNCkBAFEb39ym%2BvaaYkJVCspP8ZC0uptA0Js9vLOxO55xc2YW13ZFQW%2FQIIhr0PZ36YAREakVj%2BCmNQQqfAIHs2Uav%2FkbAZceiHl0VcejMd1RmWhRfFuI3HR88W0gp6QU%3D
_wb_
2023-01-21 02:06:14
(some "airplane art" above as I am traveling back from Sydney)
JXL Art Bot
2023-01-29 02:17:42
**\_wb\_** _“Blue, Yellow and Red”_ 2023 image/jxl 41 bytes https://jxl-art.surma.technology/?zcode=hY3LCsIwEEX38xWzL4EktDYrQV3oKogPZl3M2A5UCTX0%2Bx0Qqjt3c8%2B9hzntLug9bKUkzmXAANf86h55ZD1JkiLfWjiw9EPBOlgAueNx4hnX6HwLiAbPPPKtoFnVGrWmKppIOrCaP8QQKaoiffGvGRaymXudoftn7qcuCT%2FVdQvTn75p4A0%3D
_wb_
2023-02-07 02:44:17
2023-02-07 02:44:49
I got my trophy from the Inercía demoparty! Nice!
0b5vr
2023-02-24 07:00:46
same! the jxl detail is so cute
privateidentity
2023-03-02 07:46:24
Is it possible to make animations with https://jxl-art.surma.technology/ or does it only work for static images?
_wb_
2023-03-02 07:50:36
good question — I think it's still using a pretty old version of libjxl, not sure if that one already has the syntax to make animation
2023-03-02 07:51:31
besides having syntax, it would need to have the js decoder adapted to render animations
2023-03-02 07:52:16
(I would also update it to use native jxl decoding if available)
2023-03-02 07:52:43
if anyone wants to attempt to do those updates, that would be cool
privateidentity
_wb_ if anyone wants to attempt to do those updates, that would be cool
2023-03-04 11:00:07
Thanks for the clarification. Seems like animations should come in the future. Just when people have the time and skill to add them. I’ve still got to learn how to make static art with jxl so that’s fine with me I was just curious if it was possible.
JXL Art Bot
2023-03-07 08:29:49
**MSLP** _“Polish Air Force checkerboard (simplified colors)”_ 2023 image/jxl 61 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKz0wB0iYWXB6pmekZJSBWkHOIgiUXl76WQhFYKK0oMTdVQUufKzNNoULBTsHEmEsByKwEMo2MQaxkIMtQQVchOLUEThtwwQSQTcpMzUkpVlBTKMkvUNBWSMovKcnPxTDfCGG%2BCT7zEW6A2QQTUsCnDcVdOalpxDoLxVXoNgIdQdilCkj6cKtGOAvJAVg8ilU3AA%3D%3D
2023-03-08 05:56:14
**MSLP** _“Zigzag”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKz0wB0UYGXB6pmekZJQrGRlyhBcWJuQU5qQoWXFyZaQrh2n66fuEKdgq6FlwKugp%2BCromIDo4tUTBBAA%3D
jonnyawsom3
2023-03-08 06:02:19
Just wishful thinking, but someday what if there was an image search for JXL art. Put in your original image, get one that's similar enough but only a few dozen bytes large
JXL Art Bot
2023-03-09 04:35:31
**MSLP** _“Mountain peaks?”_ 2023 image/jxl 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oZGBlweqZnpGSUKZgZcoQXFibkFOalAaa7MNIVwbT9dv3AFOwVdcy4FXQXHsnQ%2FbT9XBV1DBC9cwdCQiwsA
2023-03-19 11:04:32
**Anonymous** _“Unnamed piece”_ 2023 image/jxl 76 bytes https://jxl-art.surma.technology/?zcode=C89MKclQMDEw4PJIzUzPKFEwNTPg4spMU6hUsAOzFRSAnAogB8TUVQhX0DUEM4JTSxSMTE1BSpOhslAmSB6uy9QcmWdoaILCNUdRa2RkgcK1MEXmGpsYoXAtLcFciEsMkNggV1FbBsWFCEUowQDzIJJaJKfDNCG0YIoAAA%3D%3D
2023-03-20 04:09:04
**privateidentity** _“Noonle”_ 2023 image/jxl 1906 bytes https://jxl-art.surma.technology/?zcode=7VpNct0gDN73FO8CneHHYLzpJXqETjuTfRf09s2b2BJjhJCwkzwn2TF6CMSnTwLr6enP7dftx818e3oZ2Pvg3ya5D7zbRnHaRkvcRtYlGEbQsQsoOQdaLoCaSwnXx60CqPkEapMFtWkCtSmBWrCgFiZQCzOoRZPwDKAWZ1CbDajNHtTmCGrJgFpCQBIikhCSBSFZniH5fvv5%2B%2B%2FNhqUYPf%2Bc8TgZz5DxDHk1sdLfRM7ZTUSt%2FYLPq6y9uiyvzqlWibXKSo6MXs7o5bxiuV%2FI7Bc0xMIuEXusBMxIwPbONFIrZzJyJiMlMlIiIw%2FyyoPWMdwUDkkABolaAdELNfdgIUINWGyUc8mQsODG95iQwxLmbbJvznV%2BabFDD0bBkTVJnY5LSSIfKT6NosVJECURgkpiIe0LVLtB6DqZoMiKBcA0lGsOZ0LTOyJKF3Q9laKJ0FucJEBhlih4JcRl9u05gox12hEFZUUZbhRGpNzhPFdjrcCjx9H1ebJnmJmIEKbJpoaGO6HFfBArkS78D4OE6bFEpgfHIf4UQSDjD2BjmhIhRoP0Ke6QbrbD66S8Q%2BYoJqAm8R0KXucleY5grWmzVylqO5TNBxo3Yug3LiLyIm8gf%2FxO56hrNHN6T2aavwUcJZXp5xCJV%2FdNPUpw4qUNPFbe4AE4u0x93xCz3dR%2BqVZGDX69NFyBWaWRSnrP0QJTiqQEpttZE55oH6DETzVGRNqJA98vfbqSGHXp2kWOZq78ncmJqJxQ4Y5UNC1vUY5oa%2FGOoDFvpEnE5p4Qu6xqC%2BhwYcOfLjywdtDHvMeGche63kDTqrzmkWH31KehilwkvvlIP55kFxGqRXz27lyqbHXACDJ1NG6vNzJCsIpm9FXPfZV6rg%2FFaKCeW%2BjD%2B3pz22yJtRX1XO3adD0XVpl9raKp5%2Fr9TTbvHwLlwg9bz62OYasHjU6CuErUEKLHqucKYHEeuDCl5mwb5yY%2F1HA8bkX3II0QJRGCSmp9sIoug7XFxyCHtnea8BUR1w074r0quhyMQLnDmY7AWo7He1V0VdFc%2BN5VdyGKlOF%2FFKTXr%2BjWICEQIv4gNqYtkWH06Sq6DEOLfwCZPEexlmGvUsQ4lMsHj1XR1WUBhrpGM6f3aL5wRRcAjWM3uPPwmWOT4H1az7ax7YHaqLHvl7et6DKYwlmnDYhlj1H9S41QDO29FN8vV6vn0ofdi%2Br4rVFHIpqWr2o%2FMEq8H46Xc9uUagvoWGFjn647sHbQxyzKudJdTi3nypgiFp1Wzj3BiOPl3DOMOFzOPd8IwSqa0Vc597Hbc12oa6422pMadMWr91p0Qzq7RzekD9Gki2iOSQpkJXqX6dKtbXcB8tJsmrOLWTVD1HhcqFFXRxuESQahklwfvVO3iL%2BiDGQFs2QRLOIut%2FNVenVJ1h1OdwTcF2zWlZ3QJiJaUxjLAVfs1sXyooxBqTp1CmMYfXXrlkCJch1BW8PRVy1jnMolhQfv2FUSup4tmfMpOnbj0E3uPPwWTP%2BlSsy2sX2jx3jtjt0a023SBB%2BAZk9p4qcao8h48FN07HLnJ3JChTtS0bS8RTiC0eIdcWbHbuwZThrQ6diN%2Bo7dqO%2FYje%2FRsXuK6BU6doeNOLNjd9yIEzt2zzJCsIpm9B8%3D
afed
2023-03-20 04:43:42
things like this seem to be smaller with regular compression
monad
2023-03-20 06:16:24
because cjxl cheats
TheBigBadBoy - 𝙸𝚛
afed things like this seem to be smaller with regular compression
2023-03-24 10:23:15
and even smaller <:CatSmile:805382488293244929> (took a few hours to compress)
Fox Wizard
TheBigBadBoy - 𝙸𝚛 and even smaller <:CatSmile:805382488293244929> (took a few hours to compress)
2023-03-25 11:38:49
Gotta make it smaller >:D
TheBigBadBoy - 𝙸𝚛
Fox Wizard Gotta make it smaller >:D
2023-03-25 11:56:23
You again ! xD I did not search many many things for the encode, so yeah definitely there was a way to do smaller than me I used cjxl 0.8.1 and `cjxl -e 10 -d 0 --brotli_effort=11 --allow_expert_options --num_threads=0 -I 100 -g 3 -E 11` Apparently my output contains alpha (yours don't) and you used relative rendering intent <:FeelsReadingMan:808827102278451241>
Fox Wizard
TheBigBadBoy - 𝙸𝚛 You again ! xD I did not search many many things for the encode, so yeah definitely there was a way to do smaller than me I used cjxl 0.8.1 and `cjxl -e 10 -d 0 --brotli_effort=11 --allow_expert_options --num_threads=0 -I 100 -g 3 -E 11` Apparently my output contains alpha (yours don't) and you used relative rendering intent <:FeelsReadingMan:808827102278451241>
2023-03-25 11:57:36
https://tenor.com/view/terry-crews-its-me-surprise-hello-hey-gif-4532598
2023-03-25 11:58:06
~~Discord embed moment™️~~
2023-03-25 11:58:54
The alpha layer is probably why mine's smaller <:KekDog:805390049033191445>
TheBigBadBoy - 𝙸𝚛
2023-03-25 11:59:56
yeah the only things idk anything about with JXL is metadata, alpha and channels/color space
JXL Art Bot
2023-03-25 05:31:14
**\_wb\_** _“Moore's Moiré”_ 2023 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKz0wB0qaGRlweqZnpGSUKhgZGJlyhBcWJuQU5qQqGXMGFpampValcQc4hCiZcXJlpCuHafrp%2B4Qp2CrqGZlwKCroKjmXpftpAEV1DGDccxDU25AIA
2023-03-25 06:46:00
**\_wb\_** _“Pink pieces”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=HYmxCoMwFEX39xV3Lw9MrMFJsF2cHKqSWfTVBCIEGvr9fXW655z7iGWXXAJa8nHXtY2jQeIRyoVL%2FqxnTqJ%2Fn3JY6fWcYSxRfGNDh%2BoP%2Fjby6NXY3Qlg9N9DG9i4SydJshWYytbE8Np%2F
_wb_
2023-03-25 06:46:37
embed
2023-03-25 06:46:52
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1089259058910998548/art_15.jxl
MSLP
2023-03-25 06:52:12
I like this guy in the middle
_wb_
2023-03-25 07:03:46
Cute, right?
2023-03-25 07:04:04
That one is going for a hug
MSLP
2023-03-26 03:49:30
Jpegxl-cutout
embed
2023-03-26 03:49:37
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1089395681715822633/hug.jxl
MSLP
2023-03-26 03:51:33
The image dimension parameters are a bit strange in Upscale mode, ```Width 902 Height 902 FramePos -870 -870``` Unfortunately jxl-art.surma doesn't render it correctly
JXL Art Bot
2023-03-26 03:48:23
**\_wb\_** _“Blue (da ba dee)”_ 2023 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOYKz0wB0kamZlweqZnpGSVgZmhBcWJuQU6qgglXkHMIUBVXZppCuLafrl%2B4gp2CriGXgoKugmNZOlAIwgNKJwNlQEyQVHBqTmpyiYIFKtecCwA%3D
akrasuski
2023-03-30 12:07:16
hmm, I've tried to get some examples to work and I think my local jxl_from_tree is broken (got it from apt-get). For example: ``` if c > 1 - Set 255 - Set 0 ``` This renders as green. Hexdump of the resultant file: ``` 00000000 ff 0a fa 1f 01 91 08 06 01 00 30 00 4b 38 69 08 |..........0.K8i.| 00000010 c9 0d f7 07 48 70 00 00 |....Hp..| ``` Or the classic rule 110 (https://www.pouet.net/topic.php?which=12091&page=1#c568703) renders fine, but in black and yellow... What could be the issue?
_wb_
2023-03-30 12:24:34
Are you on latest git version? There was a bug previously where it would use a random RCT iirc
2023-03-30 12:24:44
Try adding RCT 0
akrasuski
2023-03-30 12:55:36
woot, that fixed it! Cheers!
JXL Art Bot
2023-04-11 07:26:09
**\_wb\_** _“Misty Glass Towers”_ 2023 image/jxl 40 bytes https://jxl-art.surma.technology/?zcode=XYw9C8JAEET7%2FRXTh4XcxWtTKILVIX6wtSSrOYhw6JHf70Ylgt28mcesU%2Bk1lwGuJkm9heA87TTdhmKdX9E5Py%2F3PCo8HTYnBKJ0RYcWNQEW9w%2BdvgQwosD9IruPJFVkw9bel3ULbvwbZoFFzKiiyHI2W0cdtStg%2F98EegE%3D
2023-04-12 07:22:16
**\_wb\_** _“Industrial Revolution ”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0pZmBlweqZnpGSUKpiYGXKEFxYm5BTmpQPkg5xAFAy6uzDSFcG0%2FXb9wBTsFQ1MuBQWgQCWQbWRqBuQoKOgqBKfmpCaXKOgawgT8XKEckF7d8HCgZm2%2FcJABBmhajFH5JlwA
2023-04-12 08:16:12
**\_wb\_** _“Selection Bias (try changing that last constant from 133 to other values)”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKLShOzC3ISVUw4gpyDlEwNOXiykxTCNf20%2FULV7BTMDI15VJQ0FUITs1JTS5R0DU0sgDykVUYAPkoKlD5hsbGXAA%3D
2023-04-15 07:35:04
**\_wb\_** _“Unexpected result from just NW”_ 2023 image/jxl 30 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTgCi0oTswtyElVMOQKcg5RMOAKz0wBypibWXB5pGamZ5SAmVyZaQrh2n66fuEKdgpGpqZcCgq6CkCOrgWQhSxnAOTD5AwRbFNDQy4A
2023-04-15 07:50:55
**\_wb\_** _“Gradient 444”_ 2023 image/jxl 34 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTgCnIOUTAy4gotKE7MLchJVTDi4spMU0hWsFMw5FJQADIrgUwDIFNBQVfBDywIYelC5cO1%2FXT9wpEUOZal%2B2n7uSroGkEF3IsSUzJT80oUTExMuAA%3D
2023-04-16 03:00:37
**\_wb\_** _“The fabric of reality”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=LYqxCoNAEAX79xWvl4UzqJDGImlSXRENWwfc6EECJ14av947sBtm5hbSZDEtbPG8j6wdXnF7%2F%2BLX2GBY%2F2a7QcNUjsbhYWFeEq%2BdA8KHWnnxyp4dSOFgidJmLElUc6u8lu6yLIdS6hM9LzgA
2023-04-16 07:09:51
**\_wb\_** _“Nebulosity”_ 2023 image/jxl 32 bytes https://jxl-art.surma.technology/?zcode=XYoxDsIwEAT7fcX2kSWHhCAaCiigckFAV0fyQU4CZMA0vB67pRvNzNZy1JRnDjjuTuxwTu%2Fpnm7KHmKxhGXvcVC7zpnrwWN8flS%2FCtiF0gQXhBu2HUjHUTNduyhcoxMptQlSD19kXfavKZo%2B6vdvVvgB
2023-04-16 07:40:22
**\_wb\_** _“Structure (1)”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISVUw4grPTAFKGBoYmXB5pGamZ5RA2FyZaQrh2n66fuEKdgrGhlwKCroKwak5qcklCrqGRhZgPlDOjAsA
2023-04-16 07:40:43
**\_wb\_** _“Structure (2)”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISVUw4grPTAFKGBoYmXB5pGamZ5RA2FyZaQrh2n66fuEKdgrGhlwKCroKwak5qcklCrqGRhZgPlDOlAsA
2023-04-16 07:41:13
**\_wb\_** _“Structure (3)”_ 2023 image/jxl 27 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISVUw4grPTAFKGBoYmXB5pGamZ5RA2FyZaQrh2n66fuEKdgrGhlwKCroKwak5qcklCrqGRhZgPlDOmAsA
2023-04-16 07:42:23
**\_wb\_** _“Structure (4)”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKLShOzC3ISVUw4grPTAFKGBoYmXB5pGamZ5RA2FyZaQrh2n66fuEKdgrGhlwKCroKwak5qcklCrqGRhZgPlDOkgsA
2023-04-17 01:20:56
**altzeitraub** _“eco-anarchism (green anarchism) square flag”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMObKTFNIVrBTMOBSUNBV8FMwNLIAsoCCFVBBkHA4nBWcWqKga2FqYGJkacLFBQA%3D
derberg🛘
2023-04-17 01:33:41
The downloaded JXL for that one is completely green <:SadOrange:806131742636507177> . The PNG is fine.
_wb_
2023-04-17 01:38:01
I suppose this one is going wildly out of range, and things depend on how color management is dealing with that
2023-04-17 01:39:33
the N 128 means that the G and B pixel values are 1024*128 at that diagonal (while the nominal range is 0..255)
2023-04-17 01:40:02
while the R pixel values are -8504294, which obviously is also quite a bit outside the nominal range
2023-04-17 01:43:20
it's not really well-defined how to render pixels that are claimed to be sRGB but they're also very far out of range. Likely different CMS libraries will behave differently on it, and things will be wildly different if you first clamp to uint8 or uint16 range and then do color management, versus doing things in float32
derberg🛘
2023-04-17 01:47:47
I see, thanks. So that means that currently one can't rely on the preview (even if a JXL extension is installed, but looks like it's not rendered as JXL then) and should ideally learn a bit better what the values are for. Thanks for pointing out the mistakes and for the clarification in general.
_wb_
2023-04-17 01:53:31
I think the jxl-art tool converts to 8-bit RGB so it clamps first and then does color management, which is similar to what you would get when running djxl on the image to convert it to PNG, but can be different from how it is rendered when no clamping to the nominal range is done
2023-04-17 02:02:10
in general it's not well-defined how to render colors that are very much out of range — it's interesting and a bit puzzling that you're getting the image you're getting
2023-04-17 02:03:19
Having everything looking like cyan (RGB #00FFFF) would be what I would expect for that image
2023-04-17 02:03:56
somehow the very negative red removes the G though, until G itself becomes very positive
derberg🛘
**altzeitraub** _“eco-anarchism (green anarchism) square flag”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMObKTFNIVrBTMOBSUNBV8FMwNLIAsoCCFVBBkHA4nBWcWqKga2FqYGJkacLFBQA%3D
2023-04-17 03:41:24
Somehow still a bit wrong (at least the preview looks different), but this would at least generate this image in JXL: ``` if c > 0 if W+N-NW > 32768 - Gradient -65472 - Gradient 32 - Set 0 - Set 0 ```
_wb_
2023-04-17 03:46:32
note that in principle, level 5 bitstreams (which includes all 'naked codestreams' like what jxl_from_tree and the jxlart website produces) are not allowed to require more than int16_t to represent modular pixel buffers, so something like the above is technically not a conforming bitstream
2023-04-17 03:47:35
(libjxl uses int32_t internally anyway at the moment, but in principle implementations could use int16_t and that will certainly give different results in cases like this)
derberg🛘
2023-04-17 03:49:35
So max 32767 for W+N-NW and Gradient or do I need to calculate this different?
2023-04-17 03:50:16
I saw a gradient with a way higher negative value in this channels and thought it would be fine
_wb_
2023-04-17 03:50:31
it's not just the values that occur in the tree, it's the actual sample values the tree produces
2023-04-17 03:51:58
something like `- W 20` is technically already a problem since that creates a diagonal gradient with a value > 40000 at the lower right corner
2023-04-17 03:54:14
so in an implementation that uses int32_t like libjxl, the bottom right corner will just look white, while in an implementation that uses int16_t (which is allowed by the spec for level 5 jxl bitstreams) will get an overflow and the bottom right corner will look black since it will have a negative pixel value
derberg🛘
2023-04-17 03:58:51
Is there some kind of writeup (going beyond https://jxl-art.surma.technology/wtf.html) that helps to understand how to have a conforming bitstream / how to stay within int16_t limits so that values don't overflow?
_wb_
2023-04-17 04:17:03
I don't think so. I suppose you could make a version of djxl that checks for out-of-bounds conditions and tells you if a bitstream is valid for level 5, level 10, or not at all
2023-04-17 04:18:54
it currently doesn't check because having such a check would make decoding quite a bit slower (it's extra branching per pixel, which is not good for performance)
JXL Art Bot
2023-04-17 04:55:05
**altzeitraub** _“eco-anarchism (green anarchism) square flag”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOFyyixJSS0oyVAw5OLKTFNIVrBTMOBSUAAyK6FMMKcCzlFQ0FXwC0fmALVCWMGpJWBxGAsA
derberg🛘
2023-04-17 04:55:59
Should be fine now...
JXL Art Bot
2023-04-17 05:22:40
**\_wb\_** _“Eco-anarchist flag”_ 2023 image/jxl 28 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOFyyixJSS0oyVAw4uLKTFNIVrBTMORSUNBVCE4tUTAAsqCCICaYUwnngFT5hcM5QLkKJDlkM5D5RlzIcjAaAA%3D%3D
_wb_
2023-04-17 05:23:24
This one is actually green, not cyan 🙂
JXL Art Bot
2023-04-17 05:29:22
**\_wb\_** _“Eco-anarchist flag (another shade of green and one less byte)”_ 2023 image/jxl 27 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOFyyixJSS0oyVAw4gpyDgEKcGWmKVQq2CkYcCko6Cr4hYMZQLEKqBhINDi1BIVtyAUA
derberg🛘
_wb_ This one is actually green, not cyan 🙂
2023-04-17 06:28:25
Ah! Looks like the color temperature program I use (redshift) is a bit too strong, heh.
2023-04-17 06:34:39
Thanks for fixing it. Else I wouldn't have noticed it for a while since I barely use other devices than my PC.
**altzeitraub** _“eco-anarchism (green anarchism) square flag”_ 2023 image/jxl 33 bytes https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMObKTFNIVrBTMOBSUNBV8FMwNLIAsoCCFVBBkHA4nBWcWqKga2FqYGJkacLFBQA%3D
2023-04-17 06:38:47
It is definitely too strong... I need to keep that in mind when doing anything with colors in the future 🤔
_wb_
2023-04-17 06:41:41
Heh yes your screen looks like it has no blue at all
jonnyawsom3
2023-04-17 06:41:48
Looks like your computer is running on Argent energy
_wb_
2023-04-17 06:42:24
The French flag probably looks like the Belgian one on your screen
JXL Art Bot
2023-04-17 06:44:51
**\_wb\_** _“Drapeau Franco-Belge”_ 2023 image/jxl 35 bytes https://jxl-art.surma.technology/?zcode=C89MKclQMLQ04vJIzUzPKFEwNLLgcsosSUktAIqbc4UWFCfmFuSkKphwcWWmKVQo2AFVmHMpKAA5yUCOAZCpoKCrEJxagsI2NDBAKDIESwA5lXAdIHV%2BUAlU%2FVBbzIxR5CCWIqsFAA%3D%3D
derberg🛘
2023-04-17 06:44:57
For the french one it isn't that bad
2023-04-17 06:45:29
But Luxemburg could almost be India
2023-04-17 06:47:08
The other image appears darker due to the Discord theme I use.
2023-04-17 06:51:23
zamfofex
derberg🛘 It is definitely too strong... I need to keep that in mind when doing anything with colors in the future 🤔
2023-04-17 06:56:17
I remember using a blue light filter to such degrees in the past, or at least close to it. At some point, you just stop noticing it, even if it seems really strong at first. I remember once going to the kitchen in the middle of the night (where my family usually keeps a white light on), and wondering why the light had suddenly turned blue, not realising I was just unused to the regular white light not being red. 😄
2023-04-17 06:57:48
(Though I normally use light themes for everything, so the redness becomes even more apparent everywhere.)
w
2023-04-17 08:43:15
that's white balance for you
2023-04-17 08:43:20
depends on the environment
2023-04-17 08:44:23
and why blue light filter is <:troll_face:905917618437910619>
spider-mario
2023-04-17 09:06:18
the problem with doing it with redshift is that the naïve reduction in green and higher reduction in blue distorts hue and saturation
2023-04-17 09:06:40
if you calibrate and profile your monitor with a warm white point, you get to keep relatively consistent colors
2023-04-17 09:07:13
at some point, I prepared a couple of simulated images to illustrate the difference, I wonder if I still have that somewhere
2023-04-17 09:07:23
if not, maybe I should prepare that again
2023-04-17 09:07:44
maybe even write a blog post or something
2023-04-17 09:07:52
(I would have to start a blog for that)
JXL Art Bot
2023-04-18 04:38:54
**altzeitraub** _“Clover”_ 2023 image/jxl 133 bytes https://jxl-art.surma.technology/?zcode=Cy7IycxLVTDgMqAIG1Kof6DtNzE04gJiBSMk2gxIm0Bp17yUYHBIcQWPBhhygIFoYGApmCHRJqMBholhAWOBRJtBA2w0heEIMFgAWUBTmsVolsSNTYEBA8QK5kDaHEpbmEFoS1BAmgFpM0iAGhoABUzNQAwjE6Sg5MpMU0hWsAOap6CgqxCcWoLCAgA%3D
2023-04-18 08:58:55
**altzeitraub** _“Cute face with big eyes”_ 2023 image/jxl 372 bytes https://jxl-art.surma.technology/?zcode=7ZjBauQwDIbvegq9wCyWlMT2tVDovSx7LkzYDnTLQOf9qX45MzuHaaBNYfdgBjSOYyvhi%2BRf9t3htJ%2BPp2ce6Ofx7enP8WVmoV%2BHvXfZRA%2Fz4ffzCa3H48vhdabEm360k60Oxo0O0g%2Fd6sImlkI2sg5kxprJhE1IC5uRDmwjaQI1GcMKeuKmXydSTBFWc5xSvSU%2BiysNPFFmw3jB1ERS3aj5pWZWssTxxIyHi8SLjMvr3L%2Ful2%2B0%2FO3yVtT%2F3ME3fCtxOG4zcKE9AKxDEws7RE%2BM6QBvuijBLwUnBbMKU3AdUEtn96ELT1qHoxWcNJBpZKwvEbARjm1MB3gbYIroawAjBlUCXWSvavSkDnAteyXWOo21TpDDEzomz%2BPst8sli6Uz%2FFhCAhwgStiAKA7QxSRjQLmSmA5yVUrMKx03JYhGLEruovLpigYFo4dgPWNUYFxqm1bnXAKyo1zX56bDF00ez1rdZKfr87o%2BS6BTcmew2MR4c4JSZwwoV%2Frdl8aVSJS%2FlWJBIOZrmCHhsLaM7SBXKkYHVwGuRmwGQ18dl9qx7WUuMdmT%2Bwu7l4Y04rIutG%2Bvk5sPjIatDuw%2FIBnnRaxKI059Coxrt7aqMnS8lT9GcSDRdjc3T3U6T470djbuxoniYMxwMgZrYGoDmFpA9H6smE3hx3P0XnPd8eN88hvv
2023-04-18 09:07:16
**altzeitraub** _“Cute face with closed eyes”_ 2023 image/jxl 195 bytes https://jxl-art.surma.technology/?zcode=7ZVNasQwDIX3OoUuMMWS7PxsC4Xuh9J1IaETmA6B5v6M9JJCF%2BnKhXYRAoqt2M%2Fmi%2BX3OC3DOC8XzvQyf759zNeRhV6nwVPW0PM4vV%2BWaJ3n63QbKXHVQyepFSiVAulBayWsYenICmsmM9aWTNiEtGMz0sxWSFNQk4IokcFH7yfSmCKs5jil95b4LO4pc0MtW4yXmJpIeg9q3tWWlSwxVmxjcRFspGzbeboN2z%2FaXqe2FvWfC%2FzCvxKH47ENXNHOAdahiSFmZDDmALgr0YFfAicNZn2ELvqA2h3sfpTwonU42gcnBTJFxfoVERHHcR1zANwHmHD6VoA4gypAh%2BpVRSbtAqx2qlwrYP%2BAH4yKVd143G66CO4uKqjlHk6DYjbCTbhi3bWTg2fwzMHGZZxoOLKFJUe0YGo5mBogej5cfS3x8lX037me%2BDwu%2FuEO
derberg🛘
2023-04-18 09:12:54
Attached is a image of the originals. So for some reason svg2jxl ignored the mouth and did something funny with the eyes but the results are still very cute (would say even cuter than the originals).
Eugene Vert
2023-04-18 09:17:54
UwU
JXL Art Bot
2023-04-18 09:34:19
**MSLP** _“Spliney”_ 2023 image/jxl 139 bytes https://jxl-art.surma.technology/?zcode=7ZJBCsIwFET3%2FxRzgZZMbGOycSOCayt4ABttQEoXvT%2BmaSsibqSbLiQhzMAwfN7PJdR9A71xcvTh3vTQtHLan6FEqu4RWi9aKSw6q2j4Je1eivMdKoyCiS8Bw2SsHNp6ovSn9UGLRcLFYuSV7DdgmV467BoamLNEbrmoJP6piEkY10czEhz8G7NwwxW7GJ0EJUPle3DrZmX1pEonTw%3D%3D
2023-04-22 08:10:40
**\_wb\_** _“Pharmaceutical Abstraction”_ 2023 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=C3IOUTA05XLKLElJLSjJULDgCi0oTswtyElVMOLiykxTCChKLXNMKnYtKlKwUzDgUlDQVXAsSw%2FX9lPQNQTygCqAbF2%2FcKgsSD44NSc1uURB1xTKB6r30%2FZzVTA0suACAA%3D%3D
Husam
**jjido (with help from _wb_ to shave last byte)** _“Minimal Sierpinski”_ 2021 image/jxl 24 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTKTFOoVLBTMOBSUAAya8JroBwFBV0FPygLKOEHFwZJBKeWoPEMueDiAA%3D%3D
2023-04-27 03:02:56
That image can be generated with code like ```c image[y][x] = x & y & 1023 ? 1 : 0; ```
monad
2023-04-27 04:51:16
Sure, but the cool thing about JXL art is its consequential emergence from practical coding tools in a standardized image codec.
_wb_
2023-04-27 05:35:34
In particular, you don't get any programming language in JXL — you cannot write/execute arbitrary code, that would be bad for security and it's not something you want in an image format — and all you get is one iteration per channel, in raster order, over all the pixels, where you don't get to execute an arbitrary code expression per pixel but only a big nested if with a restricted language of conditions and a restricted set of return value functions.
2023-04-27 05:38:48
So it's way more constrained than something like gpu shaders, but still it's expressive enough to do interesting things.
2023-04-27 08:09:42
embed
2023-04-27 08:09:51
https://embed.moe/https://cdn.discordapp.com/attachments/824000991891554375/1101238767475495083/99th_JPEG_meeting.jxl
Traneptora
_wb_
2023-04-27 08:16:51
feels Squeezed Man
2023-04-27 08:16:59
do you have the jxl_from_tree for this?
_wb_
2023-04-27 08:17:50
Yes. I used svg2jxl with some manual tweaks to its output
Traneptora
2023-04-27 08:17:56
ah ok
_wb_
2023-04-27 08:18:20
(to add in a funky background)
2023-04-27 08:33:50
JXL Art Bot
2023-04-29 02:30:16
**\_wb\_** _“Emergent Behavior”_ 2023 image/jxl 25 bytes https://jxl-art.surma.technology/?zcode=C3IOUTDgcsosSUktKMlQMOYKLShOzC3ISVWw4ArPTAEKGRpZcHmkZqZnlCgYW5hwcWWmKYRr%2B%2Bn6hSvYAXUqKOgqAJm6JhCWq4I5FwA%3D
_wb_
2023-04-29 08:30:17
https://jxl-art.surma.technology/?zcode=C3IOUTDmcsosSUktKMlQMOEKLShOzC3ISVWw4AouLE1NrUrlCs9MAUoZGxhweaRmpmeUgJlcmWkK4dp-un7hCnYKBlwKCroKQKauIZgVHg40FAA
2023-04-29 08:30:48
I like these blobby shapes the default 8x upsampling is producing
2023-04-29 08:31:00
JXL Art Bot
2023-04-29 09:49:24
**EV** _“Grid 1x1”_ 2023 image/jxl 26 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMODiykxT8FOwA7IUFHQVwhV0jUxNwUw%2FBRALAA%3D%3D
2023-04-29 10:04:34
**EV** _“1px lines”_ 2023 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKz0wB8sxMuTxSM9MzSkAst6LE3NSA%2FGIFXUMg4uLKTFMI1w0PV7ADKldQ0FXwU9A1MjWDMkEsAA%3D%3D
monad
**EV** _“Grid 1x1”_ 2023 image/jxl 26 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMODiykxT8FOwA7IUFHQVwhV0jUxNwUw%2FBRALAA%3D%3D
2023-04-30 05:33:51
If you just use set, it's smaller.
2023-04-30 05:34:50
Also, it's funny that e10 gets 53 bytes.
JXL Art Bot
2023-04-30 06:50:29
**\_wb\_** _“1px vertical lines (simplified)”_ 2023 image/jxl 23 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKcg5RMOAKz0wB8sxMuDxSM9MzSkAsrsw0hQoFO6CkggKQGQ5lKijoKgSnlqCwDbkQogA%3D
2023-04-30 06:53:04
**\_wb\_** _“1px diagonal lines”_ 2023 image/jxl 22 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKcg5RMOAKz0wB8sxMuDxSM9MzSkAsrsw0hXAFOwVdQy4FBV0gE8oITi0BagMA
_wb_
2023-04-30 06:53:53
Diagonal lines require 2px spacing, otherwise it is just a checkerboard pattern
monad
**\_wb\_** _“1px vertical lines (simplified)”_ 2023 image/jxl 23 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKcg5RMOAKz0wB8sxMuDxSM9MzSkAsrsw0hQoFO6CkggKQGQ5lKijoKgSnlqCwDbkQogA%3D
2023-04-30 04:40:49
Last line should be `- Set 1`
MSLP
monad Last line should be `- Set 1`
2023-04-30 05:17:15
one could get away with either using `|W| > 0`
2023-04-30 05:23:17
w8, sorry, I thought you were talking size-wise using embed.moe jxl-from-tree; but I mixed it up. What's the reason for `- Set 1 ` on last line?
_wb_
**EV** _“1px lines”_ 2023 image/jxl 31 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOAKz0wB8sxMuTxSM9MzSkAst6LE3NSA%2FGIFXUMg4uLKTFMI1w0PV7ADKldQ0FXwU9A1MjWDMkEsAA%3D%3D
2023-04-30 05:25:52
I guess to make it look identical to this
MSLP
2023-04-30 05:29:50
ah, indeed
JXL Art Bot
2023-05-08 07:10:21
**\_wb\_** _“Barcode synthesis”_ 2023 image/jxl 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOMKcg5RMOAKz0wB8gyNLLg8UjPTM0rAzNCC4sTcgpxUBQsursw0hXAFO6BKBQVdBfeixJTM1LwSBV1DMD8crCc1RcGICwA%3D
Deleted User
2023-06-25 02:02:25
Is there a way to extract the prediction tree from a compressed jxl image? (reverse the process on https://jxl-art.surma.technology/)
veluca
Is there a way to extract the prediction tree from a compressed jxl image? (reverse the process on https://jxl-art.surma.technology/)
2023-06-25 02:09:29
are you participating in the gCTF? xD
Deleted User
2023-06-25 02:09:45
yes
veluca
2023-06-25 02:10:58
there's a PrintTree function in libjxl, you can patch `djxl` to print out the tree
2023-06-25 02:11:24
but I shouldn't give you more information 😉
Deleted User
2023-06-25 02:11:49
okay thanks a lot!
_wb_
2023-06-25 03:13:53
https://capturetheflag.withgoogle.com/challenges/rev-jxl
veluca
2023-06-25 03:18:34
for the curious, none of the jxl core dev was involved in creating that challenge (I was certainly very surprised when I found out it existed :P)
Tirr
2023-06-25 03:39:54
oh that's quite interesting challenge
jonnyawsom3
2023-06-25 03:58:28
My immediate thought was "Could've made that into bytes rather than KB"
2023-06-25 03:58:58
And thinking about it, if they use pixel data rather than the raw data, there's nothing stopping it...
Tirr
2023-06-25 04:01:20
uh jxl-oxide doesn't match libjxl for that image
2023-06-25 04:01:45
another bug for jxl-oxide
veluca
Tirr uh jxl-oxide doesn't match libjxl for that image
2023-06-25 04:09:56
no surprises there, IIRC it did a bunch of weird stuff
Tirr
2023-06-25 04:10:35
I guess blending is buggy
JoshL
2023-06-25 08:48:54
Now that the ctf is over, could you please point me to the jxl tree documentation?
SlidyBat
My immediate thought was "Could've made that into bytes rather than KB"
2023-06-25 11:38:13
would probably make the challenge easier to reverse 😄
2023-06-25 11:57:37
here is a tree_from_jxl tool I hacked up during the ctf, in case it is helpful to anyone it did require other hacks, like unprivating some stuff from libjxl and modifying DecodeFrame to add out param for the tree
akrasuski
2023-06-26 08:20:28
hey, I'm the author of the challenge 🙂
2023-06-26 08:21:12
if you're curious (spoilers!), here's the solution/writeup of the picture: https://github.com/google/google-ctf/tree/master/2023/rev-jxl/solution
2023-06-26 08:22:12
or my short note about the solution: https://github.com/google/google-ctf/blob/master/2023/rev-jxl/challenge/solution.md
acedent
2023-07-18 06:47:30
Sorry if has been already covered... Am I correct there is no modulo function with predictors? i.e. I want to draw a pixel every 8th column `x%8?0:1`... 🤔
Traneptora
2023-07-18 06:55:19
this can't be done with JXL art as far as I'm aware
2023-07-18 06:55:25
since the residues are all 0
2023-07-18 06:55:47
you could probably accomplish something like this with patches, maybe?
_wb_
2023-07-18 07:07:32
or with lz77 it would be quite effective too
2023-07-18 07:08:29
we should add some syntax to jxl_from_tree to encode some repeating pattern of residues, any forever repeating pattern should be very cheap with lz77
2023-07-18 07:10:23
what you can do now is use a small group size and do it the exhaustive way (`if x > 7 if x > 8 if x > 15 if x > 16 .... - Set 1 - Set 0 - Set 1 - Set 0` or something like that)
JXL Art Bot
2023-07-18 07:12:12
**_wb_** _“or you can do this”_ 2023 image/jxl 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKcg5RMODiykxTqFCwA7IUFIDMcCBT1wLIVlDQBXJ0geog7ODUEjAbwjLgAgA%3D
_wb_
2023-07-18 07:13:21
taking advantage of clamping, the pixel values go like 1 0 -1 -2 -3 - 4 -5 -6 -7 -8 1 0 -1 ....
2023-07-18 07:13:53
I guess I have an off-by-one there if you want % 8 but you get the idea
acedent
_wb_ or with lz77 it would be quite effective too
2023-07-18 09:55:37
Thanks <@853026420792360980> & <@794205442175402004> ... was hoping to do some repeating pixel art... but realising this will be very hard 😕
2023-07-18 09:56:37
I'm still intrigued by the idea of packing 8x8 patterns into a palette... but not quite ready to hand-craft a jxl file byte-by-byte (yet...)
2023-07-18 09:57:27
https://discord.com/channels/794206087879852103/794206087879852106/1117167626586693652
jonnyawsom3
2023-07-19 10:00:26
If you'd be repeating the same symbol over and over one after another on the same page, like "¥ ¥ ¥ ¥ ¥ ¥" then patches should already do 90% of the work, but of course that last 10% can only really be gained by hand
CrushedAsian255
2023-07-19 11:27:37
how does the `jxl_from_tree` thing work? how does an image format have a programming language in it?
_wb_
2023-07-19 11:39:32
It's not a programming language. It's an expressive way of signaling a context model + predictor to use for entropy coding.
jonnyawsom3
2023-07-20 12:52:36
Think of it like the old huffman compression examples, a tree that goes down a path depending of what's before it. JXL just has more way of making those paths or jumping over them
monad
CrushedAsian255 how does the `jxl_from_tree` thing work? how does an image format have a programming language in it?
2023-07-20 06:10:23
https://jxl-art.surma.technology/wtf.html
JXL Art Bot
2023-10-26 04:20:50
**_wb_** _“Shalom, Salam”_ 2023 image/jxl 203 bytes https://jxl-art.surma.technology/?zcode=pVRNT%2BMwEL37V8wZqYtn%2FBHnwgGExAmtlpU4F5pCpNIgEQn49ziuE2J7QpGqHpx5L%2FPGM%2FOay7bfNK%2F9M2jx7%2Bo%2FSHHfbnyEkrS4adqn5%2F7wLM7P4G%2Bzfmzg7fPlodvB2bm4e921%2B0asSMJJP7HCkxXkH3OihD4xv9I1aOlPg%2BF05GOlhLMEBinEpkbPS7B%2BorbCEFvlAj%2FEw%2Fu5zvD%2BeFpSU%2F5wGsR4%2BnxrwLjan9rryoJ3SgfeKcPyY53r%2FSYudtj5Vffy0O7XfdvtodtC%2F97Bdrd%2Behv2327hEy586wDxcdADmEJb2xDOgCoCE1RVOEEzkGbgBDvCBJ4RlBEAK7i9DncrMj58BtZ1QQXyMXa0SCJLDvXumh7Uj6wTyxxXlO2BAWNTpGvBSaM5JpEBUU95mx3pPxZA8Ysx8hMqu08uMwvisknK1FUkMXcVGVm6igxyrlJkeFcpspyr7pddVUr9sIRFOQYcF2yk%2BKUp2cUc8fiyhXmLFhfNgPHWMn2nmEaSNgUx%2B4DPL5B1cKAoiVCPX6fwCZoMYOZGqqxLjVTT9x%2B0uCYzaWbG7HS5uaYTTapllbIqRYVc%2FVt5Uv0C
_wb_
2023-10-26 04:21:44
current jxl_from_tree gives a smaller file than the web version:
jonnyawsom3
2023-10-26 04:42:37
Huh, interesting
alerikaisattera
2023-11-09 05:24:05
Will web version be updated?
JXL Art Bot
2023-12-20 08:26:40
**Anonymous** _“Unnamed piece”_ 2023 image/jxl 74 bytes https://jxl-art.surma.technology/?zcode=bZDBCsIwEETv%2BYq9l0DSNG1PgoroKYIKOYvGNpcqEkT%2F3qRp04b0tvPY3WFmo81dvUwLNTq%2BterM1ehnBxU6bS9AEdIP%2BMEKKCcIwIqbFW4EwCCGyeKvxZx42QO5Pzg0ALe9%2FjQiExIyyBO6sxObjt23oiLxmnTHuA4wmLCAIptiATuf0gfpU7FyDDDlCpLOrXzA2OqsDOCcJqzg6WW8ZYNAeudLXmzU151FhQr3hI8BpN3H4YG1ULppjboDpmhuwnKC%2Fg%3D%3D
Qon
_wb_ It's not a programming language. It's an expressive way of signaling a context model + predictor to use for entropy coding.
2024-02-03 11:35:01
I'm not convinced it isn't a programming language. It seems like it could even be turing complete.
2024-02-03 11:38:08
Though I just started learning programming in jxl. ``` if [property] > [value:int] (THEN BRANCH) (ELSE BRANCH) ``` Can [value:int] be negative? How does it work with Bitdepth? If I have Bitdepth 1, can value still be negative?
Traneptora
Qon I'm not convinced it isn't a programming language. It seems like it could even be turing complete.
2024-02-03 11:42:18
it can't be turing complete because it walks down the tree once for each pixel which is a finite number of times, and always terminates, no matter what
2024-02-03 11:42:25
turing machines have the possibility of not terminating
Qon
2024-02-03 11:43:30
Yes, I agree. But computers aren't turing complete either if we are being strict.
Traneptora
2024-02-03 11:43:46
but that's a limitation of hardware, not a limitation of language design
Qon Though I just started learning programming in jxl. ``` if [property] > [value:int] (THEN BRANCH) (ELSE BRANCH) ``` Can [value:int] be negative? How does it work with Bitdepth? If I have Bitdepth 1, can value still be negative?
2024-02-03 11:44:06
the value can be negative, yes for example W-WW is a property that takes the value to the west and subtracts the value west of that. this difference can be negative as can the thing to compare it to