Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

cvenzin/poe2-skilltree

Open more actions menu

Repository files navigation

PoE 2 Skill Tree

A web-based viewer and planner for the Path of Exile 2 passive skill tree. Lets you pick a class and ascendancy, search nodes, preview pathing, allocate points within a budget, undo/redo, and share builds via URL.

Live: https://cvenzin.github.io/poe2-skilltree/

Features

  • Class and ascendancy selection (filters to playable classes per export version).
  • Search nodes by name or stats; Enter / Shift+Enter steps through matches.
  • Click an unallocated node to preview the cheapest path from your class start; click again to allocate.
  • Click an allocated node to cascade-unallocate every node that depended on it.
  • Passive (123) and ascendancy (8) budget tracking; over-budget allocations are rejected and the chip flashes red.
  • Undo / redo and a one-click reset.
  • Shareable URL hash encodes class, ascendancy, allocations, and version.
  • Pan, wheel-zoom, and pinch-zoom on touch.
  • Mobile layout: collapsible toolbar, bottom-anchored tooltips, long-press suppression so dwelling on a node to read its stats doesn't allocate.

Tech stack

React 19, TypeScript, Vite, pixi.js v8, pixi-viewport, zustand, @floating-ui/react. The viewer is a fully static SPA; GitHub Pages serves the build with no backend.

Development

npm install
npm run dev      # vite dev server with HMR
npm run build    # tsc -b && vite build, output to dist/
npm run preview  # serve dist/ locally
npm run lint

The build runs in CI via .github/workflows/deploy.yml on every push to main and deploys dist/ to GitHub Pages.

Regenerating icons

public/favicon.svg is the source of truth for the icon. To regenerate the rasterized PNG variants (apple-touch-icon.png, icon-192.png, icon-512.png):

node scripts/gen-icons.mjs

Tree data

Tree data under public/trees/<version>/ comes from GGG's official export: https://github.com/grindinggear/poe2-skilltree-export. Adding a new version is a matter of dropping a new export folder into public/trees/ and appending the version string to src/data/versions.ts.

License

MIT — see LICENSE.

Path of Exile 2 is a trademark of Grinding Gear Games Ltd. This product isn't affiliated with or endorsed by Grinding Gear Games in any way.

Fonts

UI titles use OptimusPrinceps SemiBold by Manfred Klein (self-hosted at public/fonts/, free for personal and commercial use, redistribution allowed) with Cinzel (Google Fonts, SIL OFL) as the loading fallback.

About

Free, open-source Path of Exile 2 passive skill tree viewer and planner. Pick a class and ascendancy, preview pathing, allocate within budget, share builds via URL.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.