Skia
paper.js
Our great sponsors
Skia | paper.js | |
---|---|---|
55 | 23 | |
8,641 | 14,225 | |
2.5% | 0.6% | |
9.9 | 3.7 | |
about 12 hours ago | 15 days ago | |
C++ | JavaScript | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Skia
-
Skia VS nitro-gl - a user suggested alternative
2 projects | 21 Aug 2023
- The Future of the Web Is VNC
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
Lottie under the hood
Actually, that's not entirely accurate. The lottie-web library itself doesn't support rendering to WebGL. However, there is a package called canvaskit-wasm that wraps Skia (a graphics engine) with WebAssembly (wasm). This package includes a module called skottie which supports rendering animations into a WebGL surface. However, there is a drawback with this approach: using wasm requires loading a relatively large package, and it's uncertain whether all features are supported correctly, as the official compatibility table that tracks lottie support on different platforms does not include skottie.
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
-
Due to popular demand, here’s part 2
The imgs are mainly used by Tencent QQ and Baidu Tieba users. QQ and Tieba compress imgs by default, so the popular imgs (in China we call them "屌图" or "表情包") would be compressed million of times during the spreading, causing the super low quality. These APPs on Android are using Skia for image processing, which suffering from a legendary bug: result would be more green. The bug was fixed in 2016: https://github.com/google/skia/commit/c7d01d3e1d3621907c27b283fb7f8b6e177c629d
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
paper.js
-
How Framer/Figma is built?
I started with angular and paper.js: http://paperjs.org/
-
Polygon JS libraries
In a thread in the Processing forum, Boolean operations in polygons , user ErraticGenerator suggests using g.js or Paper.js.
-
Looking for a javascript library with good wrapping support
It is likely that paper.js provides the functionality needed. I will probably investigate it at some point since it appears to be the more popular library Compare paper.js & bezier.js.
-
Making YouTube video with React
To solve that issue, I searched for some solutions using canvas. I didn’t want to work with pure canvas so after doing some research, I settled with paper.js.
-
The Continuity of Splines – Video Essay by Freya Holmér
Ooh, the Chebyshev basis is neat. I hadn't seen exactly that before. It reminds me a lot of the "shape control" technique[1] which is also similar to a basis function approach but has a bit of linear solving. Essentially, you get one point (usually at t = 0.5), and also the direction but not magnitudes of the tangents at the endpoints (G1, not C1). This is one of the better-performing existing techniques for offset curve, though does have stability problems (in particular, nasty behavior for a symmetric "S" curve).
Regarding collaboration with Freya, if she is open to it, please get in touch. I do have some ideas.
[1]: A New Shape Control and Classification for Cubic Bézier Curves, Yang and Huang, 1993, PDF cache: https://github.com/paperjs/paper.js/files/752955/A.New.Shape...
-
which technology or framework is used to create geometry-draggable canvas like this?
Paper.js - example (not interactive, just code)
-
Animating an svg
Just remember you can do some SVG displacement with Paper.JS
-
Writing HTML sucks and No-code doesn't help
> <p>Oh yeah, you reminded me of the template fatigue that was paper.js and it trying to reinvent scripting on the client side with <script type="text/paperscript"> templates that could use templates that could use templates... and so on. [0] I was wondering why people would go to such great lengths just to avoid having to script in the browser.<p>The way I saw it at the time was that I've rediscovered the same mistakes that PHP did back in the days. All the recurs(iv)ed templating problems, all the OOP fatigue that never worked out (magento and zend, anyone?), and all the inheritance based "reinventions" of existing web technologies like OOCSS [1].<p>I mean, at some point every engineer should be wise enough to give up on trying to predict the future. Especially in projects they cannot predict what features are going to be implemented, so I'd naturally assume that modularity and compositional or entity/component aspects will win in later revisions or refactor decisions. But I was wrong with that assumption, I guess :S<p>I also can kinda understand the general bias towards closure among functional folks. I guess that lots of people at the time (or nowadays) had high hopes for it allowing to go more "functional" in its approach, allowing compositional patterns to be useful on the web. But, honestly, JS itself is so flexible and can be used in all kinds of architectural patterns that I think closure's purpose is kind of void by its own concept.<p>When comparing closure with, say, typescript (which I also don't agree with, because "string" and "String" and "any" are pointless from any language design perspective): Typescript at least has the benefit of typed API docs and good IDE integrations (due to LSP) that can be used in large teams to reduce the overhead of getting started with working on foreignly-owned code - whereas closure doesn't have any unique selling point in my opinion. I mean, even scala.js has a unique selling point when being judged like that.<p>[0] <a href="https://github.com/paperjs/paper.js" rel="nofollow">https://github.com/paperjs/paper.js</a><p>[1] <a href="http://oocss.org/" rel="nofollow">http://oocss.org/</a>
-
Diagnosing RangeError: Maximum call stack size exceeded in React KeyEscapeUtils
Our webapp is written with React and Redux using the official react-redux bindings. Another primary library used in this web app is PaperJS. We recently transitioned this to being a Redux app, though it has used React for a while.
-
How to upload image into HTML5 canvas
I am currently using http://paperjs.org to create an HTML5 canvas drawing app. I want to let users upload images into the canvas. I know I need to make a login and signup but is there an easier way? I have seen the HTML5 drag and drop upload.
What are some alternatives?
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
p5.js - p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
two.js - A renderer agnostic two-dimensional drawing api for the web.
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
three.js - JavaScript 3D Library.
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.