# Meikyuu 迷宮 — Maze generator and maze game > Meikyuu 迷宮 — Maze generator and maze game: made by seven algorithms, seeded square, hex, triangle and circular grids, cut-out shapes, arrow puzzles, mixed boards and 3D surfaces, drawn through by finger or mouse. TypeScript, zero dependencies. Install with `npm install @johnmorrisdotca/meikyuu`. Every page below is also an HTML page at the same address ending in .html; the documentation's home is https://johnmorrisdotca.github.io/meikyuu/docs/. The examples on the reference pages are run when the site is built, and what they print is shown under them. ## Guides - [Getting started](https://johnmorrisdotca.github.io/meikyuu/docs/guides/getting-started.md): Build a small seeded maze and read its solution. - [Choose geometry, algorithms and modes](https://johnmorrisdotca.github.io/meikyuu/docs/guides/recipes.md): Keep the full recipe when sharing a reproducible puzzle. - [Read flat, tall and surface levels](https://johnmorrisdotca.github.io/meikyuu/docs/guides/levels.md): Use one-based numbers inside the right collection and pin versions. - [Play arrows and mixed boards](https://johnmorrisdotca.github.io/meikyuu/docs/guides/arrows-mixed.md): Respect blockers, locks and the result of each attempted removal. - [Keep a native maze run](https://johnmorrisdotca.github.io/meikyuu/docs/guides/progress.md): Store the exact recipe alongside native path and stone state. - [Draw and embed a native board](https://johnmorrisdotca.github.io/meikyuu/docs/guides/embeds.md): Use SVG for an image or a native mount for controls and cleanup. - [Cell graphs, views and surface mazes](https://johnmorrisdotca.github.io/meikyuu/docs/guides/geometry.md): Keep graph identity separate from projection and pointer geometry. - [Architecture and difficulty](https://johnmorrisdotca.github.io/meikyuu/docs/guides/architecture.md): Understand the graph, game, view and measured score layers. - [Troubleshooting and FAQ](https://johnmorrisdotca.github.io/meikyuu/docs/guides/troubleshooting.md): Interpret missing levels, invalid recipes and refused native actions. - [Upgrading across level renumbering](https://johnmorrisdotca.github.io/meikyuu/docs/guides/upgrading.md): Preserve recipe identity through versions 2 and 3. ## Reference - [@johnmorrisdotca/meikyuu/draw](https://johnmorrisdotca.github.io/meikyuu/docs/api/draw/index.md): Meikyuu's drawing: a maze or an arrow board as SVG text, with its boards, its line colours, the style that gives the drawing its look, and the words it says in English and Japanese. - [@johnmorrisdotca/meikyuu/play](https://johnmorrisdotca.github.io/meikyuu/docs/api/play/index.md): Meikyuu, played in a page: `mountMeikyuu` draws a maze, an arrow puzzle or a mixed one into any element and plays it by touch and mouse, with zoom and pan for big mazes, page left beside the board to scroll by, a tall maze that lies down on a wide screen, Undo, Restart, Hint, a celebration that respects `prefers-reduced-motion`, optional sounds, and the words in English and Japanese. - [@johnmorrisdotca/meikyuu/element](https://johnmorrisdotca.github.io/meikyuu/docs/api/element/index.md): Puzzle elements - [@johnmorrisdotca/meikyuu/element/define](https://johnmorrisdotca.github.io/meikyuu/docs/api/element-define/index.md): Defines the `` element on the page. - [@johnmorrisdotca/meikyuu/levels](https://johnmorrisdotca.github.io/meikyuu/docs/api/levels/index.md): Numbered puzzle levels - [@johnmorrisdotca/meikyuu/levels/tall](https://johnmorrisdotca.github.io/meikyuu/docs/api/levels-tall/index.md): Tall maze levels - [@johnmorrisdotca/meikyuu/levels/colossal](https://johnmorrisdotca.github.io/meikyuu/docs/api/levels-colossal/index.md): Colossal maze levels - [@johnmorrisdotca/meikyuu/levels/legacy](https://johnmorrisdotca.github.io/meikyuu/docs/api/levels-legacy/index.md): Original numbered levels - [@johnmorrisdotca/meikyuu/3d](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d/index.md): Meikyuu over the surface of a solid: a perfect maze on a cube, a globe, the other dice (a tetrahedron, an octahedron, an icosahedron, a ten-sided, a twelve-sided and more) or a shape (a box, a cross of cubes, a ring, a torus, a star, a heart), with the line drawn from one face to the next across the edges. - [@johnmorrisdotca/meikyuu/3d/play](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-play/index.md): A maze over a solid, played in a page: `mountSolid` draws a cube, a globe or a solid of triangles with a maze over its surface into any element and plays it by touch and mouse. - [@johnmorrisdotca/meikyuu/3d/levels](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-levels/index.md): Numbered surface levels - [@johnmorrisdotca/meikyuu/3d/levels/dice](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-levels-dice/index.md): Dice surface levels - [@johnmorrisdotca/meikyuu/3d/levels/shapes](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-levels-shapes/index.md): Solid shape levels - [@johnmorrisdotca/meikyuu/3d/levels/recipes](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-levels-recipes/index.md): Surface recipe readers - [@johnmorrisdotca/meikyuu/3d/levels/all](https://johnmorrisdotca.github.io/meikyuu/docs/api/3d-levels-all/index.md): All surface collections - [@johnmorrisdotca/meikyuu](https://johnmorrisdotca.github.io/meikyuu/docs/api/main/index.md): Meikyuu 迷宮, a maze game: the rules and the making, with no page needed. ## Optional - [Changelog](https://johnmorrisdotca.github.io/meikyuu/docs/changelog.md): every release - [Every export, in full](https://johnmorrisdotca.github.io/meikyuu/llms-full.txt) - [Source](https://github.com/johnmorrisdotca/meikyuu)