blala: are you aware that we are not talking about a simple copy-paste but an actual re-coding of the entire thing using differnet techniques. not to mention the concept of size-coding in JS is not the same thing as size-coding via opcodes.

I think this is a major achievement. Amazingly smooth on my system too <3.

are you aware that we are not talking about a simple copy-paste but an actual re-coding of the entire thing using differnet techniques.

yeah, i'm aware that x86 asm is not javascript (even though i didn't write more than a line of javascript in my life, that's maybe balanced by the few hundred thousands lines of x86 asm...). but it's not like there are a large number of extremely complex algorithms in a raymarching 128 byte intro, which you have to invent heavy "new techniques" for...

Quote:

I think this is a major achievement.

i don't.

Quote:

Amazingly smooth on my system too <3.

that only means that you have an amazingly fast system.

i find it ironic and sad that this simple javascript conversion has more thumbs, already on the first day, than most of the demos with weeks (or even more) of hard work in them...

Well, even though it may not be obvious to eveyrone, along the size optimizations, there are a couple of speed optimizations in JSpongy and these did not come out of the blue. The whole thing took some efforts and thinking to figure out ways to get a reasonable speed and retain a small footprint and large-ish feature set ( rotation around multiple axis, overall styling, cross browser compatibility, numerical precision, ... ).

About the size itself, you have to remember that JavaScript is a scripting language. The form sent to and used by the user agents is the source code. Not native compiled code like x86 opcodes. So iin terms of size alone, JSpongy and Spongy are like apples and pears: uncompiled (super) high level code vs compiled low level code.

The "release" version of JSpongy is wasting many bytes in CSS and overall styling, The raymarching algorithm itself isn't that complex. The smallest size I reached so far for the intro was around 310 bytes by scarifying a lot on the styling and camera target. Had someone managed to cram a similar raymarcher in 256 bytes of JavaScript, or less, I would definitely give my hat off.