Skip to content
This repository was archived by the owner on Jul 23, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

@carbonenginejs/format-gr2

Pure-JavaScript CarbonEngineJS-facing reader for RAD Granny 3D .gr2 and Granny State .gsf files.

Use this package when you need decoded Granny geometry, skeletons, animations, morph targets, or GState data in Node or the browser โ€” no granny2.dll, no native addons, no build step. It decodes every section-compression codec used by current EVE Online assets (None, Oodle1, BitKnit2) and emits GR2 JSON or caller-supplied classes. It does not own resource lifecycle or GPU work.

Install

npm install @carbonenginejs/format-gr2

Quick start

import CjsFormatGr2 from "@carbonenginejs/format-gr2";

const json = CjsFormatGr2.read(buffer);          // GR2 JSON graph
const summary = new CjsFormatGr2().Inspect(buffer);

if (CjsFormatGr2.isGsf(buffer)) {
  const gstate = CjsFormatGr2.readGsf(buffer);   // GState profile
}

A CLI is included: format-gr2 model.gr2 writes model.json next to the input.

Documentation

License / Attribution

MIT. See LICENSE, NOTICE, and THIRD-PARTY-NOTICES.md for provenance and redistribution requirements. The BitKnit2 decoder is an original clean-room implementation written from this package's published format specification (it replaced a prior EUPL-derived port on 2026-07-24); the Oodle1 decoder derives from permissively licensed open reverse-engineering work.

Contains no RAD/Granny proprietary code and does not link granny2.dll. This format profile targets GR2 assets and packed tangent conventions used by CarbonEngine and Fenris Creations (CCP Games); the tangent-frame math is a JavaScript implementation derived from observed EVE/CarbonEngine shader behavior, and no Fenris Creations (CCP Games) shader source is copied here. CarbonEngine and Fenris Creations (CCP Games) source material, tools, assets, formats, and shader behavior remain copyright their original holders. This package is not affiliated with or endorsed by CCP Games.

About

๐Ÿ” CarbonEngineJS reader for RAD Granny .gr2 mesh and animation data โ€” emits JSON or runtime classes

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages