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

Petr
2021-04-17 04:52:12
It looks like a part of a bent leg. Soon you'll be able to generate photos of people. 😄
Scope
2021-04-17 02:35:57
A bit of offtopic https://niftygateway.com/itemdetail/primary/0xc7cc3e8c6b69dc272ccf64cbff4b7503cbf7c1c5/1
2021-04-17 02:38:04
> The Pixel is a digitally native artwork visually represented by a single pixel (1x1).
_wb_
2021-04-17 05:13:59
data:image/jxl;base64,/wr6GLFATAhmv+gXASyAEQC8AEs4Qjwt5k9UG5S8OCysfHJ+RxUKwV0JLEQcSIzbcFgQvYPoIRaWjIWoI2xIEg4A
NeRd
2021-04-17 05:14:09
Here's the same file, for free, at original resolution!
2021-04-17 05:14:22
Oh wow, you can't even see it lmao. Here's a base64 version of it: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2NoaGj4DwAFhAKAowjAZgAAAABJRU5ErkJggg0KDQpJIGFtIHRoZSBtZWRpdW0u
_wb_
2021-04-17 05:14:41
``` Orientation 6 RCT 1 if c > 1 if x > 0 if W-WW > -1 - W -1 - W 0 - Set 300 if c > 0 if Prev > 50 if W > -300 - Weighted -15 - Set 300 if W > 0 - AvgW+NW - 20 - AvgW+NW + 20 if N > -20 if WGH > 5 if WGH > 10 - AvgW+NW -2 - AvgN+NE +1 - Weighted -1 - Set 400 ```
2021-04-17 05:14:53
"Coral Reef"
2021-04-17 05:14:57
2021-04-17 06:33:59
Found a new little trick
2021-04-17 06:34:06
``` Bitdepth 10 Width 1024 Height 1024 Orientation 1 RCT 1 if c > 1 - Set -20 if c > 0 - Set 333 if W > 600 - AvgW+N -3 if WGH > 0 - Weighted +20 - Weighted -20 ```
2021-04-17 06:34:32
"Skin"
2021-04-17 06:35:43
data:image/jxl;base64,/wr6F0ORCCYA/SOABTACAGwASzhD5rbfEqhZ9DB4mjj4sNiJC8QixB4kCQcA
2021-04-17 06:37:10
2021-04-17 06:37:20
Wtf discord
2021-04-17 06:37:38
Dark theme is messing it up
2021-04-17 06:37:56
Fox Wizard
2021-04-17 06:38:24
Well, it compresses previews on mobile <:SadOrange:806131742636507177>
Pieter
2021-04-17 06:38:41
Well what is it supposed to look like?
2021-04-17 06:38:55
I have no jxl-capable chromium yet.
_wb_
2021-04-17 06:39:10
It is inverting the skin pigmentation into brighter spots instead of darker ones
Fox Wizard
2021-04-17 06:39:29
Same as the image Jon sent, but it shows messed up for him on mobile
Pieter
2021-04-17 06:39:58
It looks relatively similar here (dark theme, firefox, not mobile).
_wb_
2021-04-17 06:40:01
Pieter
2021-04-17 06:54:52
Ok.
2021-04-17 06:55:10
That was what I saw, wasn't clear to me what difference you were referring to.
_wb_
2021-04-17 06:57:09
How do you see the screenshot with discord?
Pieter
_wb_
2021-04-17 06:58:15
this
_wb_
2021-04-17 06:58:21
and this look very similar to me
2021-04-17 06:58:50
(in color/texture/pattern; the size of the latter is smaller)
_wb_
_wb_
2021-04-17 06:59:22
But you do see it different here, right?
Pieter
2021-04-17 07:00:27
It's paler, and the "pattern" looks brighter than the background. In the (I think) correct image the pattern is darker than the background.
_wb_
2021-04-17 07:01:03
Discord does some trickery to auto invert some stuff to convert what it thinks is dark text on bright background to bright text on dark background
2021-04-17 07:01:32
It works well to convert 'light mode' screenshots to 'dark mode' screenshots
2021-04-17 07:01:50
But here it goes wrong
2021-04-17 07:02:41
The pigmentation is supposed to be darker than the rest of the skin. Trying to imitate natural skin texture here
2021-04-17 08:31:12
``` Bitdepth 11 Width 1024 Height 1024 Orientation 1 RCT 1 if c > 1 /* hint of moss */ if y > 600 if PPrev > 500 if y > 800 - AvgN+NW + 5 - AvgN+NW + 2 - Set 100 - Set 100 if c > 0 - Set 600 if W > -50 if W > 1000 - W -80 if WGH > 0 - AvgAll 50 - AvgAll -50 - W 200 ```
2021-04-17 08:31:55
data:image/jxl;base64,/wr6GMZKJAgmAP0igAUwAgDAAEs4Q5zDgjP4U60vLOXaj56HhIWFYMa+QPKQBAu9+iCRRcgOqPfhAumQSGdEknAAAA==
2021-04-17 08:32:07
"Tree Bark"
2021-04-17 08:32:11
2021-04-18 07:02:55
``` Bitdepth 10 Width 600 Height 750 Orientation 7 RCT 0 if y > 374 if x > 299 - NW 0 if x > 298 if y > 450 if y > 600 - Set 1000 - Set 0 - NE 0 - NE 0 if y > 0 if x > 0 if x > 598 if y > 150 - Set 0 - Set 500 if x > 299 - NE 0 - NW 0 if y > 150 - Set 0 - Set 500 if x > 450 - Set 0 if x > 150 - Set 1000 - Set 0 ```
2021-04-18 07:04:12
Another variation of the logo, this one could be overlaid on the tropical island image
2021-04-18 07:04:37
2021-04-18 09:15:54
``` Bitdepth 10 Width 4096 Height 2048 Orientation 7 RCT 1 if c > 1 if x > 200 if g > 22 if g > 26 - W -1 - W 1 - W -1 - Set 0 if c > 0 if y > 200 if g > 24 - N 1 - N -1 - Set 0 if W > -500 if W > 1200 - N -30 if WGH > 0 if g > 21 if g > 22 if g > 23 if g > 25 if g > 26 if g > 27 - AvgAll 50 - AvgN+NE 50 - AvgAll 50 - AvgN+NE 50 - AvgAll 50 - AvgN+NE 50 - AvgAll 50 if g > 21 if g > 22 if g > 23 if g > 24 if g > 25 if g > 26 if g > 27 - AvgAll -44 - AvgN+NE -53 - AvgAll -53 - AvgN+NE -50 - AvgN+NE -52 - AvgAll -49 - AvgN+NE -51 - AvgAll -58 - N 200 ```
2021-04-18 09:18:26
data:image/jxl;base64,/wr6P9dQTAgGAQCgAQAAQAAEQAAEQAAEQAAEAAuAEwyCcBQjJSFKAByjALlciUUShQRb/Hl0mgCcsANYZOZAXlrSCYTwpk2LAhRF84uVBPrFOsM8cyRHnTiW1C5kybFfsGGpC0qyc4/kCb/JltQmRDku3pdsHSPJTr417QUaxlSScAAAAwMDAwMDAwM=
2021-04-18 09:20:13
Texture study: lightning and bamboo
2021-04-18 09:20:20
2021-04-18 11:12:22
``` Bitdepth 3 Width 3072 Height 3072 Orientation 5 RCT 1 if c > 1 if g > 21 if g > 22 if g > 23 if g > 24 if g > 25 if g > 26 if g > 27 if g > 28 - Set 4 - Set -1 - Set 0 - Set 3 - Set 0 - Set 2 - Set 5 - Set -1 - Set 0 if c > 0 if g > 24 if g > 26 - Set -3 - Set 1 - Set 4 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 - N + 0 - Set 6 if x > 511 - Set 6 - Set 0 ```
2021-04-18 11:13:53
data:image/jxl;base64,/wr6X5GwEBMIBgEA+AAAAEAABEAABEAABEAABEAAC0RIQEHJjdExOEgM+xdCCljm14PCfpf7rLiGZe33j4GBM+BZ2fNSBJ6yw2mciz759lqxku5qGmVAciQJBwADAwMDAwMDAwM=
2021-04-18 11:14:40
"Fast-forward or Rewind? A Warholian Political Compass"
2021-04-18 11:14:48
Deleted User
_wb_ "Fast-forward or Rewind? A Warholian Political Compass"
2021-04-18 12:45:01
- Which quadrant are you in? - *`yes`*
_wb_
2021-04-19 05:49:52
data:image/jxl;base64,/wr6GAGRCGa/6BcBLIARAIAASzhC5rZrBW+CfWSwkBzs8oWqfl70hZQd+TbyAEnCAQA=
2021-04-19 05:50:42
``` RCT 1 if c > 1 - Set -200 if c > 0 - Set 200 if W > -230 if WGH > 3 if N > 200 - AvgW+N -30 - AvgW+N 4 - AvgW+N -4 - Weighted 350 ```
2021-04-19 05:51:17
"Creepy Zombie Arms"
2021-04-19 05:51:21
2021-04-19 05:55:31
First day of the 91th JPEG meeting is over (at least for me). The above image kind of captures my mental state after ~13h of online meetings (from 6am to 7:30pm).
Fox Wizard
2021-04-19 05:56:00
<a:PepeHackerman:806632585429909514>💻
Scientia
2021-04-19 06:01:41
If you look at it from another perspective it looks like the black background is bleeding
_wb_
2021-04-19 06:57:52
``` Bitdepth 3 Width 1024 Height 1024 Orientation 1 RCT 0 Squeeze if W > -3 if W > 3 - W - 1 if W-WW > 0 - NW + 1 - W - 1 - W + 1 ```
2021-04-19 06:58:49
data:image/jxl;base64,/wr6H8FCJAgGAQBEAEsosG34Dd/w6qDYGQ4KScIJ
2021-04-19 06:59:15
2021-04-19 07:00:18
No idea what I am doing but it looks like there's xorpinski-like stuff hidden in Squeeze
2021-04-19 07:07:46
Such weird things
2021-04-19 07:07:50
2021-04-19 07:08:35
``` Bitdepth 3 Width 1024 Height 1024 Orientation 1 RCT 0 Squeeze if W > -3 if W > 2 - W - 1 if WGH > 0 - Weighted + 1 - Weighted - 1 - W + 1 ```
2021-04-19 07:26:55
data:image/jxl;base64,/wr6H8FGJAgGAQBIAEsosG289dKTfuhjph/6kCScAA==
2021-04-19 07:27:20
``` Bitdepth 7 Width 1024 Height 1024 Orientation 1 RCT 0 Squeeze if N > -5 if N > 5 - NE - 1 if N-NN > 0 - NE + 1 - NE - 1 - NE + 1 ```
2021-04-19 07:27:24
2021-04-19 07:27:37
What is this animal and how do you tame it
2021-04-19 07:33:37
data:image/jxl;base64,/wr6H8FCJAgGAQAsAEsoNDI+loKJJOEE
2021-04-19 07:33:44
2021-04-19 07:34:16
``` Bitdepth 3 Squeeze if W > -3 - W -1 - Set 3 ```
2021-04-19 07:38:25
2021-04-19 07:38:56
Bitdepth 3 Squeeze if W > -1 - W -1 - Weighted 3
2021-04-19 09:17:09
data:image/jxl;base64,/wr6H8FEJAgGAQA4AEsocJxP7UcKMzCRJJwA
2021-04-19 09:17:41
``` Bitdepth 5 Squeeze RCT 0 if c > 1 if N > -5 - Weighted -1 - Set 3 - W 1 ```
2021-04-19 09:18:43
"Vaguely Sierpinskian Mosses"
2021-04-19 09:18:47
2021-04-19 09:21:01
2021-04-19 09:21:24
Bitdepth 5 Squeeze RCT 0 if c > 1 if N > -2 - Weighted -1 - Set 1 - W 1
2021-04-19 09:30:13
2021-04-19 09:30:19
What is this stuff
2021-04-19 09:30:40
Bitdepth 3 Squeeze RCT 0 if c > 1 if N > -2 - AvgN+NE -1 - Set 2 - Set 0
2021-04-19 09:47:00
2021-04-19 09:47:05
Bitdepth 3 Squeeze RCT 0 if c > 1 if N > -1 - Weighted -1 - Set 2 - Set 0
2021-04-19 09:47:30
This is a strange world
2021-04-19 09:47:49
These are all below 30 bytes
2021-04-19 09:54:45
data:image/jxl;base64,/wr6H8FDJAgGAQA0AEsoNBbe0Q3k4ECScAI=
2021-04-19 09:55:23
``` Bitdepth 4 Squeeze RCT 0 if c > 4 if N > -4 - Weighted -1 - Set 4 - Set 0 ```
2021-04-19 09:55:43
"Squeezed Coral Reef"
2021-04-19 09:56:03
Scientia
2021-04-19 10:43:26
I wonder if it would be possible to make a macroscopic tesselation one
Paint_Ninja
_wb_
2021-04-19 10:57:59
This looks a bit like a stained glass window to me. And under 30B? Wow
HellMood
_wb_
2021-04-20 09:45:45
Quickly sifting through, i like this one the most. Wow. And 30b only?! Incredible ❤️ We've come far since the "proof of concept" of sierpinski in 32 😄 So, when will this be doable in the (a) only tool? 🙂
_wb_
2021-04-20 09:49:12
whenever we do a version bump, the snippets above will work in the public `jxl_from_tree` tool (and I guess also in the web version as soon as Surma updates it)
HellMood
2021-04-20 09:55:38
26b even. That achieves x86 asm (msdos) density by now. And that's one of the highest densities i would know of. In 2014, 32 bytes for a dragon fractal had quite a "wow" factor to it. Not as much anymore it seems 😄 So how long until JXL animates a fractal in 32bytes? 😄 (Is that even possible)
2021-04-20 09:55:43
https://www.pouet.net/prod.php?which=63522
2021-04-20 10:06:49
<@!794205442175402004> also, i'm wondering how smart the tree learning algorithm is. I mean one of these textures above could with different colors (and maybe slight modications) very well be used as soil texture. So if the loss function of an assumed deep learning approach would be SSIM (or a variant), intuitively some RL textures could have *really* small JXL estimates (?) https://2.bp.blogspot.com/-r82m1xLwXks/UCpI9-_S1CI/AAAAAAAAB-o/ReKXIWmW7vs/s1600/Seamless+ground+sand+dirt+crack+texture.jpg
_wb_
2021-04-20 10:08:33
We currently don't do lossy modular in that way, it would be interesting but I think quite hard
2021-04-20 10:14:08
not sure what the overhead of animation is, there is some cost per frame so I don't think you can do 2+ frames in 32 bytes but I could be wrong
2021-04-20 10:14:42
but if something like 128 bytes or 256 bytes is allowed, it should certainly be possible to make neat animations in that byte budget
2021-04-21 05:34:57
jxl_from_tree in current public code should work with the stuff I have been sharing above
2021-04-21 05:36:10
Please try your own stuff and make art, I also want to tweet jxl art made by other people than me 😅
2021-04-21 05:49:20
<@228116142185512960> maybe a good time to update the online jxl art tool?
surma
2021-04-21 06:11:49
I’ll take a look at in the next couple days!
_wb_
2021-04-21 06:27:02
``` Width 2048 Height 2048 RCT 1 if c > 0 if c > 1 if W > -512 - W - 1 - Set 511 if |N| > 511 if N > 0 - N - 32 - N + 32 if y > 0 if N-NN > 0 - N + 32 - N - 32 if W-WW > 0 - W +32 - W -32 if |W| > 255 if W > 0 - W - 8 - W + 8 if x > 0 if W-WW > 0 - W + 8 - W - 8 if N-NN > 0 - N +8 - N -8 ```
2021-04-21 06:27:26
Some random pattern that tiles nicely
2021-04-21 06:27:57
2021-04-21 06:28:35
It is shown 2x2 times here
Scientia
2021-04-21 06:35:53
ooh
2021-04-21 06:35:58
got it working now
2021-04-21 06:36:10
_wb_
2021-04-21 06:37:55
data:image/jxl;base64,/wr6H8FCJAgGAQBcAEsosSljvvbpOsGtZEh49k6CDAs2JAkn
2021-04-21 06:38:26
``` Bitdepth 3 Width 1024 Height 1024 RCT 0 Squeeze if c > 10 if |N| > 3 if N > 0 - N - 1 - N + 1 if y > 0 if N-NN > 0 - N + 1 - N - 1 if W-WW > 0 - W +1 - W -1 - Set 0 ```
2021-04-21 06:39:03
"Worn Tetris T-shirt"
2021-04-21 06:39:31
2021-04-21 07:31:49
``` Bitdepth 4 Width 1024 Height 1024 Squeeze RCT 4 if W > 4 - N -4 if WGH > 0 - AvgN+NW 1 - W 2 - Set 0 ```
2021-04-21 07:32:13
'Alien Artifact'
2021-04-21 07:32:59
data:image/jxl;base64,/wr6H8FDJAgGAQBIAEsoMW6Nh0F0HtgCV5AkLABSAA==
2021-04-21 07:33:14
nwoeanhinnogaehr
2021-04-21 11:24:56
'Alien Artifact' is SO interesting
Scientia
2021-04-22 03:43:14
when fabian comes back online i should tell him to mess around with jxl from tree
2021-04-22 03:43:52
like you said he might make some interesting stuff changing values
_wb_
2021-04-22 05:51:25
``` Bitdepth 4 Width 1024 Height 1024 Squeeze if c > 1 if |W| > 2 - Set 0 if N-NN > 0 - NW 1 - NW -1 - W 1 ```
2021-04-22 05:52:00
"Sierpinskiesque Autumn Dreams"
2021-04-22 05:52:40
data:image/jxl;base64,/wr6H8FDJAgGAQBAAEsocJxPzSEFuDkKR5AknAA=
2021-04-22 05:53:05
surma
2021-04-22 02:56:49
<@!794205442175402004> I’m guessing it’s ToT in the repo you are referring to? The most recent, tagged release is 0.3.7 which is 3 weeks old
veluca
2021-04-22 03:06:41
yup
_wb_
2021-04-22 06:59:00
``` Bitdepth 4 Squeeze if c > 1 if W > 1 - Set -2 - W 1 - Set -2 ```
2021-04-22 06:59:38
data:image/jxl;base64,/wr6H8FDJAgGAQAwAEsoNBRejlAoFiQJJw==
2021-04-22 07:00:31
"Intergalactic Symmetries"
2021-04-22 07:00:34
25 bytes
2021-04-22 07:00:39
Nova Aurora
2021-04-22 07:04:09
Only 25 bytes?
_wb_
2021-04-22 07:06:28
I really don't know how to work with Squeeze, it produces 48 channels and each of them corresponds to a different component and scale and what is encoded are residuals, so basically you have to give it values close to zero and weird stuff happens in very hard to anticipate ways
2021-04-22 07:07:04
25 bytes for an image like this is pretty cool, right?
Nova Aurora
2021-04-22 07:08:15
I've been seeing these, this is creating images by only using prediction to achieve insane filesizes right?
_wb_
2021-04-22 07:10:28
Yes. All encoded values are zero, which means the asymptotic cost per pixel is exactly 0 bits.
2021-04-22 07:10:55
(because the entropy coder behaves that way for singleton histograms)
2021-04-22 07:11:43
We could actually also do repeating sequences of encoded values with an asymptotic cost of zero
veluca
2021-04-22 07:47:58
I wonder what we'd get when we learn to combine squeeze with the weighted predictor...
lvandeve
2021-04-22 09:10:13
2021-04-22 09:10:35
``` if W > 0 if PrevAbsErr > 10 - Gradient + 1 - Weighted - 1 - Weighted + 70 ```
Pieter
2021-04-22 09:11:10
Looks like some 3d bar diagram.
lvandeve
2021-04-22 09:12:18
2021-04-22 09:12:34
``` Squeeze if W > 0 if PrevAbsErr > 10 - Gradient + 1 - Weighted - 1 - Weighted + 70 ``` Same code, but squeeze
_wb_
2021-04-22 09:23:48
Generally same code plus squeeze gives the kind of blocky pattern you get from ``` Squeeze - Set 128 ```
lvandeve
2021-04-22 09:24:23
Nice, brick like. Where does the color come from?
_wb_
2021-04-22 09:28:33
I don't know, to be honest
lvandeve
2021-04-22 09:29:24
🙂
_wb_
2021-04-22 09:30:07
I don't really know why there would be any difference between R, G and B
2021-04-22 09:31:45
The default squeeze will first squeeze G and B because it assumes they are chroma (usually it would get Y,X,B or Y,Co,Cg)
2021-04-22 09:32:18
So probably it ends up squeezing R one step less than G and B
2021-04-22 09:32:31
Or two steps
2021-04-22 09:33:05
Yes, that must be it
2021-04-22 09:33:20
``` Squeeze if N > 0 - Weighted -1 - Select 2 ```
2021-04-22 09:34:16
'Minimalistic Infinite Weaving Loom'
2021-04-22 09:34:55
data:image/jxl;base64,/wr6HwGRCAYBADAASxJlxrGVOAtaJAkn
2021-04-22 09:35:14
24 bytes
2021-04-22 09:35:20
2021-04-22 09:36:44
Those pixel patterns it creates are quite cool
lvandeve
2021-04-22 09:38:20
``` Bitdepth 12 if W > 0 if PrevAbsErr > 100 - Gradient + 170 - Weighted - 5 - Set 700 ```
_wb_
2021-04-22 09:41:08
Wavy plasma ghost
2021-04-22 10:12:11
``` Bitdepth 3 Squeeze if N > 0 - N -1 - Weighted 7 ```
2021-04-22 10:12:37
2021-04-23 10:19:28
data:image/jxl;base64,/wr6H9fQIGACCBggAABsAQAAQAAEAAuAo21blWLLyED4CoDwbPwXhfArBkQRi1EU7xDGEeYHiJAaQPJZh/umLoa66D2WT/LQH/1yMMYHOLPAtzsaxYGQTHihR9eUE5p4fi7GEbZ4fqBFMgOQBpKEAwADAwgYIlEAABwBAABAAAQAC0RIMaNdxRgMRkVHMwL9BIST+feQ//dftoD+EBr8ZkT5KTHO/69dA5I0I/OVm+QB/u+yIfEOsoBk64P8UA4kwGkASEnCAQADAw==
2021-04-23 10:19:34
I am experimenting with stuff
Fox Wizard
2021-04-23 12:41:52
Looks <:Poggers:805392625934663710>
surma
2021-04-23 12:45:00
**Update to jxl-art.surma.technology** - Using Emscripten’s file system emulation, so I don’t need to vendor/monkey-patch `jxl_from_tree` anymore. If `jxl_from_tree` gets an update, all y’all need to do is to update the commit hash in the `Makefile` and open a PR with the re-built binaries. - Updated the prettifier for support of the new syntax https://jxl-art.surma.technology/?zcode=dVDLCsIwELznK%2FZeAkkf1pOgInqqoELO0sY2lyoSRP%2Fe3SZ9hOptd5jHzm6MrfTDNrBkx6fRrb1ac28hZ6ftBSRj5gYfWIHMBAPApcSFRgAOhZ8QfiOcCbd2gNofCPIAsdevuogKBRHEM3SHUzyKyS3NRUhTJOajdggZeUGM%2FAFTjnRFulbJoi9QToz8KqdRYUHnedYWD5pjqZgrw2uUvyPUuSf%2FCaR3R8FDCzLJ%2BgIK%2BXwwwAht6sbqCrhk05AkFl8%3D
2021-04-23 12:46:11
Would be lovely if some of you people with magic spec access ( <@!794205442175402004> <@!179701849576833024> ) update the help page with a description for the new options/parameters https://github.com/surma/jxl-art/blob/main/src/wtf.html.ejs
_wb_
2021-04-23 12:47:31
Nice! will take a look at it when I get the chance
2021-04-23 12:49:03
working on adding even more stuff (will take a while before others can use it, I still need to make a merge request in the private repo for it, let alone having it in the public repo)
2021-04-23 12:49:53
`FramePos x0 y0` you can use (with negative x0 and/or y0) to crop/hide initial columns/rows that you don't want to show
2021-04-23 12:50:49
and `NotLast` will be a new flag that indicates that the tree will be followed by _another_ tree which describes an overlay frame which will get blended on top of the first frame
2021-04-23 12:51:25
only useful if you also have the `Alpha` flag, which gives you an alpha channel
surma
2021-04-23 12:51:50
nice! exciting stuff
2021-04-23 12:52:05
I am mostly happy that I can stay up-to-date with ToT by just updating the commit hash now
2021-04-23 12:52:17
Emscripten really comes with a lot of batteries included 😄
lvandeve
2021-04-23 12:59:05
Nice! Does it support syntax like Bitdepth? When I try it says "Unexpected node type: Bitdepth". Thanks 🙂
2021-04-23 12:59:36
Oh, fixed it by doing a hard refresh (ctrl+F5)
2021-04-23 01:00:18
Browsers like to cache JS, to fix that you can add something like "<script src="main-4731ffda.js?version=something..."></script> to the JS inclusion
veluca
_wb_ only useful if you also have the `Alpha` flag, which gives you an alpha channel
2021-04-23 01:10:36
not true, you can use Add 😄
surma Would be lovely if some of you people with magic spec access ( <@!794205442175402004> <@!179701849576833024> ) update the help page with a description for the new options/parameters https://github.com/surma/jxl-art/blob/main/src/wtf.html.ejs
2021-04-23 01:11:30
more than magic spec access, it's magic knowledge of not-very-documented code...
_wb_
veluca not true, you can use Add 😄
2021-04-23 01:16:53
right, just haven't done the plumbing yet to select blend modes yet, so it's always kBlend for now
surma
2021-04-23 01:19:13
<@!768090355546587137> all files have their hash in their filename, so caching shouldn’t really be a problem. Maybe I messed up somewhere in the service worker
_wb_
2021-04-23 01:21:50
data:image/jxl;base64,/wraHNTQIGACCJitkOMAHsBAAAB8AQAAQAAEAAuAo21bLaPKyBwPmAAmM/03iRCZjVBUzAilhVqNiIdCcBpMEbiPPg8So43fsXQxjmKEXqbFg0GLk7/d/PkRitc4BCtg8Xlt9FQmeAITz2vFOPuMz4+VMCZYSkCScAAAAwMImK2Q4wAewESiAAAcAQAAQAAEAAuAi2UrKor1RkxDgFBgxeZDMX4rMCb0q/qgOlIYoHnwNz+nVsB/CywPlidcVj7p3xhjtIhBoufAwQ/Swyxj2UWAo4IEKUkYAwM=
2021-04-23 01:22:28
2021-04-23 01:23:03
``` Bitdepth 10 Orientation 7 Width 2048 Height 1024 RCT 1 Alpha FramePos -662 -100 /* crops the init rows away, and part of the sea to get a 2:3 aspect ratio */ NotLast /* we will overlay something on top of this */ if c > 2 - Set 1023 /* opaque bg layer */ /* Chroma */ if c > 0 if c > 1 if g > 21 - Set -50 if x > 40 if W-WW > -1 - W -1 - W 0 - Set 300 if g > 21 if x > 0 - W - 2 - Set 1000 if x > 650 - W + 3 - Set -900 /* Luma */ if y > 20 /* Sky and mountains */ if g > 21 if x > 0 if WGH > 3 - AvgN+NW + 5 if NW-N > -500 - AvgN+NE - 5 - NW + 1 /* extend mountain */ /* init mountains */ if N > -6000 - N - 20 - Set -1000 /* Sea */ if x > 1015 - W -100 if WGH > 1 - AvgN+NW +2 - AvgN+NE -2 /* Randomness */ if g > 21 if W > 50 - Weighted -10 - Set 1200 if W > -50 - Weighted -4 - Set 500 /* logo layer on top of it */ RCT 0 if g > 21 /* only in the top part */ if c > 2 /* the logo is in the alpha */ if y > 561 if x > 611 - NW 0 if x > 609 if y > 638 if y > 811 - Set 400 - Set 0 - NE 0 - NE 0 if y > 0 if x > 0 if x > 1022 if y > 227 - Set 0 if y > 70 - Set 400 - Set 0 if x > 611 - NE 0 - NW 0 if y > 27 - Set 0 - Set 400 if x > 922 - Set 0 if x > 300 - Set 500 if x > 127 - Set 0 - Set 400 /* color of the logo */ if c > 0 - Set 1000 /* turquoise */ - Set 0 /* nothing in the bottom part */ - Set 0 ```
2021-04-23 01:23:17
2021-04-23 01:24:53
a similar mechanism could be used to do animations (but maybe it would be good to have browser support for animation first 😅 )
veluca
surma <@!768090355546587137> all files have their hash in their filename, so caching shouldn’t really be a problem. Maybe I messed up somewhere in the service worker
2021-04-23 01:27:26
I had cache issues too to be honest 😄
Fox Wizard
2021-04-23 01:28:10
That image looks just way too good :p
surma
2021-04-23 01:36:44
Then I probably screwed up my service worker logic lol
2021-04-23 01:37:11
For future reference: The “help” page has a “nuke cache” button at the bottom in case it goes back to the old cached version after a refresh
2021-04-23 01:37:14
I’ll investigate
lvandeve
2021-04-23 01:45:19
``` if W > 10 if WGH > 30 if PrevAbsErr > 2 - AvgW+N -3 - AvgW+N 9 - AvgW+N -4 - Set 300 ```
surma
2021-04-23 01:47:09
(fwiw these caching hours are pretty much guaranteed to resolve themselves within 24 hours. But seems like there is still a bug about refreshing sooner)
lvandeve
2021-04-23 02:52:55
``` Bitdepth 5 if PrevAbsErr > 1 - Set 16 if WGH > 5 - AvgW+N 2 - AvgW+N -1 ``` edit: Triangular Cubism 🙂
_wb_
2021-04-23 03:03:46
that looks some kind of cubism / futurism abstract art
2021-04-23 03:04:39
you should give your pieces a title 🙂
2021-04-23 03:38:07
https://github.com/surma/jxl-art/pull/1
2021-04-23 05:31:07
negative alpha does something interesting
surma
2021-04-23 05:49:57
<@!794205442175402004> Thanks for the PR! I just applied some formatting to it. Should be live in the next couple minutes.
2021-04-23 05:50:07
You didn’t explain `Orientation`. If you give me a quick description I’ll add it
veluca
2021-04-23 05:55:44
it's just the exif orientation
_wb_
2021-04-23 05:56:57
ah yes
2021-04-23 05:57:20
1 is normal, 2 is flipped horizontally, 3 is upside down, 4 is flipped vertically
2021-04-23 05:57:43
and 5,6,7,8 are rotated +-90 degrees and flipped versions of that
surma
veluca it's just the exif orientation
2021-04-23 05:58:54
You say that like everybody knows what that means 😅
veluca
2021-04-23 05:59:39
heh, I made that assumption because I know nothing of metadata but I know what it is xD
Pieter
2021-04-23 06:01:15
so really, orientiation semantically in jxlfromtree language just changes the meaning of all the N,E,S,W directions
2021-04-23 06:01:20
i think
2021-04-23 06:01:30
and maybe ordering of groups?
veluca
2021-04-23 06:04:00
also changes meaning of cropping IIRC
Pieter
2021-04-23 06:07:54
i wonder if the language could instead of having an orientation field just have it infer from which N,E,S,W variables are used (and something similar slightly higher abstraction for cropping and groups)
surma
2021-04-23 06:34:38
Well also the order in which the pixels are generated
2021-04-23 06:34:56
So seeing it as a Post-Generation transform is arguably the easiest imo
_wb_
2021-04-23 06:36:26
The AvgAll and Weighted predictors are hard to express without referring to orientation
surma
2021-04-23 09:14:11
Updated the app with documentation for `Orientation` and fixed the prettifier for 0-arg header directives
2021-04-23 09:14:35
btw, the caching was not a bug. That’s technically WAI. You need to close the tab for the new service worker (that holds the new cache) to take effect. I’ll have to add some more plumbing to add a proper reload UI there
_wb_
2021-04-23 09:34:25
I hope people will have much fun with the new options as I had
Deleted User
2021-04-24 12:58:20
```html <li> <code>Squeeze</code>: Apply the Squeeze transform. Weird things will happen and the image gets many channels. */ </li>``` <@!228116142185512960> comment closing tag `*/` remained after the help page revamp, I've just made a pull request and signed Google CLA so you can hopefully merge without problems 😃
2021-04-24 01:03:56
If you prefer to fix simple things by yourself in order not to clutter contributor and PR lists, just let me know so I'll forward fixes to you.
jjido
2021-04-24 02:42:36
Formic etches https://jxl-art.surma.technology/?zcode=ZY4xDoAgDEV3TvF308Sis0dgcegBjCTsLt5eCikibn3%2Ft%2BlLETc2eAekiKDjOmcoeGTkAgBhP69WNmZvy3rL1ipT0MiSehMwYRkSgnd9z9VF%2Fi4V7POH3kUZPIREfh6S%2F3jXc2%2BhLT8%3D
_wb_
2021-04-24 05:04:05
https://jxl-art.surma.technology/?zcode=dY67CoAwDEX3fsXdJdBY0E4u7h1UyAeIgruLf2%2Bj%2BKjFLefehJyuHcDGLDM2NCgNEMego7cRDhwj8gEAoZ9WlJVN%2BVnWW3L26jWhoOGV6E1AAZcwwZt3y6eJ5Cafz%2FxrIpmJkMjHROKvOmG6zc6Wdw%3D%3D
2021-04-24 05:04:52
Same concept but in RCT 1 and adjusting some values
2021-04-24 05:05:27
2021-04-24 06:22:36
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVCw4PIvykzNK0ksyczPUzDkCnIOUTDg4spMU0hWsFMwNODSVQhOLVEwNYAJmQNFwhUMTaESQLUA
2021-04-24 06:22:46
Tetris Block Factory
2021-04-24 06:22:51
Pieter
2021-04-24 06:50:08
ti tididi tididi tididi tididi tidi ti ti ti ti
_wb_
2021-04-24 07:04:57
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsODyL8pMzStJLMnMz1Mw5ApyDgGSXJlpCgFFqWWOScWuRUUKdkAhoEgymKGrEJxaoqBragBlARlAuXB3D6CsMZeCgq6CY1m6n7afK1AtlBeu7ReuoAs0FgA%3D
2021-04-24 07:05:03
Pieter ti tididi tididi tididi tididi tidi ti ti ti ti
2021-04-24 07:06:50
ta tadada tadada, tada tadada tada da da da da da
2021-04-24 07:25:01
https://c.tenor.com/2aCgSgX1b_AAAAAM/tetris-fail.gif
jjido
2021-04-24 08:02:27
Is it possible to inverse a channel? if "condition" - |W - 255|
_wb_
2021-04-24 08:28:47
You cannot do math directly
2021-04-24 08:29:32
What are you trying to do?
2021-04-24 08:33:19
You can often generate things in an inverse way, like doing `if W > 0 - W -1 - Set 255` instead of `if W > 254 - Set 0 ; W +1`
surma
If you prefer to fix simple things by yourself in order not to clutter contributor and PR lists, just let me know so I'll forward fixes to you.
2021-04-24 09:35:52
No! I totally appreciate the PRs. Thank you!
_wb_
2021-04-24 09:40:02
I like how this art is open source in many layers: you share the 'source code' (tree) for the art, using an online tool that is itself open source, and it is all based on an image format with open source reference software
2021-04-24 09:43:25
Can we somehow make an art gallery with PNG versions of the image, a link with the ?zcode source code, and a way to upvote images and sort to see the best or to see the latest?
2021-04-24 09:44:20
Maybe just a reddit thread or something could work, though I don't think you can have images in the thread itself
2021-04-24 09:44:30
Maybe a new subreddit?
2021-04-24 09:44:51
Any other existing things that could be used for this?
2021-04-24 09:45:57
(you can scroll up in this discord channel but that's not a very convenient way to view jxl art)
raysar
2021-04-24 10:13:49
Yes a jxl-art subreddit will be super cool 😄
_wb_
2021-04-24 01:07:34
Created https://www.reddit.com/r/jxlArt/
2021-04-24 01:07:58
But reddit doesn't seem to be very convenient to upload images to
Scope
2021-04-24 01:24:28
<@!794205442175402004> I think it would be nice to add examples and descriptions of interesting things that were used in their creation in this thread <https://www.pouet.net/topic.php?which=12091>, with links to the web tool and will also be easier to then do reposts and links when all the important will be in one place
_wb_
2021-04-24 01:56:12
My first commissioned art piece: https://twitter.com/jonsneyers/status/1385954683479527424?s=19
2021-04-24 01:56:33
Scope <@!794205442175402004> I think it would be nice to add examples and descriptions of interesting things that were used in their creation in this thread <https://www.pouet.net/topic.php?which=12091>, with links to the web tool and will also be easier to then do reposts and links when all the important will be in one place
2021-04-24 01:57:59
That would be useful I suppose, but I don't really feel like duplicating the above channel over there...
Scope
2021-04-24 02:13:02
<@!794205442175402004> I mean not just a gallery for all images, but the most interesting examples that show JXL features with a description of how it was created and the most spectacular/technically impressive arts, I think this could further fuel interest among demo-makers, especially considering that JXL is already supported in Chrome (with a flag, but still) Single posts will usually just get lost or finding that information all over discord isn't as convenient (also not everyone can be on that server) Unless it requires some free time to write/describe it (and I don't have enough knowledge or good English to do that)
_wb_
2021-04-24 02:21:48
Makes sense. Anyone please feel free to add stuff to that thread, including just copy/pasting things from above that you particularly like (most of it should work in the online tool now, only cropping hasn't landed yet)
2021-04-24 02:27:02
https://jxl-art.surma.technology/?zcode=tVM7T8MwEN79K25uZfXsNlAWJKgQDChIDZLnqDGJhZKg1kXtv%2BfOdkolVuMlfkT33fe4R%2Bcb%2B%2BU7UCje9s4OvvZuHOBWGNfQtcbVWmw376CEWMxg0%2B3HvobZQrgP2ME9IORaqaDiyi1ttMpVWUJlPcgCufSJSq%2FCzkhj6CCVkGCmD4r49xIxfyMJHiMg6GzaJYoK8YpjhJmDTpTkHV2xia%2FHaCHkXgR9Jug15i9NbVefZ6iHBvrxSCl1wyHFMHokLuKytc8vtF0S8YfvtpyXLEPBD6WRJXteBHXi4xOpV%2BQxIQCp0K09eXvV7L%2FoTTBucP6PIoHiDQaOJQdtSrUMCeEMVHaaYhZNoSpyBdEElF8XVLaIX7zU195pEQhtKRpjP9jDJIKJPvMQWNd23jZ0zJTyFLk0dTRqWceYw%2FkD
2021-04-24 02:27:21
This one I still like the most so far
2021-04-24 02:27:58
Or the one with the second layer for the logo, but the online/public tool cannot do that yet
Scope
2021-04-24 02:29:59
Yes, I meant that art as well, although it may be worth waiting for adding crop to the online tool for maximum wow effect
_wb_
2021-04-24 04:00:59
https://jxl-art.surma.technology/?zcode=tVRBTsMwELz7FXtuZdVOGsgJiVYIDshIDZLPETGtVcVBrYva37PrOGkRJ6jxIdrEyszszNoL6xvz4TdQspedNc7X3nYObpm2DX7NxLxkq%2BUrSMZmE1hudl1bw2TG7Du8wR0ISLUioCTkNRaZTIXMoTIeeCFYXxUpKRDqSD4gtkamZKKj6kIIUnuKFEpDeO8psdBc65G%2Bf07Rw9hyjn9TbM%2BHPjRIvUZpyZFRdbU9Qe0aaLsDjqV1%2Bzh3fXTfbXh8wjLHvu8%2F12qqyIWMNpTmCnc4%2BThsPqC32Z9TCdgyCDRHby70%2FYvDSGOd9T9MCF2VIrSlqKFhurkUMfXKDCeVfJJCFqkmUxPL2Xfxy9%2FHjORlJnjDkOoVRt61zuyHTs%2FzzW%2FSXw5Xns98vFXkXLAv
2021-04-24 04:01:33
Slightly tweaked/simplified to fit in 100 bytes (crop will add a few bytes though)
2021-04-24 05:44:40
I wonder where the triangles come from
2021-04-24 05:44:42
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVAw5uLKTFNIVrBTMAEx%2FIAMXSMuXYXw1Mz0jJLUFAVdQyAvOLVEAUYbAAA%3D
2021-04-24 05:44:53
2021-04-24 05:46:09
Interaction between Squeeze and Weighted is nearly impossible to reason about
Pieter
2021-04-24 06:04:17
what does squeeze actually mean in terms of decoding algorithm?
_wb_
2021-04-24 06:49:03
Well
2021-04-24 06:50:43
Encode side, one squeeze step is taking a 2W x H channel and turning it into two W x H channels, the first being the downscale (averaging two pixels into one), the other being the residual.
2021-04-24 06:52:27
For pixels A and B, the first channel will be (A+B)/2, and the second will be A-B-T, where T is a tendency term that is nonlinear: if the local neighborhood is monotonic, it is an interpolation, otherwise it is zero.
2021-04-24 06:52:51
(that T term makes the residuals suitable for quantization)
2021-04-24 06:53:50
That would be a horizontal step, the same can be done for a vertical step, starting from W x 2H to get two W x H channels
2021-04-24 06:54:17
The steps are alternated horizontally and vertically and applied recursively to the downscaled images but not to the residuals
2021-04-24 06:54:35
Until you get something equal or smaller than 8x8
2021-04-24 06:56:47
So a 3-channel 1024x1024 image becomes a 48-channel image where the channels have dimensions 8x8, 8x8 8x16, 16x16, 16x32, etc until 512x1024
2021-04-24 06:57:24
You can then quantize the later large channels more and the earlier small ones less to do lossy compression
2021-04-24 06:57:41
Or just keep it like that and have lossless with progressive
Pieter
2021-04-24 06:58:28
oh, i see
_wb_
2021-04-24 06:58:28
(with actual downscales in the intermediate previews, not NN subsampled like in flif)
Pieter
2021-04-24 06:58:40
it's something like adam7 interlacing
2021-04-24 06:59:00
ah, but with avg/difference added to it
_wb_
2021-04-24 06:59:02
Yes except real downscales, not subsamples
2021-04-24 06:59:37
And the tendency term makes it behave interestingly
Pieter
2021-04-24 06:59:45
tendency term?
_wb_
2021-04-24 07:00:18
That gets added to the diffs
2021-04-24 07:01:41
It is made such that if you quantize the residual channels to zeroes, you get something that is smooth in locally monotonic parts of the image, and blocky in locally nonmonotonic parts
2021-04-24 07:02:40
It could also always have done interpolation, but then you would get the usual ringing artifacts (overshoot issues)
2021-04-24 07:03:58
Without the tendency term, if you just let the diffs be zero then you get only blocky stuff because you are then just doing NN upsampling
2021-04-24 08:02:43
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVAw4wpyDlEw4MpMU0hWsFMwAjFqwmuATBMQMxzIMODSBdK6hmBK2xAk7AcTTs1MzyhJTVHQBepE4morGMJMBGkLTi1RMIUJQIzTBgpAaCMA
2021-04-24 08:03:08
"Impressionist Forest"
2021-04-24 08:03:15
2021-04-24 08:40:14
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOTiykxTSFawA7IUFHQVglNLFHRNDYBsoHBNeA1QwgjMBQuEA7kQDkhtuIKuERJH2wiHstTM9IyS1BQFXWNMMWMA
2021-04-24 08:40:35
2021-04-24 08:41:20
Looks like a level for a platform game
2021-04-24 08:42:23
"Platformation"
2021-04-24 08:47:37
I like the range of styles that can be obtained: somewhat realistic-looking clouds etc, paintery stuff, very structured things like sierpinskis and cellular automata, alien stuff, flames, plasmas, abstract stuff with strong lines, etc etc
jjido
2021-04-24 08:48:37
29 bytes Sierpinski, what is the smallest so far? https://jxl-art.surma.technology/?zcode=y0xTqFCwUzDgUlDITFMIhzLBHD84BwR0FYJTSzD4Rqam2JSjSiJrhssAAA%3D%3D
_wb_
2021-04-24 08:49:53
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTiykxTqFCwUzDgUlAAMsOhTDDHD84BAV2F4NQSDL4hNsXIUsgaoeIA
2021-04-24 08:49:57
27 bytes
Pieter
2021-04-24 08:50:26
Gah, <@794205442175402004> beat me to it.
_wb_
2021-04-24 08:52:44
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTKTFOoVLBTMOBSUAAyw3X9woE8XUMgF1nAAMxXUNBVCE4tQeNB1CJkoCwA
2021-04-24 08:52:50
25 bytes
2021-04-24 08:58:30
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5eLKTFNIVrBTMOFSUAAyK4FMAyATzAnX9QsH8nUNwQLIQgZQEQUFXYXg1BIMPkwHsiyCDWEZAQA%3D
2021-04-24 08:58:44
Back to 28 bytes but now it's a glitchy colored one
2021-04-24 08:58:48
jjido
2021-04-24 09:07:47
https://jxl-art.surma.technology/?zcode=y0xTqFCwUzDgUlDITFMIhzLBHD84B8xNBnINoVwFBV2F8NTM9IyS1BQFUyTB4NQSZD0g84xM0RWgmKKgDeVj2uhHULcfXDey5VB1AA%3D%3D
Pieter
2021-04-24 09:18:06
Variant using WGH: https://jxl-art.surma.technology/?zcode=y0xTqFCwUzDgUlDITFMIhzLBHD84R0FBVyE4tQTOA6l09wBKG5lCRWAqDJH44QraUD6aYVCukSk%2B3X5w3ci2Q9UBAA%3D%3D
2021-04-24 09:18:35
jjido
2021-04-24 09:19:12
Construction x 1 https://jxl-art.surma.technology/?zcode=y0xTqFCwUzDgUlDITFMIhzLBHD8gx9AUzAPzk0F8KBcsUAkUMDIygAspKOgqOJal%2B2n7uQLFUYSDU0uQ9EL4BgijQfYamZpy4dYQrqAN5cNchqTdj6B2P7h2ZNuh6gA%3D
2021-04-24 09:49:54
Hot chamber https://jxl-art.surma.technology/?zcode=y0xTqFCwUzDgUlDITFMIBzINTYFsMM8PwQPzk6EKUQQM4QIKCroK4amZ6RklqSkKuqjijmXp4dp%2BCrqWCP1IipHsALnAyNQU3RYDFNOCU0sUDA0UMMWQDVfQhvKhPjFAWOKHZgmmbj%2B4bpgsSDtUHQA%3D
Pieter
2021-04-24 09:50:42
wow, that has no x and y based branches :o
jjido
2021-04-24 09:51:23
it's based on Sierpinski
nwoeanhinnogaehr
2021-04-24 09:51:55
Would it be correct to say squeeze performs a wavelet transform?
Pieter
nwoeanhinnogaehr Would it be correct to say squeeze performs a wavelet transform?
2021-04-24 09:52:12
2d haar wavelet, i guess
nwoeanhinnogaehr
2021-04-24 09:53:46
ah makes sense. The tendency term is confusing but that helps a bit to imagine what's going on
Pieter
jjido it's based on Sierpinski
2021-04-24 09:54:14
isn't everything?
jjido
2021-04-24 10:27:06
"She comes" - I didn't figure out how to change the colours https://jxl-art.surma.technology/?zcode=i4h04vIvykzNK0ksyczPUzDj4spMU6hQsFMw4FJQADKToUwFBV0Fx7J0P20%2FVyDLECYUnpqZnlGSmqJgiKk8OLVEwcjACIVnAAA%3D
_wb_ 25 bytes
2021-04-24 10:59:33
Another 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTKTFOoVLBTMOBSUAAyw6FMBQVdBT8oCyjsBxcGSQSnlqDxDLng4gA%3D
2021-04-24 11:09:52
Pythonic triangle https://jxl-art.surma.technology/?zcode=C3IOUTDj4spMU6hUsFMw4FJQADLDoUwFBV0FPyA2BLOBEn5wCZBUcGoJnAeUTAZKGkK5IOnw1Mz0jJLUFAVDU2MkYZAuI1OQPqgJAA%3D%3D
2021-04-24 11:31:31
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuUKcg5RMOHiykxTqFSwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEAcYDSieDpKFckHR4amZ6RklqioKhqTE2YSNTkGaoMQA%3D
Scientia
2021-04-24 11:39:54
Those colors look so random
2021-04-24 11:40:39
Compared to the other ones that have more IMO "algorithmic" looking colors
Pieter
2021-04-24 11:46:13
it's the squeeze transform that gives very different results
2021-04-24 11:47:29
but making things that don't look super grid-aligned with squeeze is pretty hard
nwoeanhinnogaehr
2021-04-25 02:35:20
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oYGRiZcHqmZ6RklEHaQcwhQMriwNDW1KpWLKzNNIVzBTsGAS1fBT0HXGEwZAwA%3D "Alien scripture", 29b
_wb_
jjido Another 25 bytes https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTKTFOoVLBTMOBSUAAyw6FMBQVdBT8oCyjsBxcGSQSnlqDxDLng4gA%3D
2021-04-25 06:00:33
For some weird reason, this variant is 24 bytes: https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOTKTFOoVLBTMOBSUAAya8JroBwFBV0FPygLKOEHFwZJBKeWoPEMueDiAA%3D%3D
nwoeanhinnogaehr https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oYGRiZcHqmZ6RklEHaQcwhQMriwNDW1KpWLKzNNIVzBTsGAS1fBT0HXGEwZAwA%3D "Alien scripture", 29b
2021-04-25 06:06:12
First I only saw the blocks, but there are details in some of them which are pretty cool!
nwoeanhinnogaehr https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oYGRiZcHqmZ6RklEHaQcwhQMriwNDW1KpWLKzNNIVzBTsGAS1fBT0HXGEwZAwA%3D "Alien scripture", 29b
2021-04-25 06:11:06
The url points to a different image it seems
Pieter but making things that don't look super grid-aligned with squeeze is pretty hard
2021-04-25 06:19:33
The main thing is to keep the residuals close to zero (and also not only positive). Things like this https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oYGRiZcHqmZ6RklEHaQc4iCAVdwYWlqalUqF1dmmkKygp2CIYhRE14DZJpy6SoEp5YAFQGFwt09gEIGQKFwBV1DMGUIlTcCAA%3D%3D
nwoeanhinnogaehr
_wb_ The url points to a different image it seems
2021-04-25 06:45:15
Oops, looks like I forgot to click "Share". This code produces something slightly different but very similar - i'm not sure of the exact code I used for that image anymore. https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOQKLixNTa1K5cpMU0hWsFMwMuXSVQhOLQHKAEXCgSIGQIFwIBdE6hoCAA%3D%3D
_wb_
2021-04-25 06:49:02
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOEKz0wB0oYGRiZcHqmZ6RklEHaQc4iCAVdwYWlqalUqF1dmmkKygp2CIYhRE14DYppy6SoEp5YAVQHF%2FIAiBkCBcLARqSkKuobIPEOoWl0zAA%3D%3D
2021-04-25 06:49:14
'Deep Purples'
2021-04-25 06:49:29
jjido
2021-04-25 08:02:25
Window on the horizon https://jxl-art.surma.technology/?zcode=bY2xCoAgFEV3v%2BL%2BQKDZG1xa2gsqaI6ycikIh%2Fr7nmVD0CCc%2Bw5yqt3Z1ffebSsyURcttBBuwokcUgCMXUQgQclP3cyiZKHMo4JsrMe7WA9Bxxl0Z928eDtCkf47pxSDB3%2FMjHkzYZL8ZlKin%2BzD2sgL
2021-04-25 08:44:56
2021-04-25 08:48:12
Construction x 2 https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMObiykxTqFCwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEAcYDSieDpKFckHR4amZ6RklqioKhqTE2YSNTAwUFLoRBAA%3D%3D
2021-04-25 09:06:11
A variation ~ note that it is 40 bytes! https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMObiykxTqFCwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEAcYDSlcCpc3MLKACMAWGcD5QSTLIBLgASEl4amZ6RklqioKhqTF2CSNTAwUFLoR9AA%3D%3D
Scientia
2021-04-25 09:10:16
I wonder if one could make a game entirely out of this art? (bonus points if every scene including the player controlled objects were a single jxl_from_tree image)
Pieter
2021-04-25 09:11:53
"capture screenshot"... hmm, something's wrong, it's only creating a 73 byte file...
jjido
2021-04-25 09:13:54
I am talking about jxl version
monad
2021-04-25 09:15:55
I presume sipa was talking about a hypothetical screenshot of the proposed game.
Pieter
2021-04-25 09:16:48
indeed
jjido
2021-04-25 09:17:28
ha ha
monad
2021-04-25 09:25:14
I really wonder how far the context modeling can be taken in the future. Will we see 5% improvement? more?
Jake
2021-04-25 09:25:46
What is even going on in this channel?
monad
2021-04-25 09:26:00
Unfortunately, I can't even encode all my screenshots at -s 9 right now, it would take over three months.
2021-04-25 09:26:58
<@!353367770030931970> https://jxl-art.surma.technology/wtf.html
jjido
2021-04-25 09:33:44
Pointillistic https://jxl-art.surma.technology/?zcode=C3IOUTDn8i%2FKTM0rSSzJzM9TMOLiykxTqFCwUzDgUlAAMpOBTEMgE8wJKEotg0qBgK5CcGqJgiGCGx6uoK1gDFMd7u6BohhJFqYXakklyBIDI4gcQgbGNjI24gIA
Jake
2021-04-25 10:03:36
I have no idea what any of that means.
2021-04-25 10:03:49
Unfortunately I don't know much of anything in compression.
2021-04-25 10:04:18
Is it kind of like macroblocks?
Scientia
Jake What is even going on in this channel?
2021-04-25 10:13:42
I am no image format genius either, but what's happening in this channel is people are using the MA trees from modular to make interesting images
2021-04-25 10:14:03
the MA tree is like a prediction of the actual image that's used for compression
2021-04-25 10:14:15
but in these images that prediction IS the image
2021-04-25 10:14:22
so it's ridiculously small
2021-04-25 10:15:31
I don't know the logistics fully, you should ask jon or another of the core devs if you are confused because i'm a little confused too 😄
2021-04-25 10:18:03
also these snippets of code such as ```RCT 7 Orientation 2 if x > 0 if c > 1 if Prev > 0 - Set 10 - WW + 3 if WGH > 0 - WW + 3 - Set 0 if y > 1023 - Set 0 - Set 232``` (the tree for image above from jjido) are a representation of the MA trees
_wb_
2021-04-25 10:24:56
also by messing around with some values in that one i was able to make this https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5eLKTFNIVrBTMOFSUAAyK4FMQyATzAnX9QsH8g3AfGQRI6iIgoKuQnBqCVwFjG%2FIhSmLkIGwjAA%3D
2021-04-25 10:25:08
2021-04-25 10:28:31
also this https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5eLKTFNIVrBTMDTgUlAAsitBbCATzAnX9QsH8g3AfGQRI6iIgoKuQnBqCVwFjG%2FIhSmLkIGwjAA%3D
2021-04-25 10:30:12
actually when i play with it
2021-04-25 10:30:36
this is just a macroscopic form of the other squeeze grid pattern
_wb_
Scientia
2021-04-25 10:37:25
Looks like a lego brick birthday cake
jjido A variation ~ note that it is 40 bytes! https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMObiykxTqFCwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEAcYDSlcCpc3MLKACMAWGcD5QSTLIBLgASEl4amZ6RklqioKhqTF2CSNTAwUFLoR9AA%3D%3D
2021-04-25 10:54:47
A variation on the variation: https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMOTiykxTqFCwUzDgUlAAMsOhTAUFXQXHsnQ%2Fbb9wIMsQLAKU9gNKG5lCFICUBKeWKOgaGcAEgCoqgSrMzCygAiA1fnADoEqSgUoQAiAl4amZ6RklqSkKxnCz0SXAdkAsNAAA
2021-04-25 10:54:56
Scientia
2021-04-25 11:05:42
reminds me a little of aurora borealis
_wb_
2021-04-25 11:06:20
Another variation: https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMOTiykxTqFCwUzDgUlAAMsOhTAUFXQXHsnQ%2FbT9XIMsILAKU9gNKG5lCFICUhKdmpmeUpKYo6JoYGMCEgeoqgerMzCygAiCVfkBsCOcDlSQDlSAEwIYhGY1mvAnYcF2F4NQSBQMA
2021-04-25 11:06:24
2021-04-25 11:08:02
Crazy out of bounds values are fun, the darker-than-black stuff gets clamped to black anyway
2021-04-25 11:08:22
That's also how I made the mountains in the sunset image
2021-04-25 11:08:58
The interesting thing is that this darker than black is actually darker than black when you do blending with multi-frame
2021-04-25 11:09:49
So you can have blacks that still darken stuff even when overlaying it with opaque white
2021-04-25 11:10:06
And you can make negative alpha which is even more fun
2021-04-25 11:10:26
It basically does the opposite of what blending would do
2021-04-25 11:11:11
"make the color more different from this one" instead of the usual "mix it X% with this one"
2021-04-25 11:11:28
Something like that at least
Deleted User
Pieter 2d haar wavelet, i guess
2021-04-25 11:13:06
And people are complaining about J2K being the only wavelet image codec... well, now JXL has something similar 😉
_wb_
2021-04-25 11:22:29
Squeeze is a kind of modified wavelet, the most simple kind of wavelet (Haar) but modified with a nonlinearity that makes it behave quite different from usual wavelet transforms (smooth in smooth areas, blocky in non-smooth areas, no ringing)
2021-04-25 11:24:59
For the main lossy codec jxl uses the old battle-tested DCT though, which is probably the best thing that can be done in a classical codec in terms of speed/quality trade-offs.
2021-04-25 11:25:42
Just refined a lot, with adaptive quantization, variable block sizes, filters, better entropy coding, etc.
2021-04-25 11:26:27
JXL art in vardct mode would open up an entirely new can of worms/possibilities
2021-04-25 11:28:02
Everything we do now, could also be done with the DC image (the 1:8 scale version of the image)
2021-04-25 11:29:47
But then we could also generate trees to encode the control fields that encode block sizes, quant weights, chroma from luma multipliers, filter strengths
2021-04-25 11:31:03
The AC itself does not use modular, but you could also have asymptotically zero-bit encodings of interesting non-zero coefficients
2021-04-25 11:34:18
Another currently not yet explored possibility is to use the lz77 option in the entropy coding. That way you could e.g. do a repeating sequence of predictor residuals for basically free (instead of what we do now: all zeroes), which would still get interpreted according to the MA tree.
2021-04-25 11:35:21
E.g. `- W + 3` currently means "take the pixel to the left, add 3, then add 0"
2021-04-25 11:38:06
We can also do e.g. `- W + 3 + 5 * number`, where `number` is taken from a repeating sequence like 0, 1, -1, 0, 1, -1, 0, 1, -1, ...
2021-04-25 11:39:11
With lz77 that sequence would just be encoded once and then a match of large enough length would do the rest
2021-04-25 11:40:41
The residual multipliers in the tree are currently not useful since we use zero-residuals anyway, but the bitstream has it. It is how we do quantization in lossy modular or for the DC.
2021-04-25 11:41:49
I think we only have multipliers >= 1 though, right <@179701849576833024> ? Not negative ones I mean
2021-04-25 11:42:11
(or zero for that matter)
2021-04-25 11:46:39
Drawing stuff with splines should also be fun. <@604964375924834314> how hard would it be to add a `Spline` option to jxl_from_tree ?
spider-mario
2021-04-25 11:49:23
I suppose possibly not too much? but it would likely depend on the kind of interface we want for the color/thickness data
2021-04-25 11:49:35
in the format, it’s stored as DCT32 coefficients
veluca
_wb_ I think we only have multipliers >= 1 though, right <@179701849576833024> ? Not negative ones I mean
2021-04-25 11:49:50
I believe so yes
spider-mario
2021-04-25 11:50:00
so if the user enters that (or DCT8 or DCT16 coefficients) manually, it’s not too much work for jxl_to_tree, but also not very user-friendly
_wb_
2021-04-25 11:50:07
What is the thickest spline we can do?
spider-mario
2021-04-25 11:50:37
not sure there is an actual limit
2021-04-25 11:50:51
I mean a practical one
2021-04-25 11:51:07
the “thickness” is actually the σ of a gaussian
_wb_
2021-04-25 11:51:10
Drawing a curvy "jpeg xl" on top of the sunset image would be neat
veluca
2021-04-25 11:51:23
could also use patches 😄
2021-04-25 11:51:45
first frame: a font second frame: uses that font
_wb_
2021-04-25 11:52:58
Could even upsample the font by e.g. 4x too, right?
veluca
2021-04-25 11:53:46
in principle yes
_wb_
2021-04-25 11:56:37
A demuxer would be useful that lets you take an existing jxl as input to jxl_from_tree, makes the first frame a reference frame from the jxl file, and the second frame can use patches from it
2021-04-25 11:57:30
(i don't think we want to manually make a font with trees)
veluca
2021-04-25 12:01:32
no, we don't xD
2021-04-25 12:01:47
even better if we could take a .ttf or whatever and actual text though
fab
2021-04-25 12:04:57
2021-04-25 12:05:16
2021-04-25 12:11:51
2021-04-25 12:18:16
how to prettify this
2021-04-25 12:18:17
Orientation 6 RCT 4 if x > 0 if W > 0 - AvgN+NW - 1 if W-NW=4 > 20 if y > 61 if y > 813 - N - 1 if c > 1 - Weighted 233 - Set 0
veluca
2021-04-25 12:21:11
mhhh.. it would look pretty nice without the green stuff
2021-04-25 12:21:30
maybe remove the last branch?
2021-04-25 12:22:17
(I think the tree is truncated)
fab
2021-04-25 12:23:08
no this code don't work
2021-04-25 12:23:10
why
2021-04-25 12:23:54
this also not
2021-04-25 12:24:13
https://jxl-art.surma.technology/?zcode=C3IOUTDn8i%2FKTM0rSSzJzM9TMOLiykxTqFCwUzDgUlAAMpOBTEMgE8wJKEotg0qBgK5CcGqJgiGCGx6uoK1gDFMd7u6BrNjPFShphKLVCGpJJcgSAyOIToiUARLbyNiICwA%3D
2021-04-25 12:26:35
2021-04-25 12:26:53
2021-04-25 12:27:31
https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMOTiykxTqFCwUzDgUlAAMsOhTAUFXQXHsnQ%2Fbb9wIMsQLAKU9gNKG5lCFICUBKeWKOgaGcAEgCoqgSrMzCygAiA1fnADoEqSgUoQAiAl4amZ6RklqSkKxnCz0SXAdkAsNAAA
veluca
2021-04-25 12:29:54
pretty nice 3d effect
fab
2021-04-25 12:37:22
i'll call this jein
2021-04-25 12:37:46
or artaklsl (jein)
2021-04-25 12:38:13
2021-04-25 12:40:31
all this three arts in jxl and png format
2021-04-25 12:40:38
2021-04-25 12:45:18
ah sorry i stealed wb
2021-04-25 12:45:18
what i made isn't mine
2021-04-25 12:45:29
see
2021-04-25 12:45:30
https://discord.com/channels/794206087879852103/824000991891554375/835831200420462603
2021-04-25 12:47:07
2021-04-25 12:59:03
https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMObiykxTqFCwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEwdjIBMoHKkgGKYByQQrCUzPTM0pSUxQMTYywCRsZGygocEEMMuDiAgA%3D
2021-04-25 12:59:19
2021-04-25 12:59:40
jjido
fab
2021-04-25 01:09:53
What is your formula?
fab
2021-04-25 01:11:12
Do not know maybe i can check history
2021-04-25 01:18:18
another image stealed
2021-04-25 01:18:22
i can't use this program
jjido
Scientia
2021-04-25 01:25:42
Variation on Scienta's https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5QpyDlEwNOXyL8pMzStJLMnMz1Mw4eLKTFNIVrADshQUgMxKINMSyARzwnX9woF8AzBfQUFXITi1RMEQhQeRQ8hAWEYA
fab
2021-04-25 01:27:16
2021-04-25 01:27:20
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5QpyDlEwNOXyL8pMzStJLMnMz1Mw4eLKTFNIVrADshQUdBWCU0sUDIEsoGAlUNCQCyJkDBRCloaxjQA%3D
2021-04-25 01:27:32
2021-04-25 01:31:42
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5QpyDlEwNOXyL8pMzStJLMnMz1Mw4eLKTFNIVrADshQUdBWCU0sUDIEsoGAlUNCQCyJkDBRCloaxjQA%3D
2021-04-25 01:32:12
2021-04-25 01:32:12
2021-04-25 01:32:49
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5QpyDlEwNOXyL8pMzStJLMnMz1Mw4eLKTFNIVrADshQUdBWCU0sUDIEsoGAlUNCQCyJkDKXNDIByyOpgbCMA
2021-04-25 01:37:01
2021-04-25 01:37:05
https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMOTiykxTqFCwUzDgUlAAMsOhTAUFXQXHsnQ%2Fbb9wIMsQLAKU9gNKG5lCFICUBKeWKOgamRibciFxjAyh8kANlUANZmbGJqZQIZAmP7iJUEXJQEUIAZCS8NTM9IyS1BQFY7hl6BIGIAmIpQYA
2021-04-25 01:37:22
2021-04-25 01:37:39
2021-04-25 01:41:53
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOTiykxTSFawA7IUFHQVglNLFHRNDYBsoHBNeA1QwgjMBQuEA7kQDkhtuIKuERJH28jEGIfC1Mz0jJLUFAVdYxNMQWNTAA%3D%3D
2021-04-25 01:42:19
2021-04-25 01:46:53
This one please can you make endless variant of it
2021-04-25 01:46:54
https://discord.com/channels/794206087879852103/824000991891554375/835873252139728916
2021-04-25 02:04:34
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVAw4%2BLSVQhOLVEw5cpMU0hWsFMwAAqEK2gDBSC0EYwGAA%3D%3D
2021-04-25 02:04:37
December
2021-04-25 02:05:07
2021-04-25 02:05:08
2021-04-25 02:06:38
2021-04-25 02:09:56
2021-04-25 02:10:24
what i produced in two hours
2021-04-25 02:16:04
<@!794205442175402004> can you connect the jxl art reddit
_wb_
2021-04-25 02:36:13
Yes. Done.
fab
2021-04-25 02:38:19
still don't appear in <#805722506517807104>
_wb_
2021-04-25 02:39:27
New posts to r/jxlart will go here
2021-04-25 02:39:43
Can't make it post existing posts though
fab
2021-04-25 02:45:37
in reddit or in jxl art
jjido
fab This one please can you make endless variant of it
2021-04-25 02:51:49
Base sequences https://jxl-art.surma.technology/?zcode=i4h04vIvykzNK0ksyczPUzDh4spMU0hWsFMw5FJQ0FUITi1R0DU1ALKBwjXhNUAJIzAXIuAHFjCACIDUh6dmpmeUpKYAmUaYgtoKhuiaTbDpNTbBFDQ2BQA%3D
fab This one please can you make endless variant of it
2021-04-25 03:02:57
Zen swamp https://jxl-art.surma.technology/?zcode=C3IOUTDm8i%2FKTM0rSSzJzM9TMOHiykxTSFawUzDkUlDQVQhOLVHQNTUAsoHCNeE1QAkjMBci4AcWMIAIgNSHp2amZ5SkpgCZRpiC2gqGSJrBphli1WxsgilobAoA
_wb_
2021-04-25 03:03:54
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMDTgCnIOUTDk4spMU0hWsAOyFBSAzEog0wDIVFDQVfADC4JY4Qq6UPlkuDyQE1CUWgbnI4uYGMDEIOaYovAMuRBsXSOYYeFAfZYIk0BcQ0MUc8JhqqHc1Mz0jJLUFKDbDFD16aLaD1doaIpimhEA
2021-04-25 03:04:12
Platformation: boss level
2021-04-25 03:04:19
fab
2021-04-25 03:06:14
ok i saved those two
2021-04-25 03:06:43
if you have other write bsf or bsp
_wb_
2021-04-25 03:07:22
bsf or bsp?
fab
2021-04-25 03:07:28
based on
2021-04-25 03:07:44
bs
_wb_
2021-04-25 03:09:35
We do, no?
fab
2021-04-25 03:10:09
copy url
Deleted User
2021-04-25 03:35:51
<@!228116142185512960> am I supposed to update that file since I signed Google CLA? https://github.com/surma/jxl-art/blob/main/CONTRIBUTORS
surma
2021-04-25 03:41:08
You can
2021-04-25 03:41:10
You don’t have to
Deleted User
2021-04-25 03:42:31
Jon has also made a contribution (much bigger than mine), maybe he should update this file with his data?
fab
2021-04-25 03:59:37
https://jxl-art.surma.technology/?zcode=Cy4sTU2tSuVyyixJSS0oyVAw4%2BLSVQhOLVEw5cpMU0hWsFMwAAqEK2gDBSC0EYwGAA%3D%3D
2021-04-25 03:59:42
could you post this
2021-04-25 03:59:50
December Paul97
2021-04-25 04:00:12
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQMOIKLixNTa1K5QpyDlEwNOXyL8pMzStJLMnMz1Mw4eLKTFNIVrADshQUdBWCU0sUDIEsoGAlUNCQCyJkDKXNDIByyOpgbCMA
2021-04-25 04:00:18
Hell piano Paul97
2021-04-25 04:00:47
https://jxl-art.surma.technology/?zcode=c8osSUktKMlQsOAKcg5RMOTiykxTSFawA7IUFHQVglNLFHRNDYBsoHBNeA1QwgjMBQuEA7kQDkhtuIKuERJH28jEGIfC1Mz0jJLUFAVdYxNMQWNTAA%3D%3D
2021-04-25 04:00:57
artWW Paul97
2021-04-25 04:02:17
https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMOTiykxTqFCwUzDgUlAAMsOhTAUFXQXHsnQ%2Fbb9wIMsQLAKU9gNKG5lCFICUBKeWKOgamRibciFxjAyh8kANlUANZmbGJqZQIZAmP7iJUEXJQEUIAZCS8NTM9IyS1BQFY7hl6BIGIAmIpQYA
2021-04-25 04:02:26
modestuart Paul97
2021-04-25 04:03:52
https://jxl-art.surma.technology/?zcode=8y%2FKTM0rSSzJzM9TMOEKcg5RMObiykxTqFCwUzDgUlAAMsOhTAUFXQU%2FIDYEs4ESfkAJQ0uIFEgyOLVEwdjIBMoHKkgGKYByQQrCUzPTM0pSUxQMTYywCRsZGygocEEMMuDiAgA%3D
2021-04-25 04:04:06
araaat Paul97.
2021-04-25 04:04:11
These allmine