**fin-hypergrid** is an ultra-fast HTML5 grid presentation layer, achieving its speed by rendering (in a canvas tag) only the currently visible portion of your (virtual) grid, thus avoiding the latency and life-cycle issues of building, walking, and maintaining a complex DOM structure. Please be sure to checkout our [design overview](OVERVIEW.md)
Below is an example custom application built on top of the Hypergrid API tooling.
It also highlights a DOM-based custom external editor triggered via hypergrid events as well as interaction with Hypergrid’s column ordering API.
## Table of Contents
* [Current Release](#current-release-302---25-September-2018)
* [Distribution](#distribution)
* [Demos](#demos)
* [Features](#features)
* [Testing](#testing)
* [Documentation](#developer-documentation)
* [Roadmap](#roadmap)
* [Contributing](#contributors)
### Current Release (3.2.1 - 2 May 2019)
> **CAUTION:** For those considering upgrading directly from v2, be advised Hypergrid v3 introduced a revised data model _with breaking changes._ The impact of these changes has been intentionally minimized and should not affect the vast majority of users. See the [v3.0.0 release notes](https://github.com/fin-hypergrid/core/releases/tag/v3.0.0) for more information.
_For a complete list of changes, see the [release notes](https://github.com/fin-hypergrid/core/releases)._
### Distribution
#### npm module _(recommended)_
Published as a CommonJS module to npmjs.org.
Specify a SEMVER of `"fin-hypergrid": "3.2.1"` (or `"^3.2.1"`) in your package.json file,
issue the `npm install` command, and let your bundler (wepback,
Browserify) create a single file containing both Hypergrid and your application.
#### Build files _(for small and informal examples and proofs-of-concept)_
Also published as pre-bundled build files (`fin-hypergrid.js` and `fin-hypergrid.min.js`) to the GitHub CDN.
See the [CDN index](https://fin-hypergrid.github.io#index) for links.
Contains a JavaScript [IIFE](https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
that creates (as needed) the global namespace `window.fin` and populates `window.fin.Hypergrid`.
Your application would load one of these pre-bundled build files (in a `