threejs 84.0.0

Externs for three.js. Automated conversion from typescript (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/threejs).

Released 2017-05-21.

To install, run:

haxelib install threejs 84.0.0

See using Haxelib in Haxelib documentation for more information.

Maintaineryar3333
Websitehttps://bitbucket.org/yar3333/haxe-threejs
Current version84.0.0
StatisticsInstalled 382 times
LicenseBSD
Tags extern, js, three, threejs

README.md

Three.js externs for Haxe

The aim of this library - fully automated (regex-based) conversion from TypeScript to Haxe.

How to update library

  • Install refactor library:

    haxelib install refactor
  • Edit Makefile and change ThreeJS version to desired at the TAG = rXX line.
  • Run in the root repo's folder (in my case I use MinGW on Windows):

    make rebuild
  • Manually check files. Documentator helps your: edit TAG = rXX line in Makefile run make native-js goto documentator/bin and run ThreejsDocumentator.exe after correcting typescript, run make rebuild again

Project structure

Folders:

  • native-ts - original typescript files (automatically downloaded if not exist - git must be installed);
  • raw - one big haxe file - result of the conversion TypeScript->Haxe;
  • manual - manually created files (copied to library at final step);
  • unused - files from labe-me project, which not exists in current externs (need to check them in future);
  • documentator - C# application to help writing documentation and fix typescript;
  • native-js - original three.js files (used by documentator only).

Files:

  • postprocess.rules - edit this to fix Float->Int;
  • extract_classes.rules - regexs to find classes/interfaces (used to split raw haxe file to separate class files);
  • extract_vars.rules - regexs to find & save exported vars;
  • postprocess_vars.rules - regexs to process exported vars files.

Embedding

By default, main three.js file does not embedded. Small external files (placed in the example folder of the original ThreeJS) embedded automatically on imports.

You can control embedding:

  • to embed main uncompressed three.js file: import js.three.Embed;
  • to embed main minified three-min.js file: import js.three.EmbedMin;
  • to stop auto embedding small files use compiler option: -D threejs-noEmbed