Reanimate: Haskell library for building declarative animations from SVG graphics

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. reanimate

    Haskell library for building declarative animations based on SVG graphics

    Is this the discussion you're referring to? https://github.com/reanimate/reanimate/discussions/210

    It's actually pretty interesting to read. The author makes a not totally unreasonable argument as for why it uses unsafePerformIO.

    Now what I'm really curious about is why the very first example on the site I clicked into the source code for, a simple 59-line example, is using unsafePerformIO. That actually worries me more because it suggests that as a user I might have to use unsafePerformIO. https://github.com/reanimate/reanimate/blob/d4d3898831edb4aa...

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. plot-create-react-app-example

    An example of Observable Plot with Create React App

    Yeah, I wish this project had a React component backend.

    D3.js and Observable Plot don't work that well with modern reactive frontend frameworks either though. They don't diff the SVG tree. The recommended way to react to some data change is to rebuild the whole SVG in a useEffect [1], when in fact you could just have a reactive SVG tree [2]. You just have to unpack and recode what would D3 do (see the case about Axis in the last link). Using enter(), update() and exit() seems to no longer be the way to do things. Also, React components offers great composability to the programmer.

    I wish there was a maintained React version of Observable Plot; just like what React-Three-Fiber [3] does with Three.js. Or maybe a version of this Reanimate lib into a React component.

    [1] https://github.com/observablehq/plot-create-react-app-exampl...

    [2] https://wattenberger.com/blog/react-and-d3

    [3] https://github.com/pmndrs/react-three-fiber

  4. Yeah, I wish this project had a React component backend.

    D3.js and Observable Plot don't work that well with modern reactive frontend frameworks either though. They don't diff the SVG tree. The recommended way to react to some data change is to rebuild the whole SVG in a useEffect [1], when in fact you could just have a reactive SVG tree [2]. You just have to unpack and recode what would D3 do (see the case about Axis in the last link). Using enter(), update() and exit() seems to no longer be the way to do things. Also, React components offers great composability to the programmer.

    I wish there was a maintained React version of Observable Plot; just like what React-Three-Fiber [3] does with Three.js. Or maybe a version of this Reanimate lib into a React component.

    [1] https://github.com/observablehq/plot-create-react-app-exampl...

    [2] https://wattenberger.com/blog/react-and-d3

    [3] https://github.com/pmndrs/react-three-fiber

  5. react-three-fiber

    🇨🇭 A React renderer for Three.js

    Yeah, I wish this project had a React component backend.

    D3.js and Observable Plot don't work that well with modern reactive frontend frameworks either though. They don't diff the SVG tree. The recommended way to react to some data change is to rebuild the whole SVG in a useEffect [1], when in fact you could just have a reactive SVG tree [2]. You just have to unpack and recode what would D3 do (see the case about Axis in the last link). Using enter(), update() and exit() seems to no longer be the way to do things. Also, React components offers great composability to the programmer.

    I wish there was a maintained React version of Observable Plot; just like what React-Three-Fiber [3] does with Three.js. Or maybe a version of this Reanimate lib into a React component.

    [1] https://github.com/observablehq/plot-create-react-app-exampl...

    [2] https://wattenberger.com/blog/react-and-d3

    [3] https://github.com/pmndrs/react-three-fiber

  6. clumsy-graphics

    a tool for rapidly developing animations where frames are described using svg elements à la react 🙃

    for those interested in a typescript / react alternative checkout https://github.com/clumsycomputer/clumsy-graphics

  7. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • clumsy-graphics: a tool for rapidly developing animations where frames are described using svg elements à la react

    1 project | /r/javascript | 16 Sep 2022
  • built on node => a tool for rapidly developing animations where frames are described using svg elements à la react

    1 project | /r/node | 16 Sep 2022
  • thanks to inkscape, ffmpeg, and countless other opens-source software projects... ive implemented a tool for rapidly developing animations where frames are described using svg elements à la react

    1 project | /r/Inkscape | 16 Sep 2022
  • thanks to ffmpeg and inkscape ive implemented a tool for rapidly developing animations where frames are described using svg elements à la react

    1 project | /r/ffmpeg | 15 Sep 2022
  • clumsy-graphics: a tool for rapidly developing animations where frames are described using svg elements à la react

    1 project | /r/reactjs | 15 Sep 2022