Skip to content

The JavaScript 3D framework for perfectionists with deadlines

License

Notifications You must be signed in to change notification settings

andrewisen-tikab/sej

Repository files navigation

Sej Engine

Sej [ˈsɛj]. (Pronounced like the word "say")

SejEngine is an performance oriented 3D editor. It is written in TypeScript and rewrite three.js's editor.

SejEngine is:

  • Performance oriented, but
  • Heavily opinionated

PR Checker

Release

Getting started

Begin by installing sej:

yarn add sej

Use the SEJ namespace to avoid conflicts with other libraries:

import * as SEJ from 'sej';

The SejEngine consists of multiple parts. You are free to pick and choose which parts you want to use. This will determine how your application will look and behave.

To aid you with this, there are some factories that you can use to build your own SejEngine:

const factory = new AbstractExampleFactory();
const sej = factory.build();

The variable sej will now contain a SejEngine that has all the bells and whistles that you need to create simple scene.

Demo

A list of working examples can be found here:

Documentation

Auto-generated documentation can be found here:

WIP

The purpose of Sej is to be "the future of 3D editors".

This means that Sej will drop support for WebGL in favor WebGPU. However, because of the state of WebGPU (and web in general - yes, I'm looking at you Safari), sej will not be production ready for a while.

Models used

"Spartan Armour MKV - Halo Reach" by McCarthy3D

"Simple Metal Fence" by Blender3D

"City 1" by ithappy

"Pringles Cans | 5 Different Flavours | GAMEREADY" by NKaap

Dependency Graph

Tests

Testing is done locally with cypress.