MCPcopy Index your code
hub / github.com/GooTechnologies/goojs

github.com/GooTechnologies/goojs @v0.16.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.16.8 ↗ · + Follow
4,324 symbols 8,109 edges 1,016 files 469 documented · 11% updated 9y ago★ 1,24816 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Goo Engine

Goo Engine is an open-source 3D engine using HTML5 and WebGL for rendering.

Showcases

More showcases...

Install

Browser: add the following to your webpage.

<script src="http://code.gooengine.com/latest/lib/goo.js"></script>

Node.js:

npm install --save goojs

Sample code

Open on codepen

// var goo = require('goojs'); // (for node.js)

// Create a runner
var gooRunner = new goo.GooRunner();
var world = gooRunner.world;

// Add the canvas to the DOM
document.body.appendChild(gooRunner.renderer.domElement);

// Add a light entity
world.createEntity(new goo.PointLight(), [100, 100, 100]).addToWorld();

// Add a camera entity
world.createEntity(new goo.Camera(), new goo.OrbitCamControlScript({spherical: [5,0,0]})).addToWorld();

// Add a box entity with a rotation script
world.createEntity(new goo.Box(), goo.Material.createMaterial(goo.ShaderLib.simpleLit), function update(entity) {
    entity.setRotation(world.time, world.time, 0);
}).addToWorld();

Documentation

Releases

Goo Create Platform

Goo Create is a complete 3D authoring platform built on top of the Goo Engine.

How to build

npm install
npm install -g grunt-cli
grunt minify

Unit testing

  • Run grunt unittest to run all tests using Karma
  • Run npm test to test the parts of the engine that are supported in Node.js

Visual tests

Start a web server, e.g. using:

npm install st -g
st --port 8000

And then open:

Code style checks

To make sure that no incorrectly styled code gets committed, install the pre-commit hook:

grunt init-git

This makes Git check whether all added and modified files pass the style check before allowing a commit.

Documentation

grunt jsdoc - outputs to out-doc

GooJS uses a custom documentation compiler, modoc; see tools/modoc/README.md for more details.

Building details

  • Minified and mangled: grunt minify
  • Minified: grunt minify-no-mangle
  • Concatenated: grunt minify-dev

License

The Goo Engine is released under the MIT license.

Core symbols most depended-on inside this repo

Shape

Function 4,324

Languages

TypeScript100%
Python1%
C++1%

Modules by API surface

lib/box2d/box2d.js1,969 symbols
lib/crunch/crunch.js159 symbols
test/lib/jasmine-2.3.4/jasmine.js118 symbols
tools/modoc/lib/esprima.js115 symbols
visual-test/lib/opentype.js98 symbols
tools/modoc/src/statics/lib/jquery-2.1.1.min.js63 symbols
out/logicpack.js32 symbols
lib/logicpack.js32 symbols
visual-test/lib/poly2tri.min.js31 symbols
visual-test/lib/dat.gui.min.js26 symbols
lib/webgl-debug.js26 symbols
out/goo.js23 symbols

For agents

$ claude mcp add goojs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page