{"id":13553318,"url":"https://github.com/flauwekeul/honeycomb","last_synced_at":"2025-04-03T05:30:29.589Z","repository":{"id":41287823,"uuid":"60639926","full_name":"flauwekeul/honeycomb","owner":"flauwekeul","description":"Create hex grids easily, in node or the browser.","archived":false,"fork":false,"pushed_at":"2024-01-09T21:20:30.000Z","size":10222,"stargazers_count":656,"open_issues_count":8,"forks_count":62,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-29T07:06:05.481Z","etag":null,"topics":["grid","hex","hex-grid-library","hexagonal-grids","hexes","node","typescript"],"latest_commit_sha":null,"homepage":"https://abbekeultjes.nl/honeycomb","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flauwekeul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"flauwekeul"}},"created_at":"2016-06-07T19:19:29.000Z","updated_at":"2025-03-19T22:12:21.000Z","dependencies_parsed_at":"2023-02-10T06:00:58.761Z","dependency_job_id":"808732e5-f708-4a27-85d1-5baa48aa1dcc","html_url":"https://github.com/flauwekeul/honeycomb","commit_stats":{"total_commits":788,"total_committers":7,"mean_commits":"112.57142857142857","dds":0.06598984771573602,"last_synced_commit":"01905290064815c3b98b5fd3bd5b2cd798c032ba"},"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flauwekeul%2Fhoneycomb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flauwekeul%2Fhoneycomb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flauwekeul%2Fhoneycomb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flauwekeul%2Fhoneycomb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flauwekeul","download_url":"https://codeload.github.com/flauwekeul/honeycomb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246944377,"owners_count":20858773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grid","hex","hex-grid-library","hexagonal-grids","hexes","node","typescript"],"created_at":"2024-08-01T12:02:22.030Z","updated_at":"2025-04-03T05:30:28.787Z","avatar_url":"https://github.com/flauwekeul.png","language":"TypeScript","funding_links":["https://ko-fi.com/flauwekeul","https://ko-fi.com/I2I24E3QI"],"categories":["JavaScript","TypeScript","node"],"sub_categories":[],"readme":"# ⬡ Honeycomb [![NPM version](https://img.shields.io/npm/v/honeycomb-grid.svg)](https://www.npmjs.com/package/honeycomb-grid) [![Minified size](https://img.shields.io/bundlephobia/min/honeycomb-grid.svg)](https://www.npmjs.com/package/honeycomb-grid) [![Gitter](https://img.shields.io/gitter/room/flauwekeul/honeycomb.svg)](https://gitter.im/honeycomb-grid)\n\nA hexagon grid library made in ~~JavaScript~~[TypeScript](https://www.typescriptlang.org/), heavily inspired by [Red Blob Games'](http://www.redblobgames.com/grids/hexagons/) blog posts and code samples.\n\nHoneycomb works in modern browsers and Node (\u003e=16). It's recommended to use Honeycomb with TypeScript, but not required.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I24E3QI)\n\n## Installation\n\nNPM:\n\n```bash\nnpm i honeycomb-grid\n```\n\nYarn:\n\n```bash\nyarn add honeycomb-grid\n```\n\nOr download the distribution from [jsdelivr](https://cdn.jsdelivr.net/npm/honeycomb-grid) or [unpkg.com](https://unpkg.com/honeycomb-grid).\n\n## Basic example\n\nCreate a rectangular grid of 10 by 10 hexes and log each hex:\n\n```javascript\nimport { defineHex, Grid, rectangle } from 'honeycomb-grid'\n\n// 1. Create a hex class:\nconst Tile = defineHex({ dimensions: 30 })\n\n// 2. Create a grid by passing the class and a \"traverser\" for a rectangular-shaped grid:\nconst grid = new Grid(Tile, rectangle({ width: 10, height: 10 }))\n\n// 3. Iterate over the grid to log each hex:\ngrid.forEach(console.log)\n```\n\n## Documentation\n\nDocumentation is available at [abbekeultjes.nl/honeycomb](https://abbekeultjes.nl/honeycomb). API docs can be found at [abbekeultjes.nl/honeycomb/api/](https://abbekeultjes.nl/honeycomb/api/).\n\n## Backlog\n\nThese are ideas that may require further investigation 🕵️. Don't hesitate to [open an issue](https://github.com/flauwekeul/honeycomb/issues) or [start a discussion](https://github.com/flauwekeul/honeycomb/discussions).\n\n- [ ] Directions should also be given in degrees (in steps of 30°)?\n- [ ] Add functionality related to [edges](https://github.com/flauwekeul/honeycomb/issues/58#issuecomment-642099947) and/or corners. Use https://www.redblobgames.com/grids/parts/#hexagons.\n- [x] Add path finding (e.g. A*) functionality. Currently available as an example, see `/examples/a-star-path-finding/`.\n- [ ] Clarify the \"Line of sight\" example (and rename to \"Field of view\"). Maybe add animations and some enemies as well?\n- [ ] Add examples for (procedural) map generation (from a seed).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflauwekeul%2Fhoneycomb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflauwekeul%2Fhoneycomb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflauwekeul%2Fhoneycomb/lists"}