Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Documentation updates and TODOs #28

Merged
merged 8 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,42 @@
# Allen Institute Vis
# Allen Institute Visualization TypeScript Libraries

This repository contains a collection of packages for building scalable visualization tools at the Allen Institute. It houses the `vis-[package name]` packages on the Allen Institute GitHub organization's NPM package registry.
This repository contains a collection of TypeScript libraries to help software engineers building scalable visualization tools at the Allen Institute. It houses the `vis-[package name]` packages on the Allen Institute GitHub organization's NPM package registry.

# Available Packages
**The published packages are in alpha or beta states. They may fundamentally change as we continue building out functionality.** They are used in a production environment so they are relatively stable, but the APIs are not yet finalized.

## Available Packages

lanesawyer marked this conversation as resolved.
Show resolved Hide resolved
The following is the list of packages and their descriptions:

- `vis-dzi`: A renderer for [Deep Zoom Images](https://en.wikipedia.org/wiki/Deep_Zoom)
- `vis-geometry`: A collection of vector functions for 2D and 3D geometry
- `scatterbrain`: A collection of useful utitilites used to build our big-data, scalable, scatterplot tool "Scatterbrain" in the Brain Knowledge Platform
- `vis-omezarr`: A renderer for [OME-Zarr](https://ngff.openmicroscopy.org/latest/) datasets
- `vis-scatterbrain`: A collection of useful utilities used to build our big-data, scalable, scatterplot tool "Scatterbrain" in the Brain Knowledge Platform (will be renamed to `vis-core` in the future)

We use [Semantic Versioning](https://semver.org/) for our packages. As of November 2024, all of them are in the `0.0.x` range, indicating that they are in early development.

## Level Of Support

We are planning on occasional updating this tool with no fixed schedule. Community involvement is encouraged through both issues and pull requests.

# Examples
## Examples

See the `apps` directory for example projects using the packages. Over time, these examples will become simpler as the base tooling becomes more mature.
See the `examples` directory for example projects using the packages. Over time, these examples will become more fully featured as the base tooling becomes more mature.

For details on running or adding new examples, see the `docs/examples.md` file.

# Contributing
## Contributing

Contributions are welcome! We're currently breaking apart the Scatterbrain component into smaller, more manageable packages. If you have a package that you think would be useful to others, please open a PR.

See the CONTRIBUTING.md file for more information on how to contribute to the project!

# Installation for Development
## Installation for Development

This project uses [Node.js](https://nodejs.org) and [pnpm](https://pnpm.io/). We use [Volta](https://volta.sh/) to manage the versions of each. If you're not using Volta, check the "volta" key in the root `package.json` for the Node and pnpm versions we're using when developing.

Volta has experimental support for pnpm, so [follow the steps on their docs](https://docs.volta.sh/advanced/pnpm) to get it enabled.

# Using the Libraries
## Using the Libraries

See the `docs/using-packages.md` file for information on how to use the packages in your own projects.
4 changes: 2 additions & 2 deletions docs/examples.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Examples

Examples are located in the `examples` directory.
Examples are located in the `examples` directory. There is a single command that runs all the examples on one website: `npm run dev`

## Adding New Examples

To add a new example, create a new directory in the `examples` directory, copy the `package.json` from another example, and then start building!
To add a new example, add new code that demonstrates the feature you want to show off. Then add instructions on using it or UI to activate it on the `examples` application.
15 changes: 15 additions & 0 deletions docs/packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Packages

This repository holds multiple published packages. The current list of packages is below:

- `vis-dzi`: A renderer for [Deep Zoom Images](https://en.wikipedia.org/wiki/Deep_Zoom)
- `vis-geometry`: A collection of vector functions for 2D and 3D geometry
- `vis-omezarr`: A renderer for [OME-Zarr](https://ngff.openmicroscopy.org/latest/) datasets
- `vis-scatterbrain`: A collection of useful utilities used to build our big-data, scalable, scatterplot tool "Scatterbrain" in the Brain Knowledge Platform (will be renamed to `vis-core` in the future)

To install and use these packages, see the instructions in [using-packages.md](./using-packages.md).

## Future Packages

- `@alleninstitute/vis-core` - The core utilities common across all visualizations. This package will be the foundation for all other packages.
- `@alleninstitute/vis-react` - React component implementations of each of the visualization packages.