Skip to content

Commit

Permalink
Prepare for open-sourcing
Browse files Browse the repository at this point in the history
  • Loading branch information
gumptious committed Sep 2, 2021
1 parent 313afa6 commit cfa5404
Show file tree
Hide file tree
Showing 20 changed files with 2,676 additions and 136 deletions.
Empty file added LICENSE.md
Empty file.
99 changes: 84 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,62 @@
# mono
# Haiku Animator

Haiku monorepo. Plus command-line tools to make cross-project scripting simpler.
Haiku Animator is a design tool for creating Lottie animations and interactive web components. Animator was developed commercially for several years under Haiku Systems Inc., a software startup based in San Francisco, California with a team spread across the world.

## Install OS dependencies
Some features:
- Free-transform canvas for visual vector editing
- Timeline for per-property keyframe animations
- Vector asset-linking from Figma, Illustrator, or Sketch
- Expression editor for spreadsheet-like property formulas
- Code editors for element actions & raw project source code

### Mac
1.) nvm 0.33.6:
<img src="haiku-animator-screenshot.png" />

This code was open-sourced in August 2021 when Haiku shut down the commercial collaboration/storage services connected to Haiku Animator. Previously available features like publishing & sharing links have been removed.

As of open-sourcing, Haiku Animator has many active users across segments like education, creative studios, and enterprise motion design teams. Many people use it for its ability to create Lottie animations (as an alternative to Adobe After Effects.)

Our hope is that open-sourcing Haiku Animator allows it to be even more useful, to more people (it's free), for longer (FOSS).

Read more at https://www.haikuanimator.com/

Haiku Animator is an Electron-based desktop app with working builds for macOS and Windows. Some features:
- Exports Lottie animations, GIFs, and videos
- Edit vectors visually on a free-transform canvas
- Animate with a visual timeline and per-property keyframes
- Link vector assets from Figma, Illustrator, or Sketch
- Make any property dynamic with Expressions, spreadsheet-like property formulas
- Edit element actions (like click handlers) with code

<br>
<img src="haiku-animator-screenshot.png" />

_Screenshot of Haiku Animator animating its own logo_

<br>
This code was open-sourced in August 2021 when Haiku shut down the commercial collaboration/storage services connected to Haiku Animator. Previously available features like publishing, forking, and link-sharing have been removed.
<br><br>
As of open-sourcing, Haiku Animator is used by folks like enterprise motion design teams, higher education instructors and students, and digital creative studios. Many people use it for its ability to create Lottie animations as an alternative to Adobe After Effects.
<br><br>
Our hope is that open-sourcing Haiku Animator allows it to be even more useful, to more people (it's free), for longer (FOSS).
<br><br>

# Installation

Download and install Haiku Animator here: TODO: installation binaries link

Or run from source by following the `Development` instructions below.

<br><br>


# Development

## 1. Install OS dependencies

It's important to use precise minor version numbers where specified. `nodegit`/`node-gyp` build errors are expected if you ignore this.

### Mac OS dependencies
1.) nvm:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

Expand All @@ -17,7 +68,13 @@ Haiku monorepo. Plus command-line tools to make cross-project scripting simpler.

$ curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0

### Windows
4.) python 2.7.16 (if you need multiple Python environments on your machine, we recommend [pyenv](https://github.com/pyenv/pyenv))

5.) libgcrypt (required for nodegit native bindings)

$ brew install libgcrypt

### Windows OS dependencies

Assuming a clean Windows 10, open a PowerShell with admin rights:

Expand Down Expand Up @@ -49,20 +106,19 @@ If the app fails to start because of wrong precompiled binaries, try re-building
yarn electron-rebuild
```

### Linux
### Linux OS dependencies

Install dependencies according to user distribution (apt-get, dnf, etc).
TODO


## Install project dependencies
## 2. Install project dependencies

After you clone the repository, simply run:

$ yarn install && yarn setup

## Development

### Starting
## 3. Start development server

Assuming you've done the initial setup, you can start all the dev servers with:

Expand All @@ -74,13 +130,13 @@ You can also skip the interactive prompt and start with good defaults with:

You can also set some overriding environment variables (e.g. `HAIKU_API`) by making a `.env` file in the mono root. Refer to `.env.example` for an example.

### Developing
### Watching changes

For the compiler to watch for changes as you develop, run the following command in a separate Terminal tab:

$ yarn watch-all

### Finishing
### Before committing

First lint all of the code:

Expand All @@ -96,7 +152,7 @@ You might also want to run:

Assuming no lint errors or test failures, push your changes:

$ git push
$ git push # and create a pull request

### Debugging

Expand Down Expand Up @@ -126,4 +182,17 @@ with `d` being duration between `logger.time` and `logger.timeEnd`. To do a subs

## Contributing

Script improvements are welcomed. The scripts are located in `scripts/`.
Create a PR, file an issue, or join the Slack community with [this invite link](https://join.slack.com/t/haiku-community/shared_invite/zt-4u3snz0w-vcL8qttFFHvlrZNl8NSmPg).


## License

Every project you create with Haiku Animator is entirely *yours,* to license or sell or publish however you'd like.

This project's source code is licensed under AGPL.


## Status of this project

This project is open to new maintainers. This codebase isn't perfect. In fact, in its current state it has deep flaws. That said, to a dedicated tinkerer, it has potential. We created it chasing a dream of creative empowerment — we open-source it in hopes of that dream continuing on.

5 changes: 5 additions & 0 deletions articles/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
In this folder is an unediting dump of the knowledge-base formerly hosted at https://help.haikuforteams.com/

Some of these articles remain relevant for the open-source Haiku Animator, while some refer to the former paid commercial service.

These could be made more accessible by hosting them on a statically accessible website and by pruning out some the commercial-specific information, but that was out of scope for the initial open-sourcing effort. Instead, the raw data is available here for posterity.
Loading

0 comments on commit cfa5404

Please sign in to comment.