Geom2.js
high-performance 2d javascript geometry library
Install / Use
/learn @Alchemist0823/Geom2.jsREADME
Geom2.js
Geom2.js is a high-performance javascript 2d geometry library written in modern TypeScript.
It was extracted from the server-side code of a multi-player game. It is intended to be used in games, ai or any computation heavy task in javascript.
In a game application, it can be used for collision detection, artificial intelligence (steering and path finding), server-client viewport optimization.
Difference from Physics Engines
Most physics engines bundles all the physics related data structure and algorithm together. It makes setup easy but it limits the flexibility of the application or games. Because in lots of scenario except physics simulation, objects are not intended to move according to physics laws.
This library is much light weight than a physics engine, and gives users a customizable environment to setup their own 2d world.
Install
npm install
npm install geom2.js
browser install
Copy example/geom2.min.js or build yourself
Examples
Check test folder
We provide a QuadTree example here.

More examples will come up later.
Structure:
- Vector
- Segment
- Shap
- AABB (Axis-Aligned Bounding Box)
- Arc
- Circle
- Polygon
Algorithm:
- Common
- Collision detection between shapes.
- GJK (Gilbert–Johnson–Keerthi)
- SAT (Separation Axis Theorem)
- Convex Polygon test
- Convex Hull
- Collision detection between shapes.
- Generation
- Random convex polygon generation
- Advance
- Field of view scanning (line sweeping)
Container:
- Loose QuadTree
- High-quality quadtree implementation
- It can store AABB (Axis-Aligned Bounding Box).
- No elements on branch nodes, all data on leaves.
- It maintains loose boundary on all nodes.
- It outperforms simple-quadtree and all other available js quadtree.
Addition Feature:
- Physics Collision Resolution
TODO
- Special handling circle-polygon and circle-circle collision
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
