All Projects → mattdesl → Looom Tools

mattdesl / Looom Tools

Licence: mit

Labels

Projects that are alternatives of or similar to Looom Tools

Svelte Spa
.NET 5.0 Svelte v3 Rollup Bootstrap App
Stars: ✭ 59 (-30.59%)
Mutual labels:  svelte
Thunderdome Planning Poker
⚡ Thunderdome is an open source agile planning poker tool in the theme of Battling for points
Stars: ✭ 70 (-17.65%)
Mutual labels:  svelte
Svelte Adders
A collection of composable commands to add functionality to Svelte
Stars: ✭ 68 (-20%)
Mutual labels:  svelte
Elderjs
Elder.js is an opinionated static site generator and web framework for Svelte built with SEO in mind.
Stars: ✭ 1,102 (+1196.47%)
Mutual labels:  svelte
Perfect Dark Mode
🌚🌝 Perfect Dark Mode
Stars: ✭ 70 (-17.65%)
Mutual labels:  svelte
Pingcrm Svelte
🦊 Ping CRM Svelte - A demo app to illustrate how Inertia.js works with Laravel and Svelte (hosted on a heroku free dyno).
Stars: ✭ 74 (-12.94%)
Mutual labels:  svelte
Svelte Starter
A Svelte starter template for projects.
Stars: ✭ 57 (-32.94%)
Mutual labels:  svelte
Renderless Svelte
A collection of renderless Svelte components
Stars: ✭ 78 (-8.24%)
Mutual labels:  svelte
Ui
Powerful, reliable & fully featured Svelte UI library
Stars: ✭ 71 (-16.47%)
Mutual labels:  svelte
Fastq.bio
An interactive web tool for quality control of DNA sequencing data
Stars: ✭ 76 (-10.59%)
Mutual labels:  svelte
Svelte Feather Icons
Stars: ✭ 60 (-29.41%)
Mutual labels:  svelte
One Click Extensions Manager
a simple chrome extension to manage chrome extension
Stars: ✭ 61 (-28.24%)
Mutual labels:  svelte
Dainte
Painless testing for Svelte components
Stars: ✭ 76 (-10.59%)
Mutual labels:  svelte
Svelte Datatable
DataTable for Svelte with Materialize
Stars: ✭ 59 (-30.59%)
Mutual labels:  svelte
Svelte Easy Crop
A Svelte component to crop images with easy interactions
Stars: ✭ 80 (-5.88%)
Mutual labels:  svelte
Svelte Canvas
🎨 Reactive canvas rendering with Svelte.
Stars: ✭ 59 (-30.59%)
Mutual labels:  svelte
Shopathome
Choose from Angular, React, Svelte, and Vue applications with an Azure Functions API, that deploys to Azure Static Web Apps
Stars: ✭ 73 (-14.12%)
Mutual labels:  svelte
Magane
Bringing LINE's sticker to Discord in a chaotic way.
Stars: ✭ 81 (-4.71%)
Mutual labels:  svelte
Svelte Bulma Components
Collection of Bulma UI components to be used in Svelte or standalone
Stars: ✭ 80 (-5.88%)
Mutual labels:  svelte
Iconify Sketch
Sketch plug-in for importing over 70,000 icons from 80+ icon sets, including Material Design Icons, FontAwesome, Jam Icons, Open Emoji and many others.
Stars: ✭ 76 (-10.59%)
Mutual labels:  svelte

looom-tools

A suite of JavaScript-based tools for parsing and rendering Looom animation software files. This project is experimental/WIP.

✨ Web Exporter → looom-tools.netlify.app

Looom

Looom is an experimental animation software for iOS tablets, which allows you to draw and animate short loops like this:

animation

This is the "Earthy" loop that comes packaged with Looom

The drawings are recorded as vector shapes, and saved as SVG on your iPad, so they can be accessed and shared from the Files application.

Looom-Tools

This package and website is a small suite of tools for working with Looom's SVG files, allowing you to render them in real-time on the web, re-export them with different settings, and parse and restructure them programmatically. In this way, Looom could be used as a general purpose animation software for the web, in the way that Lottie is often used for scalable web animations.

Website

One facet of this project is an easy-to-use web renderer and exporter, allowing for GIF/MP4/WebM exporting of your loops. See looom-tools.netlify.app.

Parsing API / CLI

Another facet of this project is parsing the .SVG files from Looom into a more manageable JSON format. This could be useful for developers wishing to build more extensions/hacks/renderers on top of the file format.

This is still WIP.

Rendering API

The third part of this project is a working web-based renderer of the parsed JSON file that achieves feature parity with Looom, as well as a few additional features. This can help make Looom a more general purpose animation framework for the web, in the way that Lottie is often used for web animations, and also provides a reference for those wishing to implement custom renderers (such as with WebGL or another framework) for more specific features.

The current renderer uses Canvas2D, as it seems to be able to achieve feature parity with Looom.

This is still WIP.

What this Enables

Once you start hacking the Looom files, you can do a lot of interesting things that aren't yet possible in the app, such as:

  • Processing & cleaning up jagged/low-detail curves (this library includes a {resamplePaths} option)
  • Changing colors and other rendering parameters procedurally
  • Exporting at specific dimensions and formats (SVG/PNG frames, MP4/GIF)
  • Combining weaves to create animations with more than 5 threads, or higher frame rate / frame counts
  • Introducing real-time interactivity to your loops
  • & more...

Progress

If you'd like to contribute, please open an issue. Some things still need to be worked on:

  • Docs & API cleanup
  • CLI tool for converting Looom SVG to JSON (allowing for a slimmer web parser)
  • Improving polyline offsetting code for edge cases
  • Testing different files to ensure feature parity with Looom
  • Examples of more interactive loops
  • Improving the overall UX/UI and design of the website.

License

MIT, see LICENSE.md for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].