shaunlebron / solar-system-of-js Goto Github PK
View Code? Open in Web Editor NEWVisualize the languages on the JS platform
Home Page: http://shaunlebron.github.io/solar-system-of-js/
License: MIT License
Visualize the languages on the JS platform
Home Page: http://shaunlebron.github.io/solar-system-of-js/
License: MIT License
I think when pressing right twice (i.e. pressing right during a transition) we should skip the transition.
We can probably do this by overwriting the animation timeout, like we will do for linkable slide states
from: http://www.reddit.com/r/javascript/comments/32t9q6/the_solar_system_of_js/cqf7h5o
Keeps breaking for me (on latest OS X with latest Chrome) after a few slides with:
Uncaught Error: Assert failed: No more than 1024 pending puts are allowed on a single channel. >Consider using a windowed buffer.
(< (.-length puts) impl/MAX-QUEUE-SIZE)
I'm pretty sure this is the tick-tap
channel. Something must be blocking it. I thought it the draw function was the only thing that would slow it down, whereas the animations are just state calculations that can presumably happen in less than 12ms.
Maybe the persistent state structure is growing too much. Will investigate
Every requestAnimationFrame tick puts a delta time dt
value on the tick-chan. And there is a mult
chan that allows things like animation routines to simply tap it to be notified of frame updates.
The problem with this model is that the tick-chan can be receiving 60 values per second. On slow computers, the drawing could be slower than 60fps. So I think this can somehow block the tick-chan, causing an overload of the maximum allowed values that can be pushed onto a channel (1024).
I think a quick fix would be to just separate out the drawing logic in its own requestAnimationFrame instead of tapping into the tick-chan. The other animation routines shouldn't involve slow operations since they're just state setters.
We could keep the draw function as a tap if its receiving channel as a (sliding-buffer 1)
, but this would only work because the draw function doesn't care about the dt
values. If the animation routines did this, it would be missing the dropped dt
values when they should be accumulated.
I think that in order to do this, we can just overwrite the animation timeouts to create the necessary intermediate state for the given slide. It could be a little nauseating to see the flurry of animations, so maybe we can temporarily disable drawing until the state is created.
since soundscript is based on ideas from typescript, flow, and google closure; I should include Closure as the 3rd tool in the sphere, and then have soundscript as the 4th.
Closure is the optimization monster used at Google for most of their JS apps I think (need source).
They have type annotations here
Windows doesn't appear to support this emoji which is used on the final slide. I'm reporting this from Windows 7 with Chrome.
I'll leave it up it to @shaunlebron to decide if this is worth the time to fix or remove. It's minor, but then again the glyph not found box is pretty ugly. It's clearly not a standard glyph or part of the Open Sans font.
Add help icon to top right of canvas. When hovering over it, display controls:
shift
+ >
to skip transitionsThis was a good visual aid for the talk, but in order to make this shareable, need some text at the bottom.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.