Passive Skill Tree JSON

Passive skill tree JSON is used by the official website and many other community tools to display the skill tree.

JSON
The subsections follow the format of the json.

assets
This is an associative array that maps an asset name to an asset at a specific zoom level (i.e. "0.3835" below, note: Assets that don't change with zoom level will have a single entry of "1").

Example:

characterData
Associative array that maps the character attributes to the classid.

Each value for the array contains another associative array for various attributes:

This maps to Scion as of this writing for example:

constants
Constants contain various game constants.

Located under the top level:

characterAttributes
Associative array of character attributes and their id.

Format: Example:

classes
Associative array of Character classes and their associated id

Format: Example:

extraImages
This an associative array linking the CharacterClassId found in constants.classes to the associated 2DArt and location on the tree in which to display the art.

Note: Scion does not have an extra image to display when the class is selected

Example:

groups
Groups is an associative array containing groups for the nodes.

You can see in the sample below that group 6 has an oo that is just an array of booleans. If this is seen, treat the index of the boolean as the key in the associative array.

imageRoot
This is just a link to the image root for assets. Values that have been seen in the passed include: https://web.poecdn.com/image/, /image/, /image//

imageZoomLevels
This is an array of floats that designate the zoom levels for different assets used when creating a tree

max_x
This is the maximum x that a node on the normal skill tree will be (does not include ascendancy nodes and their odd locations).

max_y
This is the maximum y that a node on the normal skill tree will be (does not include ascendancy nodes and their odd locations).

min_x
This is the minimum x that a node on the normal skill tree will be (does not include ascendancy nodes and their odd locations).

min_y
This is the minimum y that a node on the normal skill tree will be (does not include ascendancy nodes and their odd locations).

nodes
Nodes is an associative array containing general information about the passive skill nodes in form of an associative array. The key of this dictionary is the Node ID and the value uses the following key value pairs:

root
Contains the class starting nodes under the out key.

Example:

skillSprites
Contains various arrays

Each of the array elements contains another associative array with that links the icon path with a specific sprite:

Example:

The each of the coords values contains another associative array like this:

Examples:

Ascendancy classes JSON
The ascendancy classes json section (i.e. from the json release under )

Contains an associative array that maps the character class id to the information about the ascendancy classes.

assoc array for ascendancy classes
Examples: