diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index e9d91ae10..2c07fac20 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -2,6 +2,8 @@
This document generated by [dt-contributors-generator](https://github.com/vvakame/dt-contributors-generator).
(but run scripts are manual operation. please wait :P)
+* [:link:](abs/abs.d.ts) [abs](https://github.com/IonicaBizau/node-abs) by [Aya Morisawa](https://github.com/AyaMorisawa)
+* [:link:](absolute/absolute.d.ts) [absolute](https://github.com/bahamas10/node-absolute) by [Aya Morisawa](https://github.com/AyaMorisawa)
* [:link:](acc-wizard/acc-wizard.d.ts) [acc-wizard](https://github.com/sathomas/acc-wizard) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](accounting/accounting.d.ts) [accounting.js](http://josscrowcroft.github.io/accounting.js) by [Sergey Gerasimov](https://github.com/gerich-home)
* [:link:](ace/ace.d.ts) [Ace Ajax.org Cloud9 Editor](http://ace.ajax.org) by [Diullei Gomes](https://github.com/Diullei)
@@ -58,6 +60,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](angular-signalr-hub/angular-signalr-hub.d.ts) [angular-signalr-hub](https://github.com/JustMaier/angular-signalr-hub) by [Adam Santaniello](https://github.com/AdamSantaniello)
* [:link:](angular-spinner/angular-spinner.d.ts) [angular-spinner.js](https://github.com/urish/angular-spinner) by [Marcin Biegała](https://github.com/Biegal)
* [:link:](angular-storage/angular-storage.d.ts) [angular-storage](https://github.com/auth0/angular-storage) by [Matthew DeKrey](https://github.com/mdekrey)
+* [:link:](angular-strap/angular-strap.d.ts) [angular-strap v2.2.x](http://mgcrea.github.io/angular-strap) by [Sam Herrmann](https://github.com/samherrmann)
* [:link:](angular-ui-tree/angular-ui-tree.d.ts) [angular-ui-tree](https://github.com/angular-ui-tree/angular-ui-tree) by [Calvin Fernandez](https://github.com/CalvinFernandez)
* [:link:](angular.throttle/angular.throttle.d.ts) [angular.throttle](https://github.com/BaggersIO/angular.throttle) by [Stefan Steinhart](https://github.com/reppners)
* [:link:](angular-ui-sortable/angular-ui-sortable.d.ts) [angular.ui.sortable module](https://github.com/angular-ui/ui-sortable) by [Thodoris Greasidis](https://github.com/thgreasi)
@@ -91,6 +94,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](assertion-error/assertion-error.d.ts) [assertion-error](https://github.com/chaijs/assertion-error) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](assertsharp/assertsharp.d.ts) [assertsharp](https://www.npmjs.com/package/assertsharp) by [Bruno Leonardo Michels](https://github.com/brunolm)
* [:link:](async/async.d.ts) [Async](https://github.com/caolan/async) by [Boris Yankov](https://github.com/borisyankov), [Arseniy Maximov](https://github.com/kern0), [Joe Herman](https://github.com/Penryn)
+* [:link:](async-writer/async-writer.d.ts) [async-writer](https://github.com/marko-js/async-writer) by [Yuce Tekol](http://yuce.me)
* [:link:](asyncblock/asyncblock.d.ts) [asyncblock](https://github.com/scriby/asyncblock) by [Hiroki Horiuchi](https://github.com/horiuchi)
* [:link:](atmosphere/atmosphere.d.ts) [Atmosphere](https://github.com/Atmosphere/atmosphere-javascript) by [Kai Toedter](https://github.com/toedter)
* [:link:](atom/atom.d.ts) [Atom](https://atom.io) by [vvakame](https://github.com/vvakame)
@@ -98,19 +102,21 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](atom-keymap/atom-keymap.d.ts) [atom-keymap](https://github.com/atom/atom-keymap) by [Vadim Macagon](https://github.com/enlight)
* [:link:](atpl/atpl.d.ts) [atpl](https://github.com/soywiz/atpl.js) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](auth0/auth0.d.ts) [Auth0.js](http://auth0.com) by [Robert McLaws](https://github.com/advancedrei)
-* [:link:](auth0.widget/auth0.widget.d.ts) [Auth0Widget.js](http://auth0.com) by [Robert McLaws](https://github.com/advancedrei)
* [:link:](auth0.lock/auth0.lock.d.ts) [Auth0Widget.js](http://auth0.com) by [Robert McLaws](https://github.com/advancedrei)
+* [:link:](auth0.widget/auth0.widget.d.ts) [Auth0Widget.js](http://auth0.com) by [Robert McLaws](https://github.com/advancedrei)
* [:link:](auto-launch/auto-launch.d.ts) [auto-launch](https://github.com/Teamwork/node-auto-launch) by [rhysd](https://github.com/rhysd)
* [:link:](autobahn/autobahn.d.ts) [AutobahnJS](http://autobahn.ws/js) by [Elad Zelingher](https://github.com/darkl), [Andy Hawkins](https://github.com/a904guy/,http://a904guy.com/,http://www.bmbsqd.com)
* [:link:](autoprefixer-core/autoprefixer-core.d.ts) [Autoprefixer Core](https://github.com/postcss/autoprefixer-core) by [Asana](https://asana.com)
* [:link:](aws-sdk/aws-sdk.d.ts) [aws-sdk](https://github.com/aws/aws-sdk-js) by [midknight41](https://github.com/midknight41)
* [:link:](axios/axios.d.ts) [axios](https://github.com/mzabriskie/axios) by [Marcel Buesing](https://github.com/marcelbuesing)
* [:link:](node-azure/azure.d.ts) [Azure SDK for Node](https://github.com/WindowsAzure/azure-sdk-for-node) by [Andrew Gaspar](https://github.com/AndrewGaspar), [Anti Veeranna](https://github.com/antiveeranna), [Maxime LUCE](https://github.com/SomaticIT)
+* [:link:](babylonjs/babylon.d.ts) [BabylonJS](http://www.babylonjs.com) by [David Catuhe](https://github.com/deltakosh)
* [:link:](backbone/backbone-global.d.ts) [Backbone](http://backbonejs.org) by [Boris Yankov](https://github.com/borisyankov), [Natan Vivo](https://github.com/nvivo)
* [:link:](backbone/backbone.d.ts) [Backbone](http://backbonejs.org) by [Boris Yankov](https://github.com/borisyankov), [Natan Vivo](https://github.com/nvivo)
* [:link:](backbone-associations/backbone-associations.d.ts) [Backbone-associations](https://github.com/dhruvaray/backbone-associations) by [Craig Brett](https://github.com/craigbrett17)
* [:link:](backbone-relational/backbone-relational.d.ts) [Backbone-relational](http://backbonerelational.org) by [Eirik Hoem](https://github.com/eirikhm)
* [:link:](backbone.layoutmanager/backbone.layoutmanager.d.ts) [Backbone.LayoutManager](http://layoutmanager.org) by [He Jiang](https://github.com/hejiang2000)
+* [:link:](backbone.localstorage/backbone.localstorage.d.ts) [backbone.localStorage](https://github.com/jeromegn/Backbone.localStorage) by [Louis Grignon](https://github.com/lgrignon)
* [:link:](backbone.paginator/backbone.paginator.d.ts) [backbone.paginator](https://github.com/backbone-paginator/backbone.paginator) by [Nyamazing](https://github.com/Nyamazing)
* [:link:](backbone.radio/backbone.radio.d.ts) [Backbone.Radio](https://github.com/marionettejs/backbone.radio) by [Peter Palotas](https://github.com/alphaleonis)
* [:link:](backgrid/backgrid.d.ts) [Backgrid](http://backgridjs.com) by [Jeremy Lujan](https://github.com/jlujan)
@@ -120,8 +126,11 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](basic-auth/basic-auth.d.ts) [basic-auth](https://github.com/jshttp/basic-auth) by [Clément Bourgeois](https://github.com/moonpyk)
* [:link:](batch-stream/batch-stream.d.ts) [batch-stream](https://github.com/segmentio/batch-stream) by [Nicholas Penree](http://github.com/drudge)
* [:link:](bcrypt/bcrypt.d.ts) [bcrypt](https://www.npmjs.org/package/bcrypt) by [Peter Harris](https://github.com/codeanimal)
+* [:link:](bcrypt-nodejs/bcrypt-nodejs.d.ts) [bcrypt-nodejs](https://github.com/shaneGirish/bcrypt-nodejs) by [David Broder-Rodgers](https://github.com/DavidBR-SW)
+* [:link:](bcryptjs/bcryptjs.d.ts) [bcryptjs](https://github.com/dcodeIO/bcrypt.js) by [Joshua Filby](https://github.com/Joshua-F)
* [:link:](benchmark/benchmark.d.ts) [Benchmark](http://benchmarkjs.com) by [Asana](https://asana.com)
* [:link:](better-curry/better-curry.d.ts) [better-curry](https://github.com/pocesar/js-bettercurry) by [Paulo Cesar](https://github.com/pocesar)
+* [:link:](bezier-easing/bezier-easing.d.ts) [bezier-easing](https://github.com/gre/bezier-easing) by [brian ridley](https://github.com/ptlis)
* [:link:](bgiframe/typescript.bgiframe.d.ts) [bgiframe](https://github.com/sumegizoltan/BgiFrame) by [Zoltan Sumegi](https://github.com/sumegizoltan)
* [:link:](big.js/big.js.d.ts) [big.js](https://github.com/MikeMcl/big.js) by [Steve Ognibene](https://github.com/nycdotnet)
* [:link:](bigint/bigint.d.ts) [BigInt](https://github.com/Evgenus/BigInt) by [Eugene Chernyshov](https://github.com/Evgenus)
@@ -130,7 +139,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](bigscreen/bigscreen.d.ts) [BigScreen](http://brad.is/coding/BigScreen) by [Douglas Eichelberger](https://github.com/dduugg)
* [:link:](bitwise-xor/bitwise-xor.d.ts) [bitwise-xor](https://github.com/czzarr/node-bitwise-xor) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](blob-stream/blob-stream.d.ts) [blob-stream](https://github.com/devongovett/blob-stream) by [Eric Hillah](https://github.com/erichillah)
-* [:link:](bluebird/bluebird.d.ts) [bluebird](https://github.com/petkaantonov/bluebird) by [Bart van der Schoor](https://github.com/Bartvds)
+* [:link:](blue-tape/blue-tape.d.ts) [blue-tape](https://github.com/spion/blue-tape) by [Haoqun Jiang](https://github.com/sodatea)
+* [:link:](bluebird/bluebird.d.ts) [bluebird](https://github.com/petkaantonov/bluebird) by [Bart van der Schoor](https://github.com/Bartvds), [falsandtru](https://github.com/falsandtru)
* [:link:](bluebird-retry/bluebird-retry.d.ts) [bluebird-retry](https://github.com/jut-io/bluebird-retry) by [Pascal Vomhoff](https://github.com/pvomhoff)
* [:link:](blueimp-md5/blueimp-md5.d.ts) [blueimp-md5](https://github.com/blueimp/JavaScript-MD5) by [Ray Martone](https://github.com/rmartone)
* [:link:](body-parser/body-parser.d.ts) [body-parser](http://expressjs.com) by [Santi Albo](https://github.com/santialbo), [VILIC VANE](https://vilic.info), [Jonathan Häberle](https://github.com/dreampulse)
@@ -154,30 +164,36 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](breeze/breeze.d.ts) [Breeze 1.5.x](http://www.breezejs.com) by [Boris Yankov](https://github.com/borisyankov), [IdeaBlade](https://github.com/IdeaBlade/Breeze)
* [:link:](browser-harness/browser-harness.d.ts) [Browser Harness](https://github.com/scriby/browser-harness) by [Chris Scribner](https://github.com/scriby)
* [:link:](browser-sync/browser-sync.d.ts) [browser-sync](http://www.browsersync.io) by [Asana](https://asana.com), [Joe Skeen](http://github.com/joeskeen)
-* [:link:](browserify/browserify.d.ts) [Browserify](http://browserify.org) by [Andrew Gaspar](https://github.com/AndrewGaspar)
+* [:link:](browserify/browserify.d.ts) [Browserify](http://browserify.org) by [Andrew Gaspar](https://github.com/AndrewGaspar), [John Vilk](https://github.com/jvilk)
* [:link:](bucks/bucks.d.ts) [bucks.js](https://github.com/CyberAgent/bucks.js) by [Shunsuke Ohtani](https://github.com/zaneli)
+* [:link:](buffer-compare/buffer-compare.d.ts) [buffer-compare](https://github.com/soldair/node-buffer-compare) by [Ilya Mochalov](https://github.com/chrootsu)
* [:link:](buffer-equal/buffer-equal.d.ts) [buffer-equal](https://github.com/substack/node-buffer-equal) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](bl/bl.d.ts) [BufferList](https://github.com/rvagg/bl) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](buffers/buffers.d.ts) [buffers](https://github.com/substack/node-buffers) by [Robert Hencke](https://github.com/rhencke)
* [:link:](bufferstream/bufferstream.d.ts) [bufferstream](https://github.com/dodo/node-bufferstream) by [Bart van der Schoor](https://github.com/Bartvds)
+* [:link:](bull/bull.d.ts) [bull](https://github.com/OptimalBits/bull) by [Bruno Grieder](https://github.com/bgrieder)
* [:link:](bunyan-prettystream/bunyan-prettystream.d.ts) [bunyan-prettystream](https://www.npmjs.com/package/bunyan-prettystream) by [Jason Swearingen](https://github.com/jasonswearingen), [Vadim Macagon](https://github.com/enlight)
* [:link:](business-rules-engine/business-rules-engine.d.ts) [business-rules-engine](https://github.com/rsamec/form) by [Roman Samec](https://github.com/rsamec)
* [:link:](dw-bxslider-4/dw-bxslider-4.d.ts) [bxSlider](https://github.com/stevenwanderski/bxslider-4) by [Piotr Sałkowski](https://github.com/namerci)
* [:link:](byline/byline.d.ts) [byline](https://github.com/jahewson/node-byline) by [Stefan Steinhart](https://github.com/reppners)
+* [:link:](bytebuffer/bytebuffer.d.ts) [bytebuffer.js](https://github.com/dcodeIO/bytebuffer.js) by [Denis Cappellin](http://github.com/cappellin)
* [:link:](bytes/bytes.d.ts) [bytes](https://github.com/visionmedia/bytes.js) by [Zhiyuan Wang](https://github.com/danny8002)
* [:link:](c3/c3.d.ts) [C3js](http://c3js.org) by [Marc Climent](https://github.com/mcliment)
+* [:link:](cal-heatmap/cal-heatmap.d.ts) [cal-heatmap](https://github.com/wa0x6e/cal-heatmap) by [Chris Baker](https://github.com/RetroChrisB)
* [:link:](calq/calq.d.ts) [calq](https://calq.io/docs/client/javascript/reference) by [Eirik Hoem](https://github.com/eirikhm)
* [:link:](camel-case/camel-case.d.ts) [camel-case](https://github.com/blakeembrey/camel-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](camljs/camljs.d.ts) [camljs](http://camljs.codeplex.com) by [Andrey Markeev](http://markeev.com)
* [:link:](canvasjs/canvasjs.d.ts) [CanvasJS](http://canvasjs.com) by [Mark Overholt](https://github.com/mover5)
* [:link:](casperjs/casperjs.d.ts) [CasperJS](http://casperjs.org) by [Jed Mao](https://github.com/jedmao)
-* [:link:](chai/chai.d.ts) [chai](http://chaijs.com) by [Jed Mao](https://github.com/jedmao), [Bart van der Schoor](https://github.com/Bartvds), [Andrew Brown](https://github.com/AGBrown), [Olivier Chevet](https://github.com/olivr70)
+* [:link:](chai/chai.d.ts) [chai](http://chaijs.com) by [Jed Mao](https://github.com/jedmao), [Bart van der Schoor](https://github.com/Bartvds), [Andrew Brown](https://github.com/AGBrown), [Olivier Chevet](https://github.com/olivr70), [Matt Wistrand](https://github.com/mwistrand)
* [:link:](chai-as-promised/chai-as-promised.d.ts) [chai-as-promised](https://github.com/domenic/chai-as-promised) by [jt000](https://github.com/jt000), [Yuki Kokubun](https://github.com/Kuniwak)
* [:link:](chai-datetime/chai-datetime.d.ts) [chai-datetime](https://github.com/gaslight/chai-datetime.git) by [Cliff Burger](https://github.com/cliffburger)
* [:link:](chai-fuzzy/chai-fuzzy.d.ts) [chai-fuzzy](http://chaijs.com/plugins/chai-fuzzy) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](chai-http/chai-http.d.ts) [chai-http](https://github.com/chaijs/chai-http) by [Wim Looman](https://github.com/Nemo157)
* [:link:](chai-jquery/chai-jquery.d.ts) [chai-jquery](https://github.com/chaijs/chai-jquery) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid)
+* [:link:](chai-string/chai-string.d.ts) [chai-string](https://github.com/onechiporenko/chai-string) by [Nick Malaguti](https://github.com/nmalaguti)
* [:link:](chai-subset/chai-subset.d.ts) [chai-subset](https://github.com/e-conomic/chai-subset) by [Sam Noedel](https://github.com/delta62), [Andrew Brown](https://github.com/AGBrown)
+* [:link:](chai-things/chai-things.d.ts) [chai-things](https://github.com/chaijs/chai-things) by [David Broder-Rodgers](https://github.com/DavidBR-SW)
* [:link:](chalk/chalk.d.ts) [chalk](https://github.com/sindresorhus/chalk) by [Diullei Gomes](https://github.com/Diullei), [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](chance/chance.d.ts) [Chance](http://chancejs.com) by [Chris Bowdon](https://github.com/cbowdon)
* [:link:](change-case/change-case.d.ts) [change-case](https://github.com/blakeembrey/change-case) by [Asana](https://asana.com)
@@ -190,7 +206,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](chosen/chosen.jquery.d.ts) [Chosen.JQuery](http://harvesthq.github.com/chosen) by [Boris Yankov](https://github.com/borisyankov)
* [:link:](chroma-js/chroma-js.d.ts) [Chroma.js](https://github.com/gka/chroma.js) by [Sebastian Brückner](https://github.com/invliD)
* [:link:](chrome/chrome-cast.d.ts) [Chrome Cast application development](https://developers.google.com/cast) by [Thomas Stig Jacobsen](https://github.com/eXeDK)
-* [:link:](chrome/chrome.d.ts) [Chrome extension development](http://developer.chrome.com/extensions) by [Matthew Kimber](https://github.com/matthewkimber), [otiai10](https://github.com/otiai10), [couven92](https://gitbus.com/couven92)
+* [:link:](chrome/chrome.d.ts) [Chrome extension development](http://developer.chrome.com/extensions) by [Matthew Kimber](https://github.com/matthewkimber), [otiai10](https://github.com/otiai10), [couven92](https://github.com/couven92)
* [:link:](chrome/chrome-app.d.ts) [Chrome packaged application development](http://developer.chrome.com/apps) by [Adam Lay](https://github.com/AdamLay), [MIZUNE Pine](https://github.com/pine613), [MIZUSHIMA Junki](https://github.com/mzsm)
* [:link:](chui/chui.d.ts) [chui](https://github.com/chocolatechipui/chocolatechip-ui) by [Robert Biggs](http://chocolatechip-ui.com)
* [:link:](circular-json/circular-json.d.ts) [circular-json](https://github.com/WebReflection/circular-json) by [Jonathan Pevarnek](https://github.com/jpevarnek)
@@ -199,16 +215,20 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](cli-color/cli-color.d.ts) [cli-color](https://github.com/medikoo/cli-color) by [Joel Spadin](https://github.com/ChaosinaCan)
* [:link:](clone/clone.d.ts) [clone](https://github.com/pvorb/node-clone) by [Kieran Simpson](https://github.com/kierans/DefinitelyTyped)
* [:link:](closure-compiler/closure-compiler.d.ts) [closure-compiler](https://github.com/tim-smart/node-closure) by [Martin Probst](https://github.com/mprobst)
-* [:link:](codemirror/codemirror-showhint.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt), [basarat](https://github.com/basarat)
-* [:link:](codemirror/codemirror-matchbrackets.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [Sixin Li](https://github.com/sixinli)
* [:link:](codemirror/codemirror.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [mihailik](https://github.com/mihailik)
* [:link:](codemirror/searchcursor.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt)
+* [:link:](codemirror/codemirror-showhint.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [jacqt](https://github.com/jacqt), [basarat](https://github.com/basarat)
+* [:link:](codemirror/codemirror-matchbrackets.d.ts) [CodeMirror](https://github.com/marijnh/CodeMirror) by [Sixin Li](https://github.com/sixinli)
* [:link:](coffeeify/coffeeify.d.ts) [coffeeify](https://github.com/jnordberg/coffeeify) by [Qubo](https://github.com/tkQubo)
* [:link:](colorbrewer/colorbrewer.d.ts) [colorbrewer](https://github.com/jeanlauliac/colorbrewer) by [Matt Traynham](https://github.com/mtraynham)
* [:link:](colors/colors.d.ts) [Colors.js 0.6.0-1](https://github.com/Marak/colors.js) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](cometd/cometd.d.ts) [CometD](http://cometd.org) by [Derek Cicerone](https://github.com/derekcicerone)
* [:link:](commander/commander.d.ts) [commanderjs](https://github.com/visionmedia/commander.js) by [Marcelo Dezem](http://github.com/mdezem), [vvakame](http://github.com/vvakame)
+* [:link:](commonmark/commonmark.d.ts) [commonmark.js](https://github.com/jgm/commonmark.js) by [Nico Jansen](https://github.com/nicojs)
* [:link:](compare-version/compare-version.d.ts) [compare-version](https://www.npmjs.com/package/compare-version) by [Jonathan Pevarnek](https://github.com/jpevarnek)
+* [:link:](complex/complex.d.ts) [Complex](https://github.com/arian/Complex) by [Aya Morisawa](https://github.com/AyaMorisawa)
+* [:link:](debounce/debounce.d.ts) [compose-function](https://github.com/component/debounce) by [Denis Sokolov](https://github.com/denis-sokolov)
+* [:link:](compose-function/compose-function.d.ts) [compose-function](https://github.com/stoeffel/compose-function) by [Denis Sokolov](https://github.com/denis-sokolov)
* [:link:](compression/compression.d.ts) [compression](https://github.com/expressjs/compression) by [Santi Albo](https://github.com/santialbo)
* [:link:](configstore/configstore.d.ts) [configstore](https://github.com/yeoman/configstore) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](connect/connect.d.ts) [connect](https://github.com/senchalabs/connect) by [Maxime LUCE](https://github.com/SomaticIT)
@@ -217,23 +237,31 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](connect-modrewrite/connect-modrewrite.d.ts) [connect-modrewrite](https://github.com/tinganho/connect-modrewrite) by [Tingan Ho](https://github.com/tinganho)
* [:link:](connect-mongo/connect-mongo.d.ts) [connect-mongo](https://github.com/kcbanner/connect-mongo) by [Mizuki Yamamoto](https://github.com/Syati)
* [:link:](connect-slashes/connect-slashes.d.ts) [connect-slashes](https://github.com/avinoamr/connect-slashes) by [Sam Herrmann](https://github.com/samherrmann)
+* [:link:](connect-timeout/connect-timeout.d.ts) [connect-timeout](https://github.com/expressjs/timeout) by [Cyril Schumacher](https://github.com/cyrilschumacher)
+* [:link:](console-stamp/console-stamp.d.ts) [console-stamp](https://github.com/starak/node-console-stamp) by [Eric Byers](https://github.com/ericbyers)
* [:link:](consolidate/consolidate.d.ts) [consolidate](https://github.com/visionmedia/consolidate.js) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](constant-case/constant-case.d.ts) [constant-case](https://github.com/blakeembrey/constant-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](content-type/content-type.d.ts) [content-type](https://github.com/deoxxa/content-type) by [Pine Mizune](https://github.com/pine613)
+* [:link:](contentful-resolve-response/contentful-resolve-response.d.ts) [contentful-resolve-response](https://github.com/contentful/contentful-resolve-response) by [Anton Karsten](https://github.com/antonkarsten)
* [:link:](contextjs/contextjs.d.ts) [contextjs](https://github.com/jakiestfu/Context.js) by [Kern Handa](https://github.com/kernhanda)
* [:link:](convert-source-map/convert-source-map.d.ts) [convert-source-map](https://github.com/thlorenz/convert-source-map) by [Andrew Gaspar](https://github.com/AndrewGaspar)
* [:link:](cookie/cookie.d.ts) [cookie](https://github.com/jshttp/cookie) by [Pine Mizune](https://github.com/pine613)
* [:link:](cookie-parser/cookie-parser.d.ts) [cookie-parser](https://github.com/expressjs/cookie-parser) by [Santi Albo](https://github.com/santialbo)
+* [:link:](cookies/cookies.d.ts) [cookie-parser](https://github.com/pillarjs/cookies) by [Wang Zishi](https://github.com/WangZishi)
* [:link:](cookiejs/cookiejs.d.ts) [cookie.js](https://github.com/js-coder/cookie.js) by [Boltmade](https://github.com/Boltmade)
* [:link:](cordova-ionic/plugins/keyboard.d.ts) [Cordova Keyboard plugin](https://github.com/driftyco/ionic-plugins-keyboard) by [Hendrik Maus](https://github.com/hendrikmaus)
* [:link:](cordova-plugin-app-version/cordova-plugin-app-version.d.ts) [cordova-plugin-app-version](https://github.com/whiteoctober/cordova-plugin-app-version) by [Markus Wagner](https://github.com/Ritzlgrmft)
* [:link:](cordova-plugin-ibeacon/cordova-plugin-ibeacon.d.ts) [cordova-plugin-ibeacon](https://github.com/petermetz/cordova-plugin-ibeacon) by [Markus Wagner](https://github.com/Ritzlgrmft)
+* [:link:](cordova-plugin-mapsforge/cordova-plugin-mapsforge.d.ts) [cordova-plugin-mapsforge](https://github.com/afsuarez/mapsforge-cordova-plugin) by [rafw87](https://github.com/rafw87)
* [:link:](cordova-plugin-ouralabs/cordova-plugin-ouralabs.d.ts) [cordova-plugin-ouralabs](https://github.com/Justin-Credible/cordova-plugin-ouralabs) by [Justin Unterreiner](https://github.com/Justin-Credible)
+* [:link:](cordova-plugin-spinner/cordova-plugin-spinner.d.ts) [cordova-plugin-spinner](https://github.com/Justin-Credible/cordova-plugin-spinner) by [Justin Unterreiner](https://github.com/Justin-Credible)
* [:link:](cordovarduino/cordovarduino.d.ts) [Cordovarduino plugin](https://github.com/stereolux/cordovarduino) by [Hendrik Maus](https://github.com/hendrikmaus)
* [:link:](core-decorators/core-decorators.d.ts) [core-decorators.js](https://github.com/jayphelps/core-decorators.js) by [Qubo](https://github.com/tkqubo)
* [:link:](core-js/core-js.d.ts) [core-js](https://github.com/zloirock/core-js) by [Ron Buckton](http://github.com/rbuckton)
* [:link:](cors/cors.d.ts) [cors](https://github.com/troygoode/node-cors) by [Mihhail Lapushkin](https://github.com/mihhail-lapushkin)
-* [:link:](couchbase/couchbase.d.ts) [Couchbase Couchnode](https://github.com/couchbase/couchnode) by [Basarat Ali Syed](https://github.com/basarat)
+* [:link:](couchbase/couchbase.d.ts) [Couchbase Node.js SDK](https://github.com/couchbase/couchnode) by [Marwan Aouida](https://github.com/maouida)
+* [:link:](cradle/cradle.d.ts) [cradle](https://github.com/flatiron/cradle) by [Panu Horsmalahti](https://github.com/panuhorsmalahti)
+* [:link:](create-error/create-error.d.ts) [create-error.js](https://github.com/tgriesser/create-error) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](createjs/createjs.d.ts) [CreateJS](http://www.createjs.com) by [Pedro Ferreira](https://bitbucket.org/drk4), [Chris Smith](https://github.com/evilangelist), [Satoru Kimura](https://github.com/gyohk)
* [:link:](credential/credential.d.ts) [credential](https://github.com/ericelliott/credential) by [Phú](https://github.com/phuvo)
* [:link:](cron/cron.d.ts) [cron](https://www.npmjs.com/package/cron) by [Hiroki Horiuchi](https://github.com/horiuchi)
@@ -246,6 +274,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](googlemaps.infobubble/google.maps.infobubble.d.ts) [CSS3 InfoBubble with tabs for Google Maps API V3](http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobubble/src) by [Johan Nilsson](https://github.com/Dashue)
* [:link:](csurf/csurf.d.ts) [csurf](https://www.npmjs.org/package/csurf) by [Hiroki Horiuchi](https://github.com/horiuchi)
* [:link:](csv-stringify/csv-stringify.d.ts) [csv-stringify](https://github.com/wdavidw/node-csv-stringify) by [Rogier Schouten](https://github.com/rogierschouten)
+* [:link:](cucumber/cucumber.d.ts) [cucumber-js](https://github.com/cucumber/cucumber-js) by [Abraão Alves](https://github.com/abraaoalves)
* [:link:](cuid/cuid.d.ts) [cuid](https://github.com/ericelliott/cuid) by [Dave Keen](http://www.keendevelopment.ch)
* [:link:](custom-error-generator/custom-error-generator.d.ts) [custom-error-generator](https://github.com/jproulx/node-custom-error) by [Thierry Miceli](https://github.com/thmiceli)
* [:link:](md5/md5.d.ts) [CybozuLabs.MD5](http://labs.cybozu.co.jp/blog/mitsunari/2007/07/md5js_1.html) by [MIZUNE Pine](https://github.com/pine613)
@@ -259,7 +288,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](date.format.js/date.format.d.ts) [Date Format](http://blog.stevenlevithan.com/archives/date-time-format) by [Rob Stutton](https://github.com/balrob)
* [:link:](datejs/datejs.d.ts) [DateJS](http://www.datejs.com) by [David Khristepher Santos](http://github.com/rupertavery)
* [:link:](dcjs/dc.d.ts) [DCJS](https://github.com/dc-js/dc.js) by [hans windhoff](https://github.com/hansrwindhoff), [matt traynham](https://github.com/mtraynham)
-* [:link:](debug/debug.d.ts) [debug](https://github.com/visionmedia/debug) by [Seon-Wook Park](https://github.com/swook)
+* [:link:](debug/debug.d.ts) [debug](https://github.com/visionmedia/debug) by [Seon-Wook Park](https://github.com/swook), [Gal Talmor](https://github.com/galtalmor)
* [:link:](decimal.js/decimal.js.d.ts) [decimal.js](http://mikemcl.github.io/decimal.js) by [Joseph Rossi](http://github.com/musicist288)
* [:link:](decorum/decorum.d.ts) [Decorum JS](https://github.com/dflor003/decorum) by [Danil Flores](https://github.com/dflor003)
* [:link:](deep-diff/deep-diff.d.ts) [deep-diff](https://github.com/flitbit/diff) by [ZauberNerd](https://github.com/ZauberNerd)
@@ -284,8 +313,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](dojo/dojo.d.ts) [Dojo](http://dojotoolkit.org) by [Michael Van Sickle](https://github.com/vansimke)
* [:link:](dompurify/dompurify.d.ts) [DOM Purify](https://github.com/cure53/DOMPurify) by [Dave Taylor](http://davetayls.me), [Samira Bazuzi](https://github.com/bazuzi)
* [:link:](domo/domo.d.ts) [Domo](http://domo-js.com) by [Steve Fenton](https://github.com/Steve-Fenton)
-* [:link:](requirejs-domready/domready.d.ts) [domReady](https://github.com/requirejs/domReady) by [Nobuhiro Nakamura](https://github.com/lefb766)
* [:link:](domready/domready.d.ts) [domready](https://github.com/ded/domready) by [Christian Holm Nielsen](https://github.com/dotnetnerd)
+* [:link:](requirejs-domready/domready.d.ts) [domReady](https://github.com/requirejs/domReady) by [Nobuhiro Nakamura](https://github.com/lefb766)
* [:link:](donna/donna.d.ts) [donna](https://github.com/atom/donna) by [vvakame](https://github.com/vvakame)
* [:link:](dot/dot.d.ts) [doT](https://github.com/olado/doT) by [ZombieHunter](https://github.com/ZombieHunter)
* [:link:](dot-case/dot-case.d.ts) [dot-case](https://github.com/blakeembrey/dot-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
@@ -305,8 +334,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](easy-jsend/easy-jsend.d.ts) [easy-jsend](https://github.com/DeadAlready/easy-jsend) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easy-session/easy-session.d.ts) [easy-session](https://github.com/DeadAlready/node-easy-session) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easy-table/easy-table.d.ts) [easy-table](https://github.com/eldargab/easy-table) by [Niklas Mollenhauer](https://github.com/nikeee)
-* [:link:](easy-xapi-supertest/easy-xapi-supertest.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easy-x-headers/easy-x-headers.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready)
+* [:link:](easy-xapi-supertest/easy-xapi-supertest.d.ts) [easy-x-headers](https://github.com/DeadAlready/easy-x-headers) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easy-xapi/easy-xapi.d.ts) [easy-xapi](https://github.com/DeadAlready/easy-xapi) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easy-xapi-utils/easy-xapi-utils.d.ts) [easy-xapi-utils](https://github.com/DeadAlready/easy-xapi-utils) by [Karl Düüna](https://github.com/DeadAlready)
* [:link:](easystarjs/easystarjs.d.ts) [EasyStar.js](http://easystarjs.com) by [Magnus Gustafsson](https://github.com/borundin)
@@ -314,17 +343,20 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](ejs-locals/ejs-locals.d.ts) [ejs-locals](https://github.com/randometc/ejs-locals) by [jt000](https://github.com/jt000)
* [:link:](ejs/ejs.d.ts) [ejs.js](http://ejs.co) by [Ben Liddicott](https://github.com/benliddicott/DefinitelyTyped)
* [:link:](jquery.elang/jquery.elang.d.ts) [eLang](https://github.com/sumegizoltan/ELang) by [Zoltan Sumegi](https://github.com/sumegizoltan)
-* [:link:](github-electron/github-electron.d.ts) [Electron (shared between main and rederer processes)](http://electron.atom.io) by [jedmao](https://github.com/jedmao)
+* [:link:](github-electron/github-electron.d.ts) [Electron](http://electron.atom.io) by [jedmao](https://github.com/jedmao), [rhysd](https://rhysd.github.io)
* [:link:](electron-builder/electron-builder.d.ts) [electron-builder](https://github.com/loopline-systems/electron-builder) by [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](electron-packager/electron-packager.d.ts) [electron-packager](https://github.com/maxogden/electron-packager) by [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](github-electron/electron-prebuilt.d.ts) [electron-prebuilt](https://github.com/mafintosh/electron-prebuilt) by [rhysd](https://github.com/rhysd)
* [:link:](element-resize-event/element-resize-event.d.ts) [element-resize-event](https://github.com/KyleAMathews/element-resize-event) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](elm/elm.d.ts) [Elm](http://elm-lang.org) by [Dénes Harmath](https://github.com/thSoft)
+* [:link:](email-addresses/email-addresses.d.ts) [email-addresses](https://github.com/jackbowman/email-addresses) by [John Grimsey](https://github.com/johngrimsey)
+* [:link:](email-validator/email-validator.d.ts) [email-validator](https://github.com/Sembiance/email-validator) by [Paul Lessing](https://github.com/paullessing)
* [:link:](ember/ember.d.ts) [Ember.js](http://emberjs.com) by [Jed Mao](https://github.com/jedmao)
* [:link:](emissary/emissary.d.ts) [emissary](https://github.com/atom/emissary) by [vvakame](https://github.com/vvakame)
* [:link:](empower/empower.d.ts) [empower](https://github.com/twada/empower) by [vvakame](https://github.com/vvakame)
* [:link:](emscripten/emscripten.d.ts) [Emscripten](http://kripken.github.io/emscripten-site/index.html) by [Kensuke Matsuzaki](https://github.com/zakki)
* [:link:](envify/envify.d.ts) [envify](https://github.com/hughsk/envify) by [Qubo](https://github.com/tkQubo)
+* [:link:](enzyme/enzyme.d.ts) [Enzyme](https://github.com/airbnb/enzyme) by [Marian Palkus](https://github.com/MarianPalkus), [Cap3](http://www.cap3.de)
* [:link:](epiceditor/epiceditor.d.ts) [EpicEditor](http://epiceditor.com) by [Boris Yankov](https://github.com/borisyankov)
* [:link:](eq.js/eq.js.d.ts) [eq.js](https://github.com/Snugug/eq.js) by [Stephen Lautier](https://github.com/stephenlautier)
* [:link:](errorhandler/errorhandler.d.ts) [errorhandler](https://github.com/expressjs/errorhandler) by [Santi Albo](https://github.com/santialbo)
@@ -338,12 +370,14 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](event-kit/event-kit.d.ts) [event-kit](https://github.com/atom/event-kit) by [Vadim Macagon](https://github.com/enlight)
* [:link:](event-loop-lag/event-loop-lag.d.ts) [event-loop-lag](https://github.com/pebble/event-loop-lag) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](eventemitter2/eventemitter2.d.ts) [EventEmitter2](https://github.com/asyncly/EventEmitter2) by [ryiwamoto](https://github.com/ryiwamoto)
-* [:link:](eventemitter3/eventemitter3.d.ts) [EventEmitter3](https://github.com/primus/eventemitter3) by [Yuichi Murata](https://github.com/mrk21)
+* [:link:](eventemitter3/eventemitter3.d.ts) [EventEmitter3](https://github.com/primus/eventemitter3) by [Yuichi Murata](https://github.com/mrk21), [Leon Yu](https://github.com/leonyu)
* [:link:](evernote/evernote.d.ts) [evernote v](https://www.npmjs.com/package/evernote) by [Zachary Collins](https://github.com/corps)
* [:link:](exit/exit.d.ts) [exit](https://github.com/cowboy/node-exit) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](expect.js/expect.js.d.ts) [expect.js](https://github.com/Automattic/expect.js) by [Teppei Sato](https://github.com/teppeis)
* [:link:](expectations/expectations.d.ts) [expectations.js](https://github.com/spmason/expectations) by [vvakame](https://github.com/vvakame)
* [:link:](express/express.d.ts) [Express 4.x](http://expressjs.com) by [Boris Yankov](https://github.com/borisyankov)
+* [:link:](express-brute/express-brute.d.ts) [express-brute](https://github.com/AdamPflug/express-brute) by [Cyril Schumacher](https://github.com/cyrilschumacher)
+* [:link:](express-brute-mongo/express-brute-mongo.d.ts) [express-brute-mongo](https://github.com/auth0/express-brute-mongo) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](express-debug/express-debug.d.ts) [express-debug](https://github.com/devoidfury/express-debug) by [Federico Bond](https://github.com/federicobond)
* [:link:](express-handlebars/express-handlebars.d.ts) [express-handlebars](https://github.com/ericf/express-handlebars) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](express-jwt/express-jwt.d.ts) [express-jwt](https://www.npmjs.org/package/express-jwt) by [Wonshik Kim](https://github.com/wokim)
@@ -359,6 +393,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](eyes/eyes.d.ts) [eyes](https://github.com/cloudhead/eyes.js) by [bryn austin bellomy](https://github.com/brynbellomy)
* [:link:](fabricjs/fabricjs.d.ts) [FabricJS](http://fabricjs.com) by [Oliver Klemencic](https://github.com/oklemencic), [Joseph Livecchi](https://github.com/joewashear007), [Michael Randolph](https://github.com/mrand01)
* [:link:](fbsdk/fbsdk.d.ts) [Facebook Javascript SDK](https://developers.facebook.com/docs/javascript) by [Joshua Strobl](https://github.com/JoshStrobl)
+* [:link:](fbemitter/fbemitter.d.ts) [Facebook's EventEmitter](https://github.com/facebook/emitter) by [kmxz](https://github.com/kmxz)
* [:link:](faker/faker.d.ts) [faker](http://marak.com/faker.js) by [Bas Pennings](https://github.com/basp), [Yuki Kokubun](https://github.com/Kuniwak)
* [:link:](famous/famous.d.ts) [Famous Engine](http://famous.org) by [Boris Vasilenko](https://github.com/borisvasilenko)
* [:link:](fancybox/fancybox.d.ts) [fancyBox](https://github.com/fancyapps/fancyBox) by [Boris Yankov](https://github.com/borisyankov)
@@ -370,6 +405,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](whatwg-fetch/whatwg-fetch.d.ts) [fetch API](https://github.com/github/fetch) by [Ryan Graham](https://github.com/ryan-codingintrigue)
* [:link:](fhir/fhir.d.ts) [FHIR DSTU2](http://www.hl7.org/fhir/2015Sep/index.html) by [Artifact Health](http://www.artifacthealth.com)
* [:link:](fibers/fibers.d.ts) [fibers](https://github.com/laverdet/node-fibers) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
+* [:link:](field/field.d.ts) [field](https://www.npmjs.com/package/field) by [Leo Liang](https://github.com/aleung/DefinitelyTyped)
* [:link:](filewriter/filewriter.d.ts) [File API: Writer](http://www.w3.org/TR/file-writer-api) by [Kon](http://phyzkit.net)
* [:link:](filesystem/filesystem.d.ts) [File System API](http://www.w3.org/TR/file-system-api) by [Kon](http://phyzkit.net)
* [:link:](file-url/file-url.d.ts) [file-url](https://github.com/sindresorhus/file-url) by [MEDIA CHECK s.r.o.](http://www.mediacheck.cz)
@@ -383,7 +419,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](firebase-client/firebase-client.d.ts) [Firebase Client](https://www.github.com/jpstevens/firebase-client) by [Andrew Breen](https://github.com/fpsscarecrow)
* [:link:](firebase/firebase-simplelogin.d.ts) [Firebase Simple Login](https://www.firebase.com/docs/security/simple-login-overview.html) by [Wilker Lucio](http://github.com/wilkerlucio)
* [:link:](first-mate/first-mate.d.ts) [first-mate](https://github.com/atom/first-mate) by [Vadim Macagon](https://github.com/enlight)
-* [:link:](fixed-data-table/fixed-data-table.d.ts) [fixed-data-table](https://github.com/facebook/fixed-data-table) by [Petar Paar](https://github.com/pepaar)
+* [:link:](fixed-data-table/fixed-data-table.d.ts) [fixed-data-table](https://github.com/facebook/fixed-data-table) by [Petar Paar](https://github.com/pepaar), [Stephen Jelfs](https://github.com/stephenjelfs)
* [:link:](flake-idgen/flake-idgen.d.ts) [flakge-idgen](https://github.com/T-PWK/flake-idgen) by [Yuce Tekol](http://yuce.me)
* [:link:](flat/flat.d.ts) [flat](https://github.com/hughsk/flat) by [Ilya Mochalov](https://github.com/chrootsu)
* [:link:](flexSlider/flexSlider.d.ts) [FlexSlider 2 jquery plugin](https://github.com/woothemes/FlexSlider) by [Diullei Gomes](https://github.com/diullei)
@@ -391,19 +427,20 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](flipsnap/flipsnap.d.ts) [flipsnap.js](http://pxgrid.github.io/js-flipsnap) by [kubosho](https://github.com/kubosho), [gsino](https://github.com/gsino), [Mayuki Sawatari](https://github.com/mayuki)
* [:link:](flot/jquery.flot.d.ts) [Flot](http://www.flotcharts.org) by [Matt Burland](https://github.com/burlandm)
* [:link:](flowjs/flowjs.d.ts) [flowjs](https://github.com/flowjs/flow.js) by [Ryan McNamara](https://github.com/ryan10132)
-* [:link:](flux/flux.d.ts) [Flux](http://facebook.github.io/flux) by [Steve Baker](https://github.com/stkb)
+* [:link:](flux/flux.d.ts) [Flux](http://facebook.github.io/flux) by [Steve Baker](https://github.com/stkb), [Giedrius Grabauskas](https://github.com/QuatroDevOfficial)
* [:link:](flux-standard-action/flux-standard-action.d.ts) [flux-standard-action](https://github.com/acdlite/flux-standard-action) by [Qubo](https://github.com/tkqubo)
* [:link:](fluxxor/fluxxor.d.ts) [Fluxxor](https://github.com/BinaryMuse/fluxxor) by [Yuichi Murata](https://github.com/mrk21)
* [:link:](fontoxml/fontoxml.d.ts) [FontoXML](http://www.fontoxml.com) by [Roland Zwaga](https://github.com/rolandzwaga)
* [:link:](ion.rangeSlider/ion.rangeSlider.d.ts) [for Ion.RangeSlider](https://github.com/IonDen/ion.rangeSlider) by [Sixin Li](https://github.com/sixinli)
+* [:link:](jee-jsf/jsf.d.ts) [for the JSF 2.0 Ajax request API](https://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/js-api/symbols/jsf.ajax.html) by [Lars Michaelis and Stephan Zerhusen](https://github.com/ButterFaces/ButterFaces)
* [:link:](forge-di/forge-di.d.ts) [forge-di](https://github.com/nkohari/forge) by [Adam Carr](https://github.com/adamcarr)
-* [:link:](form-data/form-data.d.ts) [form-data](https://github.com/felixge/node-form-data) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](formidable/formidable.d.ts) [Formidable](https://github.com/felixge/node-formidable) by [Wim Looman](https://github.com/Nemo157)
* [:link:](foundation/foundation.d.ts) [Foundation](http://foundation.zurb.com) by [Boris Yankov](https://github.com/borisyankov)
+* [:link:](foundation-sites/foundation-sites.d.ts) [Foundation Sites](http://foundation.zurb.com) by [Sam Vloeberghs](https://github.com/samvloeberghs)
* [:link:](fpsmeter/FPSMeter.d.ts) [FPSmeter](http://darsa.in/fpsmeter) by [Aaron Lampros](http://github.com/alampros)
-* [:link:](freedom/freedom-core-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek)
* [:link:](freedom/freedom-module-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek)
* [:link:](freedom/freedom.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek)
+* [:link:](freedom/freedom-core-env.d.ts) [freedom](https://github.com/freedomjs/freedom) by [Jonathan Pevarnek](https://github.com/jpevarnek)
* [:link:](from/from.d.ts) [from](https://github.com/dominictarr/from) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](fs-ext/fs-ext.d.ts) [fs-ext](https://github.com/baudehlo/node-fs-ext) by [Oguzhan Ergin](https://github.com/OguzhanE)
* [:link:](fs-extra/fs-extra.d.ts) [fs-extra](https://github.com/jprichardson/node-fs-extra) by [midknight41](https://github.com/midknight41)
@@ -413,6 +450,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](ftp/ftp.d.ts) [ftp](https://github.com/mscdex/node-ftp) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](ftpd/ftpd.d.ts) [ftpd](https://github.com/sstur/nodeftpd) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](fullCalendar/fullCalendar.d.ts) [FullCalendar](http://arshaw.com/fullcalendar) by [Neil Stalker](https://github.com/nestalk), [Marcelo Camargo](https://github.com/hasellcamargo)
+* [:link:](fullname/fullname.d.ts) [fullname](https://www.npmjs.com/package/fullname) by [Klaus Reimer](https://github.com/kayahr)
* [:link:](fuse/fuse.d.ts) [Fuse.js](https://github.com/krisk/Fuse) by [Greg Smith](https://github.com/smrq)
* [:link:](jquery-galleria/jquery-galleria.d.ts) [galleria.js](https://github.com/aino/galleria) by [Robert Imig](https://github.com/rimig)
* [:link:](gamepad/gamepad.d.ts) [Gamepad API](http://www.w3.org/TR/gamepad) by [Kon](http://phyzkit.net)
@@ -434,33 +472,33 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](goJS/goJS.d.ts) [GoJS](http://gojs.net) by [Northwoods Software](https://github.com/NorthwoodsSoftware)
* [:link:](google.analytics/ga.d.ts) [Google Analytics (Classic and Universal)](https://developers.google.com/analytics/devguides/collection/gajs) by [Ronnie Haakon Hegelund](http://ronniehegelund.blogspot.dk), [Pat Kujawa](http://patkujawa.com)
* [:link:](gapi/gapi.d.ts) [Google API Client](https://code.google.com/p/google-api-javascript-client) by [Frank M](https://github.com/sgtfrankieboy)
-* [:link:](google-apps-script/google-apps-script.html.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.groups.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.gmail.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.calendar.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.script.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.properties.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.maps.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.url-fetch.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.optimization.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.ui.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.forms.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.document.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.content.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.mail.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.drive.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.types.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.spreadsheet.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.lock.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.sites.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.groups.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.xml-service.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.sites.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.utilities.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.language.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.jdbc.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.html.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.optimization.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.url-fetch.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.properties.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.ui.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.maps.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.mail.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.lock.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.language.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.types.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.base.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.cache.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
-* [:link:](google-apps-script/google-apps-script.calendar.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.spreadsheet.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.charts.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google-apps-script/google-apps-script.contacts.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.content.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.document.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.drive.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.forms.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
+* [:link:](google-apps-script/google-apps-script.gmail.d.ts) [Google Apps Script 2015-11-12](https://developers.google.com/apps-script) by [motemen](https://github.com/motemen)
* [:link:](google.feeds/google.feed.api.d.ts) [Google Feed Apis](https://developers.google.com/feed) by [RodneyJT](https://github.com/RodneyJT)
* [:link:](google.geolocation/google.geolocation.d.ts) [Google Geolocation](https://code.google.com/p/geo-location-javascript) by [Vincent Bortone](https://github.com/vbortone)
* [:link:](googlemaps/google.maps.d.ts) [Google Maps JavaScript API](https://developers.google.com/maps) by [Folia A/S](http://www.folia.dk), [Chris Wrench](https://github.com/cgwrench)
@@ -472,6 +510,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](gapi.translate/gapi.translate.d.ts) [Google Translate API](https://developers.google.com/translate) by [Frank M](https://github.com/sgtfrankieboy)
* [:link:](gapi.urlshortener/gapi.urlshortener.d.ts) [Google Url Shortener API](https://developers.google.com/url-shortener) by [Frank M](https://github.com/sgtfrankieboy)
* [:link:](google.visualization/google.visualization.d.ts) [Google Visualisation Apis](https://developers.google.com/chart) by [Dan Ludwig](https://github.com/danludwig)
+* [:link:](google-maps/google-maps.d.ts) [google-maps](https://www.npmjs.com/package/google-maps) by [Deividas Bakanas](https://github.com/DeividasBakanas), [Giedrius Grabauskas](https://github.com/GiedriusGrabauskas)
* [:link:](gae.channel.api/gae.channel.api.d.ts) [GoogleAppEngine's Channel API](https://developers.google.com/appengine/docs/java/channel/javascript) by [vvakame](https://github.com/vvakame)
* [:link:](graceful-fs/graceful-fs.d.ts) [graceful-fs](https://github.com/cowboy/graceful-fs) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](graham_scan/graham_scan.d.ts) [graham_scan](https://github.com/brian3kb/graham_scan_js) by [Harm Berntsen](https://github.com/hberntsen)
@@ -486,6 +525,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](gsap/TweenLite.d.ts) [GSAP](http://greensock.com) by [VILIC VANE](https://vilic.github.io)
* [:link:](gulp/gulp.d.ts) [Gulp v3.8.x](http://gulpjs.com) by [Drew Noakes](https://drewnoakes.com)
* [:link:](gulp-autoprefixer/gulp-autoprefixer.d.ts) [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer) by [Asana](https://asana.com)
+* [:link:](gulp-babel/gulp-babel.d.ts) [gulp-babel](https://github.com/babel/gulp-babel) by [Aya Morisawa](https://github.com/AyaMorisawa)
* [:link:](gulp-cached/gulp-cached.d.ts) [gulp-cached](https://github.com/wearefractal/gulp-cached) by [Thomas Corbière](https://github.com/tomc974)
* [:link:](gulp-changed/gulp-changed.d.ts) [gulp-changed](https://github.com/sindresorhus/gulp-changed) by [Thomas Corbière](https://github.com/tomc974)
* [:link:](gulp-cheerio/gulp-cheerio.d.ts) [gulp-cheerio](https://github.com/KenPowers/gulp-cheerio) by [Qubo](https://github.com/tkQubo)
@@ -552,7 +592,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](highland/highland.d.ts) [Highland](http://highlandjs.org) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](highlightjs/highlightjs.d.ts) [highlight.js](https://github.com/isagalaev/highlight.js) by [Niklas Mollenhauer](https://github.com/nikeee), [Jeremy Hull](https://github.com/sourrust)
* [:link:](highcharts/highstock.d.ts) [Highstock](http://www.highcharts.com) by [David Deutsch](http://github.com/DavidKDeutsch)
+* [:link:](react-router/history.d.ts) [history](https://github.com/rackt/history) by [Sergey Buturlakin](http://github.com/sergey-buturlakin)
* [:link:](history/history.d.ts) [History.js](https://github.com/browserstate/history.js) by [Boris Yankov](https://github.com/borisyankov), [Gidon Junge](https://github.com/gjunge)
+* [:link:](hopscotch/hopscotch.d.ts) [Hopscotch](http://linkedin.github.io/hopscotch) by [Tim Perry](https://github.com/pimterry)
* [:link:](howlerjs/howler.d.ts) [howler.js](https://github.com/goldfire/howler.js) by [Pedro Casaubon](https://github.com/xperiments)
* [:link:](touch-events/touch-events.d.ts) [HTML Touch Events](http://www.w3.org/TR/touch-events) by [Kevin Barabash](https://github.com/kevinb7)
* [:link:](html-to-text/html-to-text.d.ts) [html-to-text](https://github.com/werk85/node-html-to-text) by [Eryk Warren](https://github.com/erykwarren)
@@ -566,9 +608,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](humane/humane.d.ts) [Humane](http://wavded.github.com/humane-js) by [jmvrbanac](https://github.com/jmvrbanac)
* [:link:](hypertext-application-language/hypertext-application-language.d.ts) [Hypertext Application Language Draft 6](https://tools.ietf.org/html/draft-kelly-json-hal-06) by [Maks3w](https://github.com/maks3w)
* [:link:](i18n-node/i18n-node.d.ts) [i18n-node](https://github.com/mashpie/i18n-node) by [Maxime LUCE](https://github.com/SomaticIT)
-* [:link:](ng-i18next/ng-i18next.d.ts) [i18next](https://github.com/i18next/ng-i18next) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](i18next/i18next.d.ts) [i18next](http://i18next.com) by [Maarten Docter](https://github.com/mdocter)
+* [:link:](ng-i18next/ng-i18next.d.ts) [i18next](https://github.com/i18next/ng-i18next) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](iban/iban.d.ts) [iban.js](https://github.com/arhs/iban.js) by [Cyril Schumacher](https://github.com/cyrilschumacher)
+* [:link:](icepick/icepick.d.ts) [icepick](https://github.com/aearly/icepick) by [Nathan Brown](https://github.com/ngbrown)
* [:link:](icheck/icheck.d.ts) [iCheck](http://damirfoy.com/iCheck) by [Dániel Tar](https://github.com/qcz)
* [:link:](imagemagick/imagemagick.d.ts) [imagemagick](http://github.com/rsms/node-imagemagick) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](imagemagick-native/imagemagick-native.d.ts) [imagemagick-native](https://www.npmjs.org/package/imagemagick-native) by [Hiroki Horiuchi](https://github.com/horiuchi)
@@ -578,6 +621,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](impress/impress.d.ts) [Impress.js](https://github.com/bartaz/impress.js) by [Boris Yankov](https://github.com/borisyankov)
* [:link:](incremental-dom/incremental-dom.d.ts) [Incremetal DOM](https://github.com/google/incremental-dom) by [Basarat Ali Syed](https://github.com/basarat)
* [:link:](inflection/inflection.d.ts) [inflection](https://github.com/dreamerslab/node.inflection) by [Shogo Iwano](https://github.com/shiwano)
+* [:link:](inherits/inherits.d.ts) [inherits](https://github.com/isaacs/inherits) by [Ilya Mochalov](https://github.com/chrootsu)
* [:link:](ini/ini.d.ts) [ini](https://github.com/isaacs/ini) by [Marcin Porębski](https://github.com/marcinporebski)
* [:link:](iniparser/iniparser.d.ts) [iniparser](https://github.com/shockie/node-iniparser) by [Ilya Mochalov](https://github.com/chrootsu)
* [:link:](inline-css/inline-css.d.ts) [inline-css](https://github.com/jonkemp/inline-css) by [Philip Spain](https://github.com/philipisapain)
@@ -598,6 +642,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](iscroll/iscroll-lite.d.ts) [iScroll Lite](http://cubiq.org/iscroll-4) by [Boris Yankov](https://github.com/borisyankov), [Christiaan Rakowski](https://github.com/csrakowski)
* [:link:](iscroll/iscroll-5-lite.d.ts) [iScroll Lite 5](http://cubiq.org/iscroll-5-ready-for-beta-test) by [Christiaan Rakowski](https://github.com/csrakowski)
* [:link:](iso8601-localizer/iso8601-localizer.d.ts) [ISO8601-Localizer](https://github.com/avielfedida/ISO8601-Localizer) by [Aviel Fedida](https://github.com/avielfedida)
+* [:link:](istanbul/istanbul.d.ts) [Istanbul](https://github.com/gotwarlost/istanbul) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](ix.js/ix.d.ts) [IxJS 1.0.6 / ix.js](https://github.com/Reactive-Extensions/IxJS) by [Igor Oleinikov](https://github.com/Igorbek)
* [:link:](ix.js/l2o.d.ts) [IxJS 1.0.6 / l2o.js](https://github.com/Reactive-Extensions/IxJS) by [Igor Oleinikov](https://github.com/Igorbek)
* [:link:](jade/jade.d.ts) [jade](https://github.com/jadejs/jade) by [Panu Horsmalahti](https://github.com/panuhorsmalahti)
@@ -606,6 +651,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts) [Jasmine Data Driven Tests](https://github.com/gburghardt/jasmine-data_driven_tests) by [Anthony MacKinnon](https://github.com/AnthonyMacKinnon)
* [:link:](jasmine-ajax/jasmine-ajax.d.ts) [jasmine-ajax](https://github.com/jasmine/jasmine-ajax) by [Louis Grignon](https://github.com/lgrignon)
* [:link:](jasmine-es6-promise-matchers/jasmine-es6-promise-matchers.d.ts) [jasmine-es6-promise-matchers](https://github.com/bvaughn/jasmine-es6-promise-matchers) by [Stephen Lautier](https://github.com/stephenlautier)
+* [:link:](jasmine-expect/jasmine-expect.d.ts) [jasmine-expect](https://github.com/JamieMason/Jasmine-Matchers) by [UserPixel](https://github.com/UserPixel)
* [:link:](jasmine-fixture/jasmine-fixture.d.ts) [Jasmine-fixture](https://github.com/searls/jasmine-fixture) by [Craig Brett](https://github.com/craigbrett17)
* [:link:](jasmine-jquery/jasmine-jquery.d.ts) [Jasmine-JQuery](https://github.com/velesin/jasmine-jquery) by [Gregor Stamac](https://github.com/gstamac)
* [:link:](jasmine-matchers/jasmine-matchers.d.ts) [jasmine-matchers](https://github.com/uxebu/jasmine-matchers) by [Bart van der Schoor](https://github.com/Bartvds)
@@ -614,6 +660,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](java-applet/java-applet.d.ts) [Java Applet](https://www.java.com) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](hooker/hooker.d.ts) [JavaScript Hooker](https://github.com/cowboy/javascript-hooker) by [Michael Zabka](https://github.com/misak113)
* [:link:](oauth.js/oauth.js.d.ts) [JavaScript software for implementing an OAuth consumer](https://code.google.com/p/oauth) by [NOBUOKA Yu](https://github.com/nobuoka)
+* [:link:](javascript-bignum/javascript-bignum.d.ts) [javascript-bignum](https://github.com/jtobey/javascript-bignum) by [Nathan Shively-Sanders](https://github.com/sandersn)
* [:link:](jbinary/jbinary.d.ts) [jBinary](https://github.com/jDataView/jBinary) by [Tim Bureck](https://github.com/tbureck)
* [:link:](jdataview/jdataview.d.ts) [jDataView](https://github.com/jDataView/jDataView) by [Ingvar Stepanyan](https://github.com/RReverser)
* [:link:](jest/jest.d.ts) [Jest](http://facebook.github.io/jest) by [Asana](https://asana.com)
@@ -621,7 +668,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jjve/jjve.d.ts) [JJVE](https://github.com/silas/jjve) by [Wim Looman](https://github.com/Nemo157)
* [:link:](joData/joData.d.ts) [joData](https://github.com/mccow002/joData) by [Chris Wrench](https://github.com/cgwrench)
* [:link:](johnny-five/johnny-five.d.ts) [johnny-five](https://github.com/rwaldron/johnny-five) by [Toshiya Nakakura](https://github.com/nakakura)
-* [:link:](joi/joi.d.ts) [joi](https://github.com/spumko/joi) by [Bart van der Schoor](https://github.com/Bartvds), [Laurence Dougal Myers](https://github.com/laurence-myers), [Christopher Glantschnig](https://github.com/cglantschnig)
+* [:link:](joi/joi.d.ts) [joi](https://github.com/spumko/joi) by [Bart van der Schoor](https://github.com/Bartvds), [Laurence Dougal Myers](https://github.com/laurence-myers), [Christopher Glantschnig](https://github.com/cglantschnig), [David Broder-Rodgers](https://github.com/DavidBR-SW)
* [:link:](jointjs/jointjs.d.ts) [Joint JS](http://www.jointjs.com) by [Aidan Reel](http://github.com/areel), [David Durman](http://github.com/DavidDurman), [Ewout Van Gossum](https://github.com/DenEwout)
* [:link:](jqrangeslider/jqrangeslider.d.ts) [jQRangeSlider](http://ghusse.github.com/jQRangeSlider) by [Dániel Tar](https://github.com/qcz)
* [:link:](jquery/jquery.d.ts) [jQuery 1.10.x / 2.0.x](http://jquery.com) by [Boris Yankov](https://github.com/borisyankov), [Christian Hoffmeister](https://github.com/choffmeister), [Steve Fenton](https://github.com/Steve-Fenton), [Diullei Gomes](https://github.com/Diullei), [Tass Iliopoulos](https://github.com/tasoili), [Jason Swearingen](https://github.com/jasons-novaleaf), [Sean Hill](https://github.com/seanski), [Guus Goossens](https://github.com/Guuz), [Kelly Summerlin](https://github.com/ksummerlin), [Basarat Ali Syed](https://github.com/basarat), [Nicholas Wolverson](https://github.com/nwolverson), [Derek Cicerone](https://github.com/derekcicerone), [Andrew Gaspar](https://github.com/AndrewGaspar), [James Harrison Fisher](https://github.com/jameshfisher), [Seikichi Kondo](https://github.com/seikichi), [Benjamin Jackman](https://github.com/benjaminjackman), [Poul Sorensen](https://github.com/s093294), [Josh Strobl](https://github.com/JoshStrobl), [John Reilly](https://github.com/johnnyreilly), [Dick van den Brink](https://github.com/DickvdBrink)
@@ -637,6 +684,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jquery.joyride/jquery.joyride.d.ts) [jQuery JoyRide Plugin](https://github.com/zurb/joyride) by [Vincent Bortone](https://github.com/vbortone)
* [:link:](jqgrid/jqgrid.d.ts) [jQuery jqgrid Plugin](https://github.com/tonytomov/jqGrid) by [Lokesh Peta](https://github.com/lokeshpeta)
* [:link:](jquery-knob/jquery-knob.d.ts) [jQuery Knob](http://anthonyterrien.com/knob) by [Iain Buchanan](https://github.com/iain8)
+* [:link:](jquery.mmenu/jquery.mmenu.d.ts) [jQuery mmenu](http://mmenu.frebsite.nl) by [John Gouigouix](https://github.com/orchestra-ts/DefinitelyTyped)
* [:link:](jquerymobile/jquerymobile.d.ts) [jQuery Mobile](http://jquerymobile.com) by [Boris Yankov](https://github.com/borisyankov)
* [:link:](jquery.notifyBar/jquery.notifyBar.d.ts) [jQuery Notify Bar](http://www.whoop.ee/posts/2013-04-05-the-resurrection-of-jquery-notify-bar) by [Shunsuke Ohtani](https://github.com/zaneli)
* [:link:](jquery.base64/jquery.base64.d.ts) [jQuery Plugin - base64 codec](https://github.com/yatt/jquery.base64) by [Shinya Mochizuki](https://github.com/enrapt-mochizuki)
@@ -688,6 +736,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jquery.placeholder/jquery.placeholder.d.ts) [jquery.placeholder.js](https://github.com/mathiasbynens/jquery-placeholder) by [Peter Gill](https://github.com/majorsilence), [Neil Culver](https://github.com/EnableSoftware)
* [:link:](jquery.pnotify/jquery.pnotify.d.ts) [jquery.pnotify 2.x](https://github.com/sciactive/pnotify) by [David Sichau](https://github.com/DavidSichau)
* [:link:](jquery.qrcode/jquery.qrcode.d.ts) [jQuery.qrcode](https://github.com/lrsjng/jquery-qrcode) by [Dan Manastireanu](https://github.com/danmana)
+* [:link:](raty/raty.d.ts) [jQuery.raty](https://github.com/wbotelhos/raty) by [Matt Wheatley](http://github.com/terrawheat)
* [:link:](jquery.scrollTo/jquery.scrollTo.d.ts) [jQuery.scrollTo.js](https://github.com/flesler/jquery.scrollTo) by [Neil Stalker](https://github.com/nestalk)
* [:link:](form-serializer/form-serializer.d.ts) [jquery.serialize-object](https://github.com/macek/jquery-serialize-object) by [Florian Wagner](https://github.com/flqw)
* [:link:](jquery.simulate/jquery.simulate.d.ts) [jquery.simulate.js](https://github.com/jquery/jquery-simulate) by [Derek Cicerone](https://github.com/derekcicerone)
@@ -704,8 +753,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jquery.total-storage/jquery.total-storage.d.ts) [jQueryTotalStorage](https://github.com/Upstatement/jquery-total-storage) by [Jeremy Brooks](https://github.com/JeremyCBrooks)
* [:link:](jqueryui/jqueryui.d.ts) [jQueryUI](http://jqueryui.com) by [Boris Yankov](https://github.com/borisyankov), [John Reilly](https://github.com/johnnyreilly)
* [:link:](js-beautify/js-beautify.d.ts) [js_beautify](https://github.com/beautify-web/js-beautify) by [Josh Goldberg](https://github.com/JoshuaKGoldberg)
-* [:link:](js-cookie/js-cookie.d.ts) [js-cookie](https://github.com/js-cookie/js-cookie) by [Theodore Brown](https://github.com/theodorejb)
+* [:link:](js-combinatorics/js-combinatorics.d.ts) [js-combinatorics](https://github.com/dankogai/js-combinatorics) by [Vasya Aksyonov](https://github.com/outring)
+* [:link:](js-combinatorics/js-combinatorics-global.d.ts) [js-combinatorics (global)](https://github.com/dankogai/js-combinatorics) by [Vasya Aksyonov](https://github.com/outring)
* [:link:](ua-parser-js/ua-parser-js.d.ts) [js-cookie](https://github.com/faisalman/ua-parser-js) by [Viktor Miroshnikov](https://github.com/superduper)
+* [:link:](js-cookie/js-cookie.d.ts) [js-cookie](https://github.com/js-cookie/js-cookie) by [Theodore Brown](https://github.com/theodorejb)
* [:link:](js-fixtures/fixtures.d.ts) [js-fixtures](https://github.com/badunk/js-fixtures) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid)
* [:link:](js-git/js-git.d.ts) [js-git](https://github.com/creationix/js-git) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](js-md5/md5.d.ts) [js-md5](https://github.com/emn178/js-md5) by [Roland Greim](https://github.com/tigerxy)
@@ -736,17 +787,20 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jsonwebtoken/jsonwebtoken.d.ts) [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) by [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](jsplumb/jquery.jsPlumb.d.ts) [jsPlumb 1.3.16 jQuery adapter](http://jsplumb.org) by [Steve Shearn](https://github.com/shearnie)
* [:link:](jsrender/jsrender.d.ts) [JsRender](http://www.jsviews.com/#jsrender) by [Kensuke Matsuzaki](https://github.com/zakki)
-* [:link:](jssha/jssha.d.ts) [jsSHA](https://github.com/Caligatio/jsSHA) by [David Li](https://github.com/randombk)
+* [:link:](jssha/jssha.d.ts) [jsSHA](https://github.com/Caligatio/jsSHA) by [David Li](https://github.com/randombk), [Tobias Kahlert](https://github.com/SrTobi)
* [:link:](jstorage/jstorage.d.ts) [jStorage](http://www.jstorage.info) by [Danil Flores](https://github.com/dflor003)
* [:link:](jstree/jstree.d.ts) [jsTree](http://www.jstree.com) by [Adam Pluciński](https://github.com/adaskothebeast)
* [:link:](jsts/jsts.d.ts) [jsts](https://github.com/bjornharrtell/jsts) by [Stephane Alie](https://github.com/StephaneAlie)
* [:link:](jsuri/jsuri.d.ts) [jsUri](https://github.com/derek-watson/jsUri) by [Chris Charabaruk](http://github.com/coldacid), [Florian Wagner](http://github.com/flqw)
+* [:link:](jsurl/jsurl.d.ts) [jsurl](https://github.com/Mikhus/jsurl) by [Alexey Gorshkov](https://github.com/agorshkov23)
* [:link:](jszip/jszip.d.ts) [JSZip](http://stuk.github.com/jszip) by [mzeiher](https://github.com/mzeiher)
* [:link:](jug/jug.d.ts) [jug](https://github.com/kaiquewdev/Graph) by [yevt](https://github.com/yevt)
* [:link:](jwplayer/jwplayer.d.ts) [JW Player](http://developer.longtailvideo.com/trac) by [Martin Duparc](https://github.com/martinduparc)
+* [:link:](jwt-decode/jwt-decode.d.ts) [jwt-decode](https://github.com/auth0/jwt-decode) by [Giedrius Grabauskas](https://github.com/QuatroDevOfficial)
* [:link:](jwt-simple/jwt-simple.d.ts) [jwt-simple](https://github.com/hokaccha/node-jwt-simple) by [Ken Fukuyama](https://github.com/kenfdev)
* [:link:](kafka-node/kafka-node.d.ts) [kafka-node](https://github.com/SOHU-Co/kafka-node) by [Daniel Imrie-Situnayake](https://github.com/dansitu)
* [:link:](karma/karma.d.ts) [karma](https://github.com/karma-runner/karma) by [Tanguy Krotoff](https://github.com/tkrotoff)
+* [:link:](karma-coverage/karma-coverage.d.ts) [karma-coverage](https://github.com/karma-runner/karma-coverage) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](karma-jasmine/karma-jasmine.d.ts) [karma-jasmine plugin](https://github.com/karma-runner/karma-jasmine) by [Michel Salib](https://github.com/michelsalib)
* [:link:](katex/katex.d.ts) [KaTeX v.0.5.0](http://khan.github.io/KaTeX) by [Michael Randolph](https://github.com/mrand01)
* [:link:](kefir/kefir.d.ts) [Kefir](http://rpominov.github.io/kefir) by [Aya Morisawa](https://github.com/AyaMorisawa)
@@ -754,6 +808,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](keyboardjs/keyboardjs.d.ts) [KeyboardJS](https://github.com/RobertWHurst/KeyboardJS) by [Vincent Bortone](https://github.com/vbortone)
* [:link:](keymaster/keymaster.d.ts) [keymaster](https://github.com/madrobby/keymaster) by [Martin W. Kirst](https://github.com/nitram509)
* [:link:](keypress/keypress.d.ts) [Keypress](https://github.com/dmauro/Keypress) by [Roger Chen](https://github.com/rcchen)
+* [:link:](keytar/keytar.d.ts) [keytar](http://atom.github.io/node-keytar) by [Milan Burda](https://github.com/miniak)
* [:link:](kii-cloud-sdk/kii-cloud-sdk.d.ts) [Kii Cloud SDK](http://en.kii.com) by [Kii Consortium](http://jp.kii.com/consortium)
* [:link:](kineticjs/kineticjs.d.ts) [KineticJS](http://kineticjs.com) by [Basarat Ali Syed](http://www.github.com/basarat), [Ralph de Ruijter](http://www.superdopey.nl/techblog)
* [:link:](knex/knex.d.ts) [Knex.js](https://github.com/tgriesser/knex) by [Qubo](https://github.com/tkQubo)
@@ -792,9 +847,12 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](leapmotionTS/LeapMotionTS.d.ts) [Leap Motion TS](https://github.com/logotype/LeapMotionTS) by [Victor Norgren](https://github.com/logotype)
* [:link:](less/less.d.ts) [LESS](http://lesscss.org) by [Tom Hasner](https://github.com/thasner)
* [:link:](less-middleware/less-middleware.d.ts) [less-middleware](https://github.com/emberfeather/less.js-middleware) by [Federico Bond](https://github.com/federicobond)
+* [:link:](lestate/lestate.d.ts) [LeState](https://github.com/LeTools/LeState) by [Hadrian Oliveira](https://github.com/thelambdaparty)
* [:link:](level-sublevel/level-sublevel.d.ts) [level-sublevel](https://github.com/dominictarr/level-sublevel) by [Bas Pennings](https://github.com/basp)
* [:link:](levelup/levelup.d.ts) [LevelUp](https://github.com/rvagg/node-levelup) by [Bret Little](https://github.com/blittle)
* [:link:](libxmljs/libxmljs.d.ts) [Libxmljs](https://github.com/polotek/libxmljs) by [François de Campredon](https://github.com/fdecampredon)
+* [:link:](lwip/lwip.d.ts) [Light-weight image processor](https://github.com/EyalAr/lwip) by [Aya Morisawa](https://github.com/AyaMorisawa)
+* [:link:](lime-js/lime-js.d.ts) [lime-js](https://github.com/takenet/lime-js) by [Arthur Xavier](https://github.com/arthur-xavier)
* [:link:](line-reader/line-reader.d.ts) [line-reader](https://github.com/nickewing/line-reader) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](dustjs-linkedin/dustjs-linkedin.d.ts) [linkedin dustjs](https://github.com/linkedin/dustjs) by [Marcelo Dezem](http://github.com/mdezem)
* [:link:](linq/linq.jquery.d.ts) [linq.jquery (from linq.js)](http://linqjs.codeplex.com) by [neuecc](http://www.codeplex.com/site/users/view/neuecc)
@@ -802,6 +860,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](linqsharp/linqsharp.d.ts) [linqsharp](https://www.npmjs.com/package/linqsharp) by [Bruno Leonardo Michels](https://github.com/brunolm)
* [:link:](jquery.livestampjs/jquery.livestampjs.d.ts) [Livestamp.js](http://mattbradley.github.com/livestampjs) by [Vincent Bortone](https://github.com/vbortone)
* [:link:](lodash/lodash.d.ts) [Lo-Dash](http://lodash.com) by [Brian Zengel](https://github.com/bczengel), [Ilya Mochalov](https://github.com/chrootsu)
+* [:link:](lobibox/lobibox.d.ts) [lobibox](https://github.com/arboshiki/lobibox) by [Sabeeh Ul Hussnain](https://github.com/itboy87)
* [:link:](lockfile/lockfile.d.ts) [lockfile](https://github.com/isaacs/lockfile) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](lodash-decorators/lodash-decorators.d.ts) [lodash-decorators](https://github.com/steelsojka/lodash-decorators) by [Qubo](https://github.com/tkqubo)
* [:link:](log4javascript/log4javascript.d.ts) [log4javascript](http://log4javascript.org) by [Markus Wagner](https://github.com/Ritzlgrmft)
@@ -812,7 +871,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](logrotate-stream/logrotate-stream.d.ts) [logrotate-stream](https://github.com/dstokes/logrotate-stream) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](lokijs/lokijs.d.ts) [lokijs](https://github.com/techfort/LokiJS) by [TeamworkGuy2](https://github.com/TeamworkGuy2)
* [:link:](lolex/lolex.d.ts) [lolex](https://github.com/sinonjs/lolex) by [Wim Looman](https://github.com/Nemo157)
-* [:link:](long/long.d.ts) [Long.js](https://github.com/dcodeIO/Long.js) by [Peter Kooijmans](https://github.com/peterkooijmans)
+* [:link:](long/long.d.ts) [long.js](https://github.com/dcodeIO/long.js) by [Peter Kooijmans](https://github.com/peterkooijmans)
* [:link:](lory.js/lory.js.d.ts) [lory](https://github.com/meandmax/lory) by [kubosho](https://github.com/kubosho)
* [:link:](lovefield/lovefield.d.ts) [Lovefield](http://google.github.io/lovefield) by [freshp86](https://github.com/freshp86)
* [:link:](lower-case/lower-case.d.ts) [lower-case](https://github.com/blakeembrey/lower-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
@@ -836,6 +895,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](mariasql/mariasql.d.ts) [mariasql](https://github.com/mscdex/node-mariasql) by [MichaelBennett](https://github.com/bennett000)
* [:link:](marionette/marionette.d.ts) [Marionette](https://github.com/marionettejs) by [Zeeshan Hamid](https://github.com/zhamid), [Natan Vivo](https://github.com/nvivo), [Sven Tschui](https://github.com/sventschui)
* [:link:](marked/marked.d.ts) [Marked](https://github.com/chjj/marked) by [William Orr](https://github.com/worr)
+* [:link:](ngwysiwyg/ngwysiwyg.d.ts) [Marked](https://github.com/psergus/ngWYSIWYG) by [Patrick Mac Kay](https://github.com/patrick-mackay)
* [:link:](markerclustererplus/markerclustererplus.d.ts) [MarkerClustererPlus for Google Maps V3](http://github.com/mahnunchik/markerclustererplus) by [Mathias Rodriguez](http://github.com/enanox)
* [:link:](markitup/markitup.d.ts) [markitup 1.x](https://github.com/markitup/1.x) by [drillbits](https://github.com/drillbits)
* [:link:](maskedinput/maskedinput.d.ts) [Masked Input plugin for jQuery](http://digitalbush.com/projects/masked-input-plugin) by [Lokesh Peta](https://github.com/lokeshpeta)
@@ -881,21 +941,24 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](mixto/mixto.d.ts) [mixto](https://github.com/atom/mixto) by [vvakame](https://github.com/vvakame)
* [:link:](mkdirp/mkdirp.d.ts) [mkdirp](http://github.com/substack/node-mkdirp) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](mkpath/mkpath.d.ts) [mkpath](https://www.npmjs.com/package/mkpath) by [Jared Klopper](https://github.com/optical)
+* [:link:](mmmagic/mmmagic.d.ts) [mmmagic](https://github.com/mscdex/mmmagic) by [Andrei Sebastian Cîmpean](http://andreime.com)
* [:link:](mobile-detect/mobile-detect.d.ts) [mobile-detect](http://hgoebl.github.io/mobile-detect.js) by [Martin McWhorter](https://github.com/martinmcwhorter)
-* [:link:](mobservable-react/mobservable-react.d.ts) [mobservable](https://github.com/mweststrate/mobservable-react) by [Michel Weststrate](https://github.com/mweststrate)
* [:link:](mobservable/mobservable.d.ts) [mobservable](https://mweststrate.github.io/mobservable) by [Michel Weststrate](https://github.com/mweststrate)
+* [:link:](mobservable-react/mobservable-react.d.ts) [mobservable](https://github.com/mweststrate/mobservable-react) by [Michel Weststrate](https://github.com/mweststrate)
* [:link:](mocha/mocha.d.ts) [mocha](http://mochajs.org) by [Kazi Manzur Rashid](https://github.com/kazimanzurrashid), [otiai10](https://github.com/otiai10), [jt000](https://github.com/jt000), [Vadim Macagon](https://github.com/enlight)
* [:link:](mocha/mocha-node.d.ts) [mocha](http://mochajs.org) by [Vadim Macagon](https://github.com/enlight), [vvakame](https://github.com/vvakame)
* [:link:](mocha-phantomjs/mocha-phantomjs.d.ts) [mocha-phantomjs](http://metaskills.net/mocha-phantomjs) by [Erik Schierboom](https://github.com/ErikSchierboom)
* [:link:](mock-fs/mock-fs.d.ts) [mock-fs](https://github.com/tschaub/mock-fs) by [Wim Looman](https://github.com/Nemo157)
* [:link:](mockery/mockery.d.ts) [mockery](https://github.com/mfncooper/mockery) by [jt000](https://github.com/jt000)
-* [:link:](modernizr/modernizr.d.ts) [Modernizr](http://modernizr.com) by [Boris Yankov](https://github.com/borisyankov), [Theodore Brown](https://github.com/theodorejb)
+* [:link:](modernizr/modernizr.d.ts) [Modernizr](http://modernizr.com) by [Boris Yankov](https://github.com/borisyankov), [Theodore Brown](https://github.com/theodorejb), [Leon Yu](https://github.com/leonyu)
* [:link:](moment-timezone/moment-timezone.d.ts) [moment-timezone.js](http://momentjs.com/timezone) by [Michel Salib](https://github.com/michelsalib)
-* [:link:](moment/moment.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware)
-* [:link:](moment/moment-node.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware)
* [:link:](moment-range/moment-range.d.ts) [Moment.js](https://github.com/gf3/moment-range) by [Bart van den Burg](https://github.com/Burgov), [Wilgert Velinga](https://github.com/wilgert)
+* [:link:](moment/moment-node.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware)
+* [:link:](moment/moment.d.ts) [Moment.js](https://github.com/timrwood/moment) by [Michael Lakerveld](https://github.com/Lakerfield), [Aaron King](https://github.com/kingdango), [Hiroki Horiuchi](https://github.com/horiuchi), [Dick van den Brink](https://github.com/DickvdBrink), [Adi Dahiya](https://github.com/adidahiya), [Matt Brooks](https://github.com/EnableSoftware)
* [:link:](mongodb/mongodb.d.ts) [MongoDB](https://github.com/mongodb/node-mongodb-native) by [Boris Yankov](https://github.com/borisyankov)
* [:link:](mongoose/mongoose.d.ts) [Mongoose](http://mongoosejs.com) by [horiuchi](https://github.com/horiuchi)
+* [:link:](mongoose-auto-increment/mongoose-auto-increment.d.ts) [mongoose-auto-increment](https://github.com/codetunnel/mongoose-auto-increment) by [Aya Morisawa](https://github.com/AyaMorisawa)
+* [:link:](mongoose-deep-populate/mongoose-deep-populate.d.ts) [mongoose-deep-populate](https://github.com/buunguyen/mongoose-deep-populate) by [Aya Morisawa](https://github.com/AyaMorisawa)
* [:link:](mongoose-mock/mongoose-mock.d.ts) [mongoose-mock](https://github.com/JohanObrink/mongoose-mock) by [jt000](https://github.com/jt000)
* [:link:](morgan/morgan.d.ts) [morgan](https://github.com/expressjs/morgan) by [James Roland Cabresos](https://github.com/staticfunction)
* [:link:](mousetrap/mousetrap-global-bind.d.ts) [Mousetrap 1.4.6's global-bind extension](http://craig.is/killing/mice#extensions.global) by [Andrew Bradley](https://github.com/cspotcode)
@@ -910,7 +973,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](msportalfx-test/msportalfx-test.d.ts) [msportalfx-test](https://msazure.visualstudio.com/DefaultCollection/AzureUX/_git/portalfx-msportalfx-test) by [Julio Casal](https://github.com/julioct)
* [:link:](mssql/mssql.d.ts) [mssql](https://www.npmjs.com/package/mssql) by [COLSA Corporation](http://www.colsa.com), [Ben Farr](https://github.com/jaminfarr)
* [:link:](mu2/mu2.d.ts) [mu2](http://github.com/raycmorgan/mu) by [Jeff Goddard](https://github.com/jedigo)
-* [:link:](multer/multer.d.ts) [multer](https://github.com/expressjs/multer) by [jt000](https://github.com/jt000), [vilicvane](https://vilic.github.io)
+* [:link:](multer/multer.d.ts) [multer](https://github.com/expressjs/multer) by [jt000](https://github.com/jt000), [vilicvane](https://vilic.github.io), [David Broder-Rodgers](https://github.com/DavidBR-SW)
* [:link:](multiplexjs/multiplexjs.d.ts) [Multiplex.js](http://github.com/multiplex/multiplex.js) by [Kamyar Nazeri](http://github.com/KamyarNazeri)
* [:link:](mustache/mustache.d.ts) [Mustache](https://github.com/janl/mustache.js) by [Mark Ashley Bell](https://github.com/markashleybell)
* [:link:](natural/natural.d.ts) [Natural](https://github.com/NaturalNode/natural) by [Dylan R. E. Moonfire](https://github.com/dmoonfire)
@@ -925,23 +988,30 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](ng-flow/ng-flow.d.ts) [ng-flow](https://github.com/flowjs/ng-flow) by [Ryan McNamara](https://github.com/ryan10132)
* [:link:](ng-grid/ng-grid.d.ts) [ng-grid](http://angular-ui.github.io/ng-grid) by [Ken Smith](https://github.com/smithkl42), [Roland Zwaga](https://github.com/rolandzwaga), [Kent Cooper](https://github.com/kentcooper)
* [:link:](angular-idle/angular-idle.d.ts) [ng-idle](http://hackedbychinese.github.io/ng-idle) by [mthamil](https://github.com/mthamil)
+* [:link:](ng-notify/ng-notify.d.ts) [ng-notify](https://github.com/matowens/ng-notify) by [Nick Zamosenchuk](https://github.com/nzamosenchuk)
* [:link:](ngbootbox/ngbootbox.d.ts) [ngbootbox](https://github.com/eriktufvesson/ngBootbox) by [Sam Saint-Pettersen](https://github.com/stpettersens)
+* [:link:](ng-cordova/actionSheet.d.ts) [ngCordova Action Sheet plugin](https://github.com/driftyco/ng-cordova) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing)
* [:link:](ng-cordova/appAvailability.d.ts) [ngCordova AppAvailability plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
-* [:link:](ng-cordova/datepicker.d.ts) [ngCordova datepicker plugin](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker) by [Jacques Kang](https://www.linkedin.com/in/jacqueskang)
+* [:link:](ng-cordova/badge.d.ts) [ngCordova badge plugin](https://github.com/driftyco/ng-cordova) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing)
* [:link:](ng-cordova/app-version.d.ts) [ngCordova datepicker plugin](https://github.com/driftyco/ng-cordova) by [Jacques Kang](https://www.linkedin.com/in/jacqueskang)
+* [:link:](ng-cordova/datepicker.d.ts) [ngCordova datepicker plugin](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker) by [Jacques Kang](https://www.linkedin.com/in/jacqueskang)
* [:link:](ng-cordova/deviceMotion.d.ts) [ngCordova device motion plugin](https://github.com/driftyco/ng-cordova) by [Michel Vidailhet](https://github.com/mvidailhet), [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/deviceOrientation.d.ts) [ngCordova device orientation plugin](https://github.com/driftyco/ng-cordova) by [Michel Vidailhet](https://github.com/mvidailhet), [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/device.d.ts) [ngCordova device plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/dialogs.d.ts) [ngCordova dialogs plugin](https://github.com/driftyco/ng-cordova) by [Michel Vidailhet](https://github.com/mvidailhet), [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/emailComposer.d.ts) [ngCordova emailComposer plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
+* [:link:](ng-cordova/file.d.ts) [ngCordova file plugin](https://github.com/driftyco/ng-cordova) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing)
+* [:link:](ng-cordova/fileTransfer.d.ts) [ngCordova file-transfer plugin](https://github.com/driftyco/ng-cordova) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing)
* [:link:](ng-cordova/geolocation.d.ts) [ngCordova geolocation plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/network.d.ts) [ngCordova network plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/tsd.d.ts) [ngCordova plugins](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
* [:link:](ng-cordova/toast.d.ts) [ngCordova toast plugin](https://github.com/driftyco/ng-cordova) by [Kapil Sachdeva](https://github.com/ksachdeva)
+* [:link:](ng-cordova/camera.d.ts) [ngCordova.plugins.camera](https://github.com/driftyco/ng-cordova) by [Jacques Kang](https://www.linkedin.com/in/jacqueskang)
* [:link:](ng-dialog/ng-dialog.d.ts) [ngDialog](https://github.com/likeastore/ngDialog) by [Stephen Lautier](https://github.com/stephenlautier)
* [:link:](ngkookies/ngkookies.d.ts) [ngKookes](https://github.com/voronianski/ngKookies) by [Martin McWhorter](https://github.com/martinmcwhorter)
* [:link:](ngprogress/ngprogress.d.ts) [ngProgress](http://victorbjelkholm.github.io/ngProgress) by [Martin McWhorter](https://github.com/martinmcwhorter)
* [:link:](ngprogress-lite/ngprogress-lite.d.ts) [ngprogress-lite](https://github.com/voronianski/ngprogress-lite) by [Luke Forder](https://github.com/LukeForder)
+* [:link:](ng-stomp/ng-stomp.d.ts) [ngStomp](https://github.com/beevelop/ng-stomp) by [Lukasz Potapczuk](https://github.com/lpotapczuk)
* [:link:](nightmare/nightmare.d.ts) [Nightmare](https://github.com/segmentio/nightmare) by [horiuchi](https://github.com/horiuchi)
* [:link:](noble/noble.d.ts) [noble](https://github.com/sandeepmistry/noble) by [Seon-Wook Park](https://github.com/swook)
* [:link:](nock/nock.d.ts) [nock](https://github.com/pgte/nock) by [bonnici](https://github.com/bonnici)
@@ -959,6 +1029,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](config/config.d.ts) [node-config](https://github.com/lorenwest/node-config) by [Roman Korneev](https://github.com/RWander)
* [:link:](node-config-manager/node-config-manager.d.ts) [node-config-manager](https://www.npmjs.com/package/node-config-manager) by [TANAKA Koichi](https://gitnub.com/mugeso)
* [:link:](convict/convict.d.ts) [node-convict](https://github.com/mozilla/node-convict) by [Wim Looman](https://github.com/Nemo157)
+* [:link:](node-dir/node-dir.d.ts) [node-dir](https://github.com/fshost/node-dir) by [Panu Horsmalahti](https://github.com/panuhorsmalahti)
+* [:link:](email-templates/email-templates.d.ts) [node-email-templates](https://github.com/niftylettuce/node-email-templates) by [Cyril Schumacher](https://github.com/cyrilschumacher)
* [:link:](node-ffi/node-ffi.d.ts) [node-ffi](https://github.com/rbranson/node-ffi) by [Paul Loyd](https://github.com/loyd)
* [:link:](node-fibers/node-fibers.d.ts) [node-fibers](https://github.com/laverdet/node-fibers) by [Cary Haynie](https://github.com/caryhaynie)
* [:link:](node-form/node-form.d.ts) [node-form](https://github.com/rsamec/form) by [Roman Samec](https://github.com/rsamec)
@@ -980,10 +1052,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](node-slack/node-slack.d.ts) [node-slack](https://github.com/xoxco/node-slack) by [Qubo](https://github.com/tkQubo)
* [:link:](srp/srp.d.ts) [node-srp](https://github.com/mozilla/node-srp) by [Pat Smuk](https://github.com/Patman64)
* [:link:](stack-trace/stack-trace.d.ts) [node-stack-trace](https://github.com/felixge/node-stack-trace) by [Exceptionless](https://github.com/exceptionless)
-* [:link:](node-uuid/node-uuid-base.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
* [:link:](node-uuid/node-uuid-cjs.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
-* [:link:](node-uuid/node-uuid-global.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
+* [:link:](node-uuid/node-uuid-base.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
* [:link:](node-uuid/node-uuid.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
+* [:link:](node-uuid/node-uuid-global.d.ts) [node-uuid.js](https://github.com/broofa/node-uuid) by [Jeff May](https://github.com/jeffmay)
* [:link:](node-validator/node-validator.d.ts) [node-validator](https://www.npmjs.com/package/node-validator) by [Ken Gorab](https://github.com/kengorab)
* [:link:](node-webkit/node-webkit.d.ts) [node-webkit](https://github.com/rogerwang/node-webkit) by [Pedro Casaubon](https://github.com/xperiments)
* [:link:](xml2js/xml2js.d.ts) [node-xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) by [Michel Salib](https://github.com/michelsalib), [Jason McNeil](https://github.com/jasonrm)
@@ -991,6 +1063,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](restify/restify.d.ts) [node.js REST framework](https://github.com/mcavage/node-restify) by [Bret Little](https://github.com/blittle)
* [:link:](node/node.d.ts) [Node.js v4.x](http://nodejs.org) by [Microsoft TypeScript](http://typescriptlang.org), [DefinitelyTyped](https://github.com/borisyankov/DefinitelyTyped)
* [:link:](each/each.d.ts) [NodeEach](http://www.adaltas.com/projects/node-each) by [Michael Zabka](https://github.com/misak113)
+* [:link:](yandex-money-sdk/yandex-money-sdk.d.ts) [NodeJS Yandex.Money API SDK](https://github.com/yandex-money/yandex-money-sdk-nodejs) by [Ilya Mochalov](https://github.com/chrootsu)
* [:link:](nodemailer/nodemailer.d.ts) [Nodemailer](https://github.com/andris9/Nodemailer) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](nodemailer/nodemailer-types.d.ts) [Nodemailer](https://github.com/andris9/Nodemailer) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](nodemailer-direct-transport/nodemailer-direct-transport.d.ts) [nodemailer-direct-transport](https://github.com/andris9/nodemailer-direct-transport) by [Rogier Schouten](https://github.com/rogierschouten)
@@ -1000,8 +1073,8 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](nodeunit/nodeunit.d.ts) [nodeunit](https://github.com/caolan/nodeunit) by [Jeff Goddard](https://github.com/jedigo)
* [:link:](nomnom/nomnom.d.ts) [nomnom](https://github.com/harthur/nomnom) by [Paul Vick](https://github.com/panopticoncentral)
* [:link:](nopt/nopt.d.ts) [nopt](https://github.com/npm/nopt) by [jbondc](https://github.com/jbondc)
-* [:link:](notifyjs/notifyjs.d.ts) [notify.js](https://github.com/alexgibson/notify.js) by [soundTricker](https://github.com/soundTricker)
* [:link:](notify/notify.d.ts) [Notify.js](https://github.com/jpillora/notifyjs) by [Xiaohan Zhang](https://github.com/hellochar)
+* [:link:](notifyjs/notifyjs.d.ts) [notify.js](https://github.com/alexgibson/notify.js) by [soundTricker](https://github.com/soundTricker)
* [:link:](wnumb/wnumb.d.ts) [nouislider](https://github.com/leongersen/wnumb) by [Corey Jepperson](https://github.com/acoreyj)
* [:link:](nouislider/nouislider.d.ts) [nouislider](https://github.com/leongersen/noUiSlider) by [Patrick Davies](https://github.com/bleuarg)
* [:link:](noVNC/noVNC.d.ts) [noVNC](https://github.com/kanaka/noVNC) by [Ken Smith](https://github.com/smithkl42)
@@ -1026,23 +1099,25 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](OpenJsCad/openjscad.d.ts) [OpenJsCad.js](https://github.com/joostn/OpenJsCad) by [Dan Marshall](https://github.com/danmarshall)
* [:link:](openlayers/openlayers.d.ts) [OpenLayers](http://openlayers.org) by [Wouter Goedhart](https://github.com/woutergd)
* [:link:](openpgp/openpgp.d.ts) [openpgpjs](http://openpgpjs.org) by [Guillaume Lacasa](https://blog.lacasa.fr)
-* [:link:](opn/opn.d.ts) [opn](https://github.com/sindresorhus/opn) by [Shinnosuke Watanabe](https://github.com/shinnn)
+* [:link:](opn/opn.d.ts) [opn](https://github.com/sindresorhus/opn) by [Shinnosuke Watanabe](https://github.com/shinnn), [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](optimist/optimist.d.ts) [optimist](https://github.com/substack/node-optimist) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](orchestrator/orchestrator.d.ts) [Orchestrator](https://github.com/orchestrator/orchestrator) by [Qubo](https://github.com/tkQubo)
* [:link:](os-locale/os-locale.d.ts) [os-locale](https://github.com/sindresorhus/os-locale) by [Aya Morisawa](https://github.com/AyaMorisawa)
* [:link:](owlcarousel/owlcarousel.d.ts) [OwlCarousel v.1.3.3](https://github.com/OwlFonk/OwlCarousel) by [Damian Piątkowski](https://github.com/dpiatkowski)
+* [:link:](p2/p2.d.ts) [p2.js](https://github.com/schteppe/p2.js) by [Clark Stevenson](https://github.com/clark-stevenson)
* [:link:](packery/packery.d.ts) [Packery](http://packery.metafizzy.co) by [Piraveen Kamalathas from Kilix](https://github.com/piraveen)
* [:link:](page/page.d.ts) [page](http://visionmedia.github.io/page.js) by [Alan Norbauer](http://alan.norbauer.com)
+* [:link:](pako/pako.d.ts) [pako](https://github.com/nodeca/pako) by [Denis Cappellin](http://github.com/cappellin)
* [:link:](papaparse/papaparse.d.ts) [PapaParse](https://github.com/mholt/PapaParse) by [Pedro Flemming](https://github.com/torpedro)
* [:link:](parallel/parallel.d.ts) [parallel.js](http://adambom.github.io/parallel.js) by [Josh Baldwin](https://github.com/jbaldwin)
* [:link:](param-case/param-case.d.ts) [param-case](https://github.com/blakeembrey/param-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](parse/parse.d.ts) [Parse](https://parse.com) by [Ullisen Media Group](http://ullisenmedia.com)
-* [:link:](parsimmon/parsimmon.d.ts) [Parsimmon](https://github.com/jneen/parsimmon) by [Bart van der Schoor](https://github.com/Bartvds)
+* [:link:](parsimmon/parsimmon.d.ts) [Parsimmon](https://github.com/jneen/parsimmon) by [Bart van der Schoor](https://github.com/Bartvds), [Mizunashi Mana](https://github.com/mizunashi-mana)
* [:link:](pascal-case/pascal-case.d.ts) [pascal-case](https://github.com/blakeembrey/pascal-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](passport/passport.d.ts) [Passport](http://passportjs.org) by [Horiuchi_H](https://github.com/horiuchi)
* [:link:](passport-strategy/passport-strategy.d.ts) [Passport Strategy module](https://github.com/jaredhanson/passport-strategy) by [Lior Mualem](https://github.com/liorm)
-* [:link:](passport-facebook/passport-facebook.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction)
* [:link:](passport-google-oauth/passport-google-oauth.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction)
+* [:link:](passport-facebook/passport-facebook.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction)
* [:link:](passport-twitter/passport-twitter.d.ts) [passport-facebook](https://github.com/jaredhanson/passport-facebook) by [James Roland Cabresos](https://github.com/staticfunction)
* [:link:](passport-facebook-token/passport-facebook-token.d.ts) [passport-facebook-token](https://github.com/drudge/passport-facebook-token) by [Ray Martone](https://github.com/rmartone)
* [:link:](passport-local/passport-local.d.ts) [passport-local](https://github.com/jaredhanson/passport-local) by [Maxime LUCE](https://github.com/SomaticIT)
@@ -1085,6 +1160,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](poly2tri/poly2tri.d.ts) [poly2tri](http://github.com/r3mi/poly2tri.js) by [Elemar Junior](https://github.com/elemarjr)
* [:link:](polyline/polyline.d.ts) [Polyline](https://github.com/mapbox/polyline) by [Arseniy Maximov](https://github.com/Kern0)
* [:link:](polymer/polymer.d.ts) [polymer](https://github.com/Polymer/polymer) by [Louis Grignon](https://github.com/lgrignon), [Suguru Inatomi](https://github.com/laco0416)
+* [:link:](polymer-ts/polymer-ts.d.ts) [PolymerTS](https://github.com/nippur72/PolymerTS) by [Louis Grignon](https://github.com/lgrignon)
* [:link:](popcorn/popcorn.d.ts) [Popcorn](https://github.com/mozilla/popcorn-js) by [grapswiz](https://github.com/grapswiz)
* [:link:](postal/postal.d.ts) [Postal](https://github.com/postaljs/postal.js) by [Lokesh Peta](https://github.com/lokeshpeta), [Paul Jolly](https://github.com/myitcv)
* [:link:](pouchDB/pouch.d.ts) [Pouch](http://pouchdb.com) by [Bill Sears](https://github.com/MrBigDog2U)
@@ -1099,6 +1175,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](promise-pool/promise-pool.d.ts) [promise-pool](https://github.com/vilic/promise-pool) by [VILIC VANE](https://github.com/vilic)
* [:link:](promises-a-plus/promises-a-plus.d.ts) [promises-a-plus](http://promisesaplus.com) by [Igor Oleinikov](https://github.com/Igorbek)
* [:link:](protobufjs/protobufjs.d.ts) [ProtoBuf.js](https://github.com/dcodeIO/ProtoBuf.js) by [Panu Horsmalahti](https://github.com/panuhorsmalahti)
+* [:link:](protractor-http-mock/protractor-http-mock.d.ts) [protractor-http-mock](https://github.com/atecarlos/protractor-http-mock) by [Crevil](https://github.com/Crevil)
* [:link:](proxyquire/proxyquire.d.ts) [Proxyquire](https://github.com/thlorenz/proxyquire) by [jt000](https://github.com/jt000)
* [:link:](pty.js/pty.js.d.ts) [pty.js 0.2.7-1](https://github.com/chjj/pty.js) by [Vadim Macagon](https://github.com/enlight)
* [:link:](pubsubjs/pubsub.d.ts) [PubSubJS](https://github.com/mroderick/PubSubJS) by [Boris Yankov](https://github.com/borisyankov)
@@ -1110,6 +1187,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](qajax/qajax.d.ts) [Qajax](https://github.com/gre/qajax) by [Boltmade](https://github.com/Boltmade)
* [:link:](qs/qs.d.ts) [qs](https://github.com/hapijs/qs) by [Roman Korneev](https://github.com/RWander)
* [:link:](qtip2/qtip2.d.ts) [qtip2](http://qtip2.com) by [Nathan Pitman](https://github.com/Seltzer)
+* [:link:](query-string/query-string.d.ts) [query-string](https://github.com/sindresorhus/query-string) by [Sam Verschueren](https://github.com/SamVerschueren)
* [:link:](quixote/quixote.d.ts) [quixote](http://quixote-css.com) by [Aleksandr Filatov](https://github.com/greybax)
* [:link:](qunit/qunit.d.ts) [QUnit](http://qunitjs.com) by [Diullei Gomes](https://github.com/diullei)
* [:link:](qwest/qwest.d.ts) [qwest](https://github.com/pyrsmk/qwest) by [Lindsay Evans](https://github.com/lindsayevans)
@@ -1119,13 +1197,15 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](rangy/rangy.d.ts) [Rangy](https://github.com/timdown/rangy) by [Rudolph Gottesheim](http://www.midnight-design.at)
* [:link:](raphael/raphael.d.ts) [Raphael](http://raphaeljs.com) by [CheCoxshall](https://github.com/CheCoxshall)
* [:link:](rappid/rappid.d.ts) [Rappid](http://jointjs.com/about-rappid) by [Ewout Van Gossum](https://github.com/DenEwout)
+* [:link:](ratelimiter/ratelimiter.d.ts) [ratelimiter](https://github.com/tj/node-ratelimiter) by [Aya Morisawa](https://github.com/AyaMorisawa)
* [:link:](ravenjs/ravenjs.d.ts) [Raven.js](https://github.com/getsentry/raven-js) by [Santi Albo](https://github.com/santialbo)
* [:link:](raygun4js/raygun4js.d.ts) [raygun4js](https://github.com/MindscapeHQ/raygun4js) by [Brian Surowiec](https://github.com/xt0rted)
+* [:link:](rcloader/rcloader.d.ts) [rcloader](https://github.com/spalger/rcloader) by [Panu Horsmalahti](https://github.com/panuhorsmalahti)
* [:link:](react/react.d.ts) [React](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-global.d.ts) [React (namespace)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-addons-create-fragment.d.ts) [React (react-addons-create-fragment)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
-* [:link:](react/react-addons-shallow-compare.d.ts) [React (react-addons-css-transition-group)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-addons-css-transition-group.d.ts) [React (react-addons-css-transition-group)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
+* [:link:](react/react-addons-shallow-compare.d.ts) [React (react-addons-css-transition-group)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-addons-linked-state-mixin.d.ts) [React (react-addons-linked-state-mixin)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-addons-perf.d.ts) [React (react-addons-perf)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-addons-pure-render-mixin.d.ts) [React (react-addons-pure-render-mixin)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
@@ -1134,16 +1214,19 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](react/react-addons-update.d.ts) [React (react-addons-update)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react/react-dom.d.ts) [React (react-dom)](http://facebook.github.io/react) by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com)
* [:link:](react-dnd/react-dnd.d.ts) [React DnD](https://github.com/gaearon/react-dnd) by [Asana](https://asana.com)
-* [:link:](react-router/react-router.d.ts) [React Router](https://github.com/rackt/react-router) by [Yuichi Murata](https://github.com/mrk21), [Václav Ostrožlík](https://github.com/vasek17)
* [:link:](react-bootstrap/react-bootstrap.d.ts) [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) by [Walker Burgin](https://github.com/walkerburgin)
+* [:link:](react-datagrid/react-datagrid.d.ts) [react-datagrid](https://github.com/zippyui/react-datagrid.git) by [Stephen Jelfs](https://github.com/stephenjelfs)
* [:link:](react-day-picker/react-day-picker.d.ts) [react-day-picker](https://github.com/gpbl/react-day-picker) by [Giampaolo Bellavite](https://github.com/gpbl), [Jason Killian](https://github.com/jkillian)
* [:link:](react-dropzone/react-dropzone.d.ts) [react-dropzone](https://github.com/paramaggarwal/react-dropzone) by [Mathieu Larouche Dube](https://github.com/matdube)
+* [:link:](react-infinite/react-infinite.d.ts) [react-infinite](https://github.com/seatgeek/react-infinite) by [rhysd](https://github.com/rhysd)
* [:link:](react-input-calendar/react-input-calendar.d.ts) [react-input-calendar](https://github.com/Rudeg/react-input-calendar) by [Stepan Mikhaylyuk](https://github.com/stepancar)
* [:link:](react-intl/react-intl.d.ts) [react-intl](http://formatjs.io/react) by [Bruno Grieder](https://github.com/bgrieder), [Christian Droulers](https://github.com/cdroulers)
* [:link:](react-mixin/react-mixin.d.ts) [react-mixin](https://github.com/brigand/react-mixin) by [Qubo](https://github.com/tkqubo)
* [:link:](react-native/react-native.d.ts) [react-native](https://github.com/facebook/react-native) by [Bruno Grieder](https://github.com/bgrieder)
* [:link:](react-props-decorators/react-props-decorators.d.ts) [react-props-decorators](https://github.com/popkirby/react-props-decorators) by [Qubo](https://github.com/tkqubo)
* [:link:](react-redux/react-redux.d.ts) [react-redux](https://github.com/rackt/react-redux) by [Qubo](https://github.com/tkqubo)
+* [:link:](react-router/react-router.d.ts) [react-router](https://github.com/rackt/react-router) by [Sergey Buturlakin](http://github.com/sergey-buturlakin), [Yuichi Murata](https://github.com/mrk21), [Václav Ostrožlík](https://github.com/vasek17)
+* [:link:](react-select/react-select.d.ts) [react-select](https://github.com/JedWatson/react-select) by [ESQUIBET Hugo](https://github.com/Hesquibet)
* [:link:](react-spinkit/react-spinkit.d.ts) [react-spinkit](https://github.com/KyleAMathews/react-spinkit) by [Qubo](https://github.com/tkqubo)
* [:link:](react-swf/react-swf.d.ts) [react-swf](https://github.com/syranide/react-swf) by [Stepan Mikhaylyuk](https://github.com/stepancar)
* [:link:](read/read.d.ts) [read](https://github.com/isaacs/read) by [Tim JK](https://github.com/timjk)
@@ -1155,11 +1238,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](redux-action-utils/redux-action-utils.d.ts) [redux-action-utils](https://github.com/insin/redux-action-utils) by [Qubo](https://github.com/tkqubo)
* [:link:](redux-actions/redux-actions.d.ts) [redux-actions](https://github.com/acdlite/redux-actions) by [Jack Hsu](https://github.com/jaysoo)
* [:link:](redux-devtools/redux-devtools.d.ts) [redux-devtools](https://github.com/gaearon/redux-devtools) by [Qubo](https://github.com/tkqubo)
+* [:link:](redux-form/redux-form.d.ts) [redux-form](https://github.com/erikras/redux-form) by [Daniel Lytkin](https://github.com/aikoven)
* [:link:](redux-logger/redux-logger.d.ts) [redux-logger](https://github.com/fcomb/redux-logger) by [Alexander Rusakov](https://github.com/arusakov)
* [:link:](redux-thunk/redux-thunk.d.ts) [redux-thunk](https://github.com/gaearon/redux-thunk) by [Qubo](https://github.com/tkqubo)
-* [:link:](ref/ref.d.ts) [ref](https://github.com/TooTallNate/ref) by [Paul Loyd](https://github.com/loyd)
* [:link:](ref-array/ref-array.d.ts) [ref-array](https://github.com/TooTallNate/ref-array) by [Paul Loyd](https://github.com/loyd)
-* [:link:](ref-struct/ref-struct.d.ts) [ref-struct](https://github.com/TooTallNate/ref-struct) by [Paul Loyd](https://github.com/loyd)
* [:link:](ref-union/ref-union.d.ts) [ref-union](https://github.com/TooTallNate/ref-union) by [Paul Loyd](https://github.com/loyd)
* [:link:](reflux/reflux.d.ts) [RefluxJS](https://github.com/reflux/refluxjs) by [Maurice de Beijer](https://github.com/mauricedb)
* [:link:](request/request.d.ts) [request](https://github.com/mikeal/request) by [Carlos Ballesteros Velasco](https://github.com/soywiz), [bonnici](https://github.com/bonnici), [Bart van der Schoor](https://github.com/Bartvds), [Joe Skeen](http://github.com/joeskeen)
@@ -1186,6 +1268,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](routie/routie.d.ts) [routie](https://github.com/jgallen23/routie) by [Adilson](https://github.com/Adilson)
* [:link:](rsmq/rsmq.d.ts) [rsmq](http://smrchy.github.io/rsmq) by [Qubo](https://github.com/MugeSo)
* [:link:](rsmq-worker/rsmq-worker.d.ts) [rsmq-worker](http://smrchy.github.io/rsmq/rsmq-worker) by [TANAKA Koichi](https://github.com/MugeSo)
+* [:link:](rss/rss.d.ts) [rss](https://github.com/dylang/node-rss) by [Second Datke](https://github.com/secondwtq)
* [:link:](rtree/rtree.d.ts) [rtree](https://github.com/leaflet-extras/RTree) by [Omede Firouz](https://github.com/oefirouz)
* [:link:](run-sequence/run-sequence.d.ts) [run-sequence](https://github.com/OverZealous/run-sequence) by [Keita Kagurazaka](https://github.com/k-kagurazaka)
* [:link:](rx/rx.d.ts) [RxJS](http://rx.codeplex.com) by [gsino](http://www.codeplex.com/site/users/view/gsino), [Igor Oleinikov](https://github.com/Igorbek)
@@ -1203,7 +1286,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](rx/rx.time.d.ts) [RxJS-Time](http://rx.codeplex.com) by [Carl de Billy](http://carl.debilly.net), [Igor Oleinikov](https://github.com/Igorbek)
* [:link:](rx/rx.virtualtime.d.ts) [RxJS-VirtualTime](http://rx.codeplex.com) by [gsino](http://www.codeplex.com/site/users/view/gsino), [Igor Oleinikov](https://github.com/Igorbek)
* [:link:](s3-uploader/s3-uploader.d.ts) [s3-uploader](https://www.npmjs.com/package/s3-uploader) by [COLSA Corporation](http://www.colsa.com)
+* [:link:](s3rver/s3rver.d.ts) [S3rver](https://github.com/jamhall/s3rver) by [David Broder-Rodgers](https://github.com/DavidBR-SW)
* [:link:](sammyjs/sammyjs.d.ts) [Sammy.js](http://sammyjs.org) by [Boris Yankov](https://github.com/borisyankov), [Oisin Grehan](https://github.com/oising)
+* [:link:](sandboxed-module/sandboxed-module.d.ts) [sandboxed-module](https://github.com/felixge/node-sandboxed-module) by [Sven Reglitzki](https://github.com/svi3c)
* [:link:](sanitize-filename/sanitize-filename.d.ts) [sanitize-filename](https://github.com/parshap/node-sanitize-filename) by [Wim Looman](https://github.com/Nemo157)
* [:link:](sanitize-html/sanitize-html.d.ts) [sanitize-html](https://github.com/punkave/sanitize-html) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](sanitizer/sanitizer.d.ts) [Sanitizer](https://github.com/theSmaw/Caja-HTML-Sanitizer) by [Dave Taylor](http://davetayls.me)
@@ -1212,6 +1297,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](scalike/scalike.d.ts) [scalike API](https://github.com/ryoppy/scalike-typescript) by [ryoppy](https://github.com/ryoppy)
* [:link:](screenfull/screenfull.d.ts) [screenfull.js](https://github.com/sindresorhus/screenfull.js) by [Ilia Choly](http://github.com/icholy)
* [:link:](scrolltofixed/scrolltofixed.d.ts) [ScrollToFixed](https://github.com/bigspotteddog/ScrollToFixed) by [Ben Dixon](https://github.com/bmdixon)
+* [:link:](scrypt-async/scrypt-async.d.ts) [scrypt-async](https://github.com/dchest/scrypt-async-js) by [Kaur Kuut](https://github.com/xStrom)
* [:link:](seedrandom/seedrandom.d.ts) [seedrandom](https://github.com/davidbau/seedrandom) by [Kern Handa](https://github.com/kernhanda)
* [:link:](segment-analytics/segment-analytics.d.ts) [Segment's analytics.js](https://segment.com/docs/libraries/analytics.js) by [Andrew Fong](https://github.com/fongandrew)
* [:link:](analytics-node/analytics-node.d.ts) [Segment's analytics.js for Node.js](https://segment.com/docs/libraries/node) by [Andrew Fong](https://github.com/fongandrew)
@@ -1226,6 +1312,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](sequelize-fixtures/sequelize-fixtures.d.ts) [Sequelize-Fixtures](https://github.com/domasx2/sequelize-fixtures) by [Christian Schwarz](https://github.com/cschwarz)
* [:link:](serve-favicon/serve-favicon.d.ts) [serve-favicon](https://github.com/expressjs/serve-favicon) by [Uros Smolnik](https://github.com/urossmolnik)
* [:link:](on-headers/on-headers.d.ts) [serve-favicon](https://github.com/jshttp/on-headers) by [John Jeffery](https://github.com/jjeffery)
+* [:link:](serve-index/serve-index.d.ts) [serve-index](https://github.com/expressjs/serve-index) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](serve-static/serve-static.d.ts) [serve-static](https://github.com/expressjs/serve-static) by [Uros Smolnik](https://github.com/urossmolnik)
* [:link:](sharedworker/SharedWorker.d.ts) [SharedWorker](http://www.w3.org/TR/workers) by [Toshiya Nakakura](https://github.com/nakakura)
* [:link:](sharepoint/SharePoint.d.ts) [SharePoint 2010 and 2013](https://github.com/gandjustas/sptypescript) by [Stanislav Vyshchepan](http://blog.gandjustas.ru), [Andrey Markeev](http://markeev.com)
@@ -1234,11 +1321,13 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](should-promised/should-promised.d.ts) [should-promised](https://github.com/shouldjs/promised) by [Yaroslav Admin](https://github.com/devoto13)
* [:link:](should/should.d.ts) [should.js](https://github.com/visionmedia/should.js) by [Alex Varju](https://github.com/varju), [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](showdown/showdown.d.ts) [Showdown](https://github.com/coreyti/showdown) by [cbowdon](https://github.com/cbowdon)
+* [:link:](shuffle-array/shuffle-array.d.ts) [shuffle-array](https://github.com/pazguille/shuffle-array) by [rhysd](https://rhysd.github.io)
* [:link:](siesta/siesta.d.ts) [Siesta](http://www.bryntum.com/products/siesta) by [bquarmby](https://github.com/bquarmby)
* [:link:](sigmajs/sigmajs.d.ts) [sigma.js](https://github.com/jacomyal/sigma.js) by [Qinfeng Chen](https://github.com/qinfchen)
* [:link:](signalr/signalr.d.ts) [SignalR](http://www.asp.net/signalr) by [Boris Yankov](https://github.com/borisyankov), [T. Michael Keesey](https://github.com/keesey)
* [:link:](signature_pad/signature_pad.d.ts) [signature_pad](https://github.com/szimek/signature_pad) by [Abubaker Bashir](https://github.com/AbubakerB)
* [:link:](simple-cw-node/simple-cw-node.d.ts) [simple-cw-node](https://github.com/astronaughts/simple-cw-node) by [vvakame](https://github.com/vvakame)
+* [:link:](simple-mock/simple-mock.d.ts) [simple-mock](https://github.com/jupiter/simple-mock) by [Leon Yu](https://github.com/leonyu)
* [:link:](simplebar/simplebar.d.ts) [simplebar.js](https://github.com/Grsmto/simplebar) by [Gregor Woiwode](https://github.com/gregonnet)
* [:link:](jquery.simplemodal/jquery.simplemodal.d.ts) [SimpleModal](http://www.ericmmartin.com/projects/simplemodal) by [Friedrich von Never](https://github.com/ForNeVeR)
* [:link:](simplestorage.js/simplestorage.js.d.ts) [simpleStorage](https://github.com/andris9/simpleStorage) by [Áxel Costas Pena](https://github.com/axelcostaspena)
@@ -1259,6 +1348,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](socket.io/socket.io.d.ts) [socket.io](http://socket.io) by [PROGRE](https://github.com/progre), [Damian Connolly](https://github.com/divillysausages)
* [:link:](socket.io-client/socket.io-client.d.ts) [socket.io-client](http://socket.io) by [PROGRE](https://github.com/progre), [Damian Connolly](https://github.com/divillysausages)
* [:link:](socket.io.users/socket.io.users.d.ts) [socket.io.users](https://github.com/nodets/socket.io.users) by [Makis Maropoulos](https://github.com/kataras)
+* [:link:](socketty/socketty.d.ts) [Socketty](https://www.npmjs.com/package/socketty) by [Nax](https://github.com/Nax)
* [:link:](sockjs/sockjs.d.ts) [SockJS 0.3.x](https://github.com/sockjs/sockjs-client) by [Emil Ivanov](https://github.com/vladev)
* [:link:](sockjs-client/sockjs-client.d.ts) [sockjs-client](https://github.com/sockjs/sockjs-client) by [Emil Ivanov](https://github.com/vladev), [Alexander Rusakov](https://github.com/arusakov)
* [:link:](sockjs-node/sockjs-node.d.ts) [sockjs-node 0.3.x](https://github.com/sockjs/sockjs-node) by [Phil McCloghry-Laing](https://github.com/pmccloghrylaing)
@@ -1272,6 +1362,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](split/split.d.ts) [split](https://github.com/dominictarr/split) by [Marcin Porębski](https://github.com/marcinporebski)
* [:link:](sprintf-js/sprintf-js.d.ts) [sprintf-js](https://www.npmjs.com/package/sprintf-js) by [Jason Swearingen](https://jasonswearingen.github.io)
* [:link:](sprintf/sprintf.d.ts) [sprintff](https://github.com/maritz/node-sprintff) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
+* [:link:](sql.js/sql.js.d.ts) [sql.js](https://github.com/kripken/sql.js) by [George Wu](https://github.com/Hozuki)
* [:link:](sqlite3/sqlite3.d.ts) [sqlite3](https://github.com/mapbox/node-sqlite3) by [Nick Malaguti](https://github.com/nmalaguti)
* [:link:](squirejs/squirejs.d.ts) [Squire](https://github.com/iammerrick/Squire.js) by [Bradley Ayers](https://github.com/bradleyayers)
* [:link:](ssh2/ssh2.d.ts) [ssh2](https://github.com/mscdex/ssh2) by [Qubo](https://github.com/tkQubo)
@@ -1285,13 +1376,15 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](status-bar/status-bar.d.ts) [status-bar](https://github.com/atom/status-bar) by [vvakame](https://github.com/vvakame)
* [:link:](statuses/statuses.d.ts) [statuses](https://github.com/jshttp/statuses) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](steam/steam.d.ts) [steam](https://github.com/seishun/node-steam) by [Andrey Kurdyumov](https://github.com/kant2002)
+* [:link:](slick-carousel/slick-carousel.d.ts) [stick](http://kenwheeler.github.io/slick) by [John Gouigouix](https://github.com/orchestra-ts/DefinitelyTyped)
* [:link:](storejs/storejs.d.ts) [store.js](https://github.com/marcuswestin/store.js) by [Vincent Bortone](https://github.com/vbortone)
* [:link:](stream-series/stream-series.d.ts) [stream-series](https://github.com/rschmukler/stream-series) by [Keita Kagurazaka](https://github.com/k-kagurazaka)
* [:link:](stream-to-array/stream-to-array.d.ts) [stream-to-array](https://github.com/stream-utils/stream-to-array) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](streamjs/streamjs.d.ts) [streamjs](http://winterbe.github.io/streamjs) by [Bence Eros](https://github.com/erosb)
* [:link:](string_score/string_score.d.ts) [string_score](https://github.com/joshaven/string_score) by [Marcin Porębski](https://github.com/marcinporebski)
* [:link:](string/string.d.ts) [string.js](http://stringjs.com) by [Bas Pennings](https://github.com/basp)
-* [:link:](stripe/stripe.d.ts) [stripe](https://stripe.com) by [Andy Hawkins](https://github.com/a904guy/,http://a904guy.com), [Eric J. Smith](https://github.com/ejsmith)
+* [:link:](strip-json-comments/strip-json-comments.d.ts) [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) by [Dylan R. E. Moonfire](https://github.com/dmoonfire)
+* [:link:](stripe/stripe.d.ts) [stripe](https://stripe.com) by [Andy Hawkins](https://github.com/a904guy/,http://a904guy.com), [Eric J. Smith](https://github.com/ejsmith), [Amrit Kahlon](https://github.com/amritk)
* [:link:](stripe-checkout/stripe-checkout.d.ts) [Stripe Checkout](https://stripe.com/checkout) by [Chris Wrench](https://github.com/cgwrench)
* [:link:](stripe/stripe-node.d.ts) [stripe-node](https://github.com/stripe/stripe-node) by [William Johnston](https://github.com/wjohnsto)
* [:link:](strophe/strophe.d.ts) [Strophe.js](http://strophe.im/strophejs) by [David Deutsch](https://github.com/DavidKDeutsch)
@@ -1299,6 +1392,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](sugar/sugar.d.ts) [Sugar](http://sugarjs.com) by [Josh Baldwin](https://github.com/jbaldwin)
* [:link:](superagent/superagent.d.ts) [SuperAgent](https://github.com/visionmedia/superagent) by [Alex Varju](https://github.com/varju)
* [:link:](supertest/supertest.d.ts) [SuperTest](https://github.com/visionmedia/supertest) by [Alex Varju](https://github.com/varju)
+* [:link:](supertest-as-promised/supertest-as-promised.d.ts) [SuperTest as Promised](https://github.com/WhoopInc/supertest-as-promised) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](svg-injector/svg-injector.d.ts) [SVG Injector](https://github.com/iconic/SVGInjector) by [Patrick Westerhoff](https://github.com/poke)
* [:link:](svg-pan-zoom/svg-pan-zoom.d.ts) [svg-pan-zoom](https://github.com/ariutta/svg-pan-zoom) by [Chintan Shah](https://github.com/Promact)
* [:link:](svg-sprite/svg-sprite.d.ts) [svg-sprite](https://github.com/jkphl/svg-sprite) by [Qubo](https://github.com/tkqubo)
@@ -1310,6 +1404,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](swap-case/swap-case.d.ts) [swap-case](https://github.com/blakeembrey/swap-case) by [Sam Saint-Pettersen](https://github.com/stpettersens)
* [:link:](sweetalert/sweetalert.d.ts) [SweetAlert](https://github.com/t4t5/sweetalert) by [Markus Peloso](https://github.com/ToastHawaii)
* [:link:](swfobject/swfobject.d.ts) [swfobject](https://code.google.com/p/swfobject) by [rou](https://github.com/rou)
+* [:link:](swiftclick/swiftclick.d.ts) [SwiftClick](https://github.com/munkychop/swiftclick) by [Laurence C](https://github.com/Laurence-C)
* [:link:](swig/swig.d.ts) [swig](http://github.com/paularmstrong/swig) by [Peter Harris](https://github.com/CodeAnimal), [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](swig-email-templates/swig-email-templates.d.ts) [swig-email-templates](https://github.com/andrewrk/swig-email-templates) by [Adam Babcock](https://github.com/mrhen)
* [:link:](swipe/swipe.d.ts) [Swipe](https://github.com/thebird/Swipe) by [Andrey Kurdyumov](https://github.com/kant2002)
@@ -1320,20 +1415,20 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](systemjs/systemjs.d.ts) [System.js](https://github.com/systemjs/systemjs) by [Ludovic HENIN](https://github.com/ludohenin), [Nathan Walker](https://github.com/NathanWalker)
* [:link:](tabris/tabris.d.ts) [Tabris.js](http://tabrisjs.com) by [Tabris.js team](http://github.com/eclipsesource/tabris)
* [:link:](tabtab/tabtab.d.ts) [tabtab](https://github.com/mklabs/node-tabtab) by [Vojtěch Habarta](https://github.com/vojtechhabarta)
-* [:link:](tape/tape.d.ts) [tape](https://github.com/substack/tape) by [Bart van der Schoor](https://github.com/Bartvds)
+* [:link:](tape/tape.d.ts) [tape](https://github.com/substack/tape) by [Bart van der Schoor](https://github.com/Bartvds), [Haoqun Jiang](https://github.com/sodatea)
* [:link:](tar/tar.d.ts) [tar](https://github.com/npm/node-tar) by [Maxime LUCE](https://github.com/SomaticIT)
* [:link:](tcomb/tcomb.d.ts) [tcomb](http://gcanti.github.io/tcomb/guide/index.html) by [Hans Windhoff](https://github.com/hansrwindhoff)
* [:link:](tea-merge/tea-merge.d.ts) [tea-merge](https://github.com/qualiancy/tea-merge) by [Mihhail Lapushkin](https://github.com/mihhail-lapushkin)
* [:link:](tedious/tedious.d.ts) [tedious](https://pekim.github.io/tedious) by [Rogier Schouten](https://github.com/rogierschouten)
* [:link:](tedious-connection-pool/tedious-connection-pool.d.ts) [tedious-connection-pool](https://github.com/pekim/tedious-connection-pool) by [Cyprien Autexier](https://github.com/sandorfr)
* [:link:](teechart/teechart.d.ts) [TeeChart](http://www.steema.com) by [Steema Software](https://steema.com)
+* [:link:](temp/temp.d.ts) [temp](https://www.npmjs.com/package/temp) by [Daniel Rosenwasser](https://github.com/DanielRosenwasser)
* [:link:](temp-fs/temp-fs.d.ts) [temp-fs](https://github.com/jakwings/node-temp-fs) by [MEDIA CHECK s.r.o.](http://www.mediacheck.cz)
* [:link:](tether/tether.d.ts) [Tether](http://github.hubspot.com/tether) by [Adi Dahiya](https://github.com/adidahiya)
* [:link:](tether-shepherd/tether-shepherd.d.ts) [Tether-Shepherd](http://github.hubspot.com/shepherd) by [Matt Gibbs](https://github.com/mtgibbs)
* [:link:](text-buffer/text-buffer.d.ts) [text-buffer](https://github.com/atom/text-buffer) by [vvakame](https://github.com/vvakame)
* [:link:](text-encoding/text-encoding.d.ts) [text-encoding](https://github.com/inexorabletash/text-encoding) by [MIZUNE Pine](https://github.com/pine613)
-* [:link:](github-electron/github-electron-main.d.ts) [the Electron 0.25.2 main process](http://electron.atom.io) by [jedmao](https://github.com/jedmao)
-* [:link:](github-electron/github-electron-renderer.d.ts) [the Electron 0.25.2 renderer process (web page)](http://electron.atom.io) by [jedmao](https://github.com/jedmao)
+* [:link:](spotify-api/spotify-api.d.ts) [The Spotify Web API](https://developer.spotify.com/web-api) by [Niels Kristian Hansen Skovmand](https://github.com/skovmand)
* [:link:](threejs/three-FirstPersonControls.d.ts) [three.js](http://mrdoob.github.com/three.js) by [Poul Kjeldager Sørensen](https://github.com/s093294)
* [:link:](threejs/three-canvasrenderer.d.ts) [three.js (CanvasRenderer.js)](https://github.com/mrdoob/three.js/blob/master/examples/js/renderers/CanvasRenderer.js) by [Satoru Kimura](https://github.com/gyohk)
* [:link:](threejs/three-copyshader.d.ts) [three.js (CopyShader.js)](https://github.com/mrdoob/three.js/blob/r68/examples/js/shaders/CopyShader.js) by [Satoru Kimura](https://github.com/gyohk)
@@ -1353,7 +1448,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](threejs/three.d.ts) [three.js r73](http://mrdoob.github.com/three.js) by [Kon](http://phyzkit.net), [Satoru Kimura](https://github.com/gyohk)
* [:link:](thrift/thrift.d.ts) [thrift](https://www.npmjs.com/package/thrift) by [Zachary Collins](https://github.com/corps)
* [:link:](through/through.d.ts) [through](https://github.com/dominictarr/through) by [Andrew Gaspar](https://github.com/AndrewGaspar)
-* [:link:](through2/through2.d.ts) [through2 v](https://github.com/rvagg/through2) by [Bart van der Schoor](https://github.com/Bartvds), [jedmao](https://github.com/jedmao)
+* [:link:](through2/through2.d.ts) [through2 v](https://github.com/rvagg/through2) by [Bart van der Schoor](https://github.com/Bartvds), [jedmao](https://github.com/jedmao), [Georgios Valotasios](https://github.com/valotas)
* [:link:](timelinejs/timelinejs.d.ts) [timelinejs](https://github.com/NUKnightLab/TimelineJS) by [Roland Zwaga](https://github.com/rolandzwaga)
* [:link:](timezone-js/timezone-js.d.ts) [timezone-js](https://github.com/mde/timezone-js) by [bonnici](https://github.com/bonnici)
* [:link:](timezonecomplete/timezonecomplete.d.ts) [timezonecomplete](https://github.com/SpiritIT/timezonecomplete) by [Rogier Schouten](https://github.com/rogierschouten)
@@ -1367,10 +1462,12 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](tooltipster/tooltipster.d.ts) [tooltipster](https://github.com/iamceege/tooltipster) by [Stephen Lautier](https://github.com/stephenlautier)
* [:link:](sencha_touch/SenchaTouch.d.ts) [Touch](http://www.sencha.com/products/touch) by [Brian Kotek](https://github.com/brian428)
* [:link:](traceback/traceback.d.ts) [Traceback](http://github.com/iriscouch/traceback) by [Michael Zabka](https://github.com/misak113)
+* [:link:](tracking/tracking.d.ts) [Tracking.js](https://github.com/eduardolundgren/tracking.js) by [Tim Perry](https://github.com/pimterry)
* [:link:](traverson/traverson.d.ts) [Traverson](https://github.com/basti1302/traverson) by [Marcin Porębski](https://github.com/marcinporebski)
* [:link:](trunk8/trunk8.d.ts) [trunk8](https://github.com/rviscomi/trunk8) by [Blake Niemyjski](https://github.com/niemyjski)
* [:link:](tsmonad/tsmonad.d.ts) [TsMonad](https://github.com/cbowdon/TsMonad) by [Chris Bowdon](https://github.com/cbowdon)
* [:link:](tspromise/tspromise.d.ts) [tspromise](https://github.com/soywiz/tspromise) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
+* [:link:](turf/turf.d.ts) [Turf](http://turfjs.org) by [Guillaume Croteau](https://github.com/gcroteau)
* [:link:](tween.js/tween.js.d.ts) [tween.js r12](https://github.com/sole/tween.js) by [sunetos](https://github.com/sunetos), [jzarnikov](https://github.com/jzarnikov)
* [:link:](tweenjs/tweenjs.d.ts) [TweenJS](http://www.createjs.com/#!/TweenJS) by [Pedro Ferreira](https://bitbucket.org/drk4), [Chris Smith](https://github.com/evilangelist)
* [:link:](twig/twig.d.ts) [twig](https://github.com/justjohn/twig.js) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
@@ -1389,9 +1486,10 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](ui-grid/ui-grid.d.ts) [ui-grid](http://www.ui-grid.info) by [Ben Tesser](https://github.com/btesser), [Joe Skeen](http://github.com/joeskeen)
* [:link:](ui-router-extras/ui-router-extras.d.ts) [UI-Router Extras (ct.ui.router.extras module)](https://github.com/christopherthielen/ui-router-extras) by [Michael Putters](https://github.com/mputters), [Marcel van de Kamp](https://github.com/marcel-k)
* [:link:](uikit/uikit.d.ts) [uikit](http://getuikit.org) by [Giovanni Silva](https://github.com/giovannicandido)
-* [:link:](umbraco/umbraco.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland)
-* [:link:](umbraco/umbraco-resources.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland)
* [:link:](umbraco/umbraco-services.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland)
+* [:link:](umbraco/umbraco-resources.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland)
+* [:link:](umbraco/umbraco.d.ts) [Umbraco](https://github.com/umbraco) by [DeCareSystemsIreland](https://github.com/DeCareSystemsIreland)
+* [:link:](umzug/umzug.d.ts) [Umzug](https://github.com/sequelize/umzug) by [Ivan Drinchev](https://github.com/drinchev)
* [:link:](underscore/underscore.d.ts) [Underscore](http://underscorejs.org) by [Boris Yankov](https://github.com/borisyankov), [Josh Baldwin](https://github.com/jbaldwin)
* [:link:](underscore-ko/underscore-ko.d.ts) [Underscore-ko 1.2.2 with underscore](https://github.com/kamranayub/UnderscoreKO) by [Maurits Elbers](https://github.com/MagicMau)
* [:link:](underscore.string/underscore.string.d.ts) [underscore.string](https://github.com/epeli/underscore.string) by [Ry Racherbaumer](http://github.com/rygine)
@@ -1399,6 +1497,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](jquery.uniform/jquery.uniform.d.ts) [Uniform.js](https://github.com/pixelmatrix/uniform) by [flyfishMT](https://github.com/flyfishMT)
* [:link:](uniq/uniq.d.ts) [uniq](https://www.npmjs.com/package/uniq) by [Hans Windhoff](https://github.com/hansrwindhoff)
* [:link:](unique-random/unique-random.d.ts) [unique-random](https://github.com/sindresorhus/unique-random) by [Yuki Kokubun](https://github.com/Kuniwak)
+* [:link:](winrt/winrt-uwp.d.ts) [Universal Windows Platform](http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx) by [Kagami Sascha Rosylight](https://github.com/saschanaz), [Taylor Starfield](https://github.com/taylor224)
* [:link:](universal-analytics/universal-analytics.d.ts) [universal-analytics](https://github.com/peaksandpies/universal-analytics) by [Bart van der Schoor](https://github.com/Bartvds)
* [:link:](unorm/unorm.d.ts) [unorm](https://github.com/walling/unorm) by [Christopher Brown](https://github.com/chbrown)
* [:link:](update-notifier/update-notifier.d.ts) [update-notifier](https://github.com/yeoman/update-notifier) by [vvakame](https://github.com/vvakame)
@@ -1411,12 +1510,14 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](urlrouter/urlrouter.d.ts) [urlrouter](https://github.com/fengmk2/urlrouter) by [soywiz](https://github.com/soywiz)
* [:link:](urlsafe-base64/urlsafe-base64.d.ts) [urlsafe-base64](https://github.com/RGBboy/urlsafe-base64) by [Tanguy Krotoff](https://github.com/tkrotoff)
* [:link:](usage/usage.d.ts) [usage](https://github.com/arunoda/node-usage) by [Pascal Vomhoff](https://github.com/pvomhoff)
+* [:link:](username/username.d.ts) [username](https://www.npmjs.com/package/username) by [Klaus Reimer](https://github.com/kayahr)
* [:link:](utils-merge/utils-merge.d.ts) [utils-merge](https://github.com/jaredhanson/utils-merge) by [Ilya Mochalov](https://github.com/chrootsu)
-* [:link:](UUID/UUID.d.ts) [UUID.js core](https://github.com/LiosK/UUID.js) by [Jason Jarrett](https://github.com/staxmanade)
+* [:link:](uuid/UUID.d.ts) [UUID.js core](https://github.com/LiosK/UUID.js) by [Jason Jarrett](https://github.com/staxmanade)
* [:link:](valerie/valerie.d.ts) [valerie](https://github.com/davewatts/valerie) by [Howard Richards](https://github.com/conficient)
* [:link:](validator/validator.d.ts) [validator.js](https://github.com/chriso/validator.js) by [tgfjt](https://github.com/tgfjt)
* [:link:](vega/vega.d.ts) [Vega](http://trifacta.github.io/vega) by [Tom Crockett](http://github.com/pelotom)
* [:link:](velocity-animate/velocity-animate.d.ts) [Velocity](http://velocityjs.org) by [Greg Smith](https://github.com/smrq)
+* [:link:](verror/verror.d.ts) [verror](https://github.com/davepacheco/node-verror) by [Sven Reglitzki](https://github.com/svi3c)
* [:link:](vex-js/vex-js.d.ts) [Vex](https://github.com/HubSpot/vex) by [Greg Cohan](https://github.com/gdcohan)
* [:link:](vexflow/vexflow.d.ts) [VexFlow](http://vexflow.com) by [Roman Quiring](https://github.com/rquiring)
* [:link:](victor/victor.d.ts) [Victor.js](http://victorjs.org) by [Ivane Gegia](https://twitter.com/ivanegegia)
@@ -1431,7 +1532,9 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](vortex-web-client/vortex-web-client.d.ts) [Vortex Web 1.2.0p1](http://www.prismtech.com/vortex/vortex-web) by [Stefan Profanter](https://github.com/Pro)
* [:link:](voximplant-websdk/voximplant-websdk.d.ts) [VoxImplant Web SDK 3.0.x](http://voximplant.com) by [Alexey Aylarov](https://github.com/aylarov)
* [:link:](vso-node-api/vso-node-api.d.ts) [vso-node-api](https://github.com/Microsoft/vso-node-api) by [Teddy Ward](https://github.com/teddyward)
-* [:link:](vue/vue.d.ts) [vuejs](https://github.com/yyx990803/vue) by [odangosan](https://github.com/odangosan)
+* [:link:](vue-router/vue-router.d.ts) [vue-router](https://github.com/vuejs/vue-router) by [kaorun343](https://github.com/kaorun343)
+* [:link:](vue/vue.d.ts) [vuejs](https://github.com/vuejs/vue) by [odangosan](https://github.com/odangosan), [kaorun343](https://github.com/kaorun343)
+* [:link:](wake_on_lan/wake_on_lan.d.ts) [wake_on_lan](https://github.com/agnat/node_wake_on_lan) by [Tobias Kahlert](https://github.com/SrTobi)
* [:link:](watch/watch.d.ts) [watch](https://github.com/mikeal/watch) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](jquery.watermark/jquery.watermark.d.ts) [Watermark plugin for jQuery](http://jquery-watermark.googlecode.com) by [Anwar Javed](https://github.com/anwarjaved)
* [:link:](webaudioapi/waa.d.ts) [Web Audio API](http://www.w3.org/TR/webaudio) by [Baruch Berger](https://github.com/bbss), [Kon](http://phyzkit.net), [kubosho](https://github.com/kubosho)
@@ -1441,6 +1544,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](webcola/webcola.d.ts) [webcola](https://github.com/tgdwyer/WebCola) by [Qinfeng Chen](https://github.com/qinfchen), [Tim Dwyer](https://github.com/tgdwyer), [Noah Chen](https://github.com/nchen63)
* [:link:](webcomponents.js/webcomponents.js.d.ts) [webcomponents.js](https://github.com/webcomponents/webcomponentsjs) by [Adi Dahiya](https://github.com/adidahiya)
* [:link:](webcrypto/WebCrypto.d.ts) [WebCrypto](http://www.w3.org/TR/WebCryptoAPI) by [Lucas Dixon](https://github.com/iislucas)
+* [:link:](webdriverio/webdriverio.d.ts) [webdriverio](http://www.webdriver.io) by [Nick Malaguti](https://github.com/nmalaguti)
* [:link:](webgl-ext/webgl-ext.d.ts) [WebGL Extensions](http://webgl.org) by [Arthur Langereis](https://github.com/zenmumbler)
* [:link:](webix/webix.d.ts) [Webix UI](http://webix.com) by [Maksim Kozhukh](http://github.com/mkozhukh)
* [:link:](webpack/webpack.d.ts) [webpack](https://github.com/webpack/webpack) by [Qubo](https://github.com/tkqubo)
@@ -1457,8 +1561,11 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](winrt/winrt.d.ts) [WinRT](http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx) by [TypeScript samples](https://www.typescriptlang.org)
* [:link:](winston/winston.d.ts) [winston](https://github.com/flatiron/winston) by [bonnici](https://github.com/bonnici), [Peter Harris](https://github.com/codeanimal)
* [:link:](wolfy87-eventemitter/wolfy87-eventemitter.d.ts) [wolfy87-eventemitter](https://github.com/Wolfy87/EventEmitter) by [ryiwamoto](https://github.com/ryiwamoto)
+* [:link:](wordcloud/wordcloud.d.ts) [wordcloud](https://github.com/timdream/wordcloud2.js) by [Joe Skeen](http://github.com/joeskeen)
+* [:link:](wreck/wreck.d.ts) [wreck](https://github.com/hapijs/wreck) by [Marcin Porębski](http://github.com/marcinporebski)
* [:link:](wrench/wrench.d.ts) [wrench](https://github.com/ryanmcgrath/wrench-js) by [Carlos Ballesteros Velasco](https://github.com/soywiz)
* [:link:](ws/ws.d.ts) [ws](https://github.com/einaros/ws) by [Paul Loyd](https://github.com/loyd)
+* [:link:](wu/wu.d.ts) [wu.js](https://fitzgen.github.io/wu.js) by [phiresky](https://github.com/phiresky)
* [:link:](x-editable/x-editable.d.ts) [X-Editable](http://vitalets.github.io/x-editable/index.html) by [Chris Kirby](https://github.com/sirkirby)
* [:link:](x2js/xml2json.d.ts) [x2js](https://code.google.com/p/x2js) by [Horiuchi_H](https://github.com/horiuchi)
* [:link:](xdate/xdate.d.ts) [XDate](http://arshaw.com/xdate) by [yamada28go](https://github.com/yamada28go)
@@ -1481,7 +1588,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam
* [:link:](yui/yui.d.ts) [yui](https://github.com/yui/yui3) by [Gia Bảo @ Sân Đình](https://github.com/giabao)
* [:link:](z-schema/z-schema.d.ts) [z-schema](https://github.com/zaggino/z-schema) by [Adam Meadows](https://github.com/job13er)
* [:link:](zepto/zepto.d.ts) [Zepto](http://zeptojs.com) by [Josh Baldwin](https://github.com/jbaldwin)
-* [:link:](zeroclipboard/zeroclipboard.d.ts) [ZeroClipboard](https://github.com/jonrohan/ZeroClipboard) by [Eric J. Smith](https://github.com/ejsmith), [Blake Niemyjski](https://github.com/niemyjski), [György Balássy](https://github.com/balassy)
+* [:link:](zeroclipboard/zeroclipboard.d.ts) [ZeroClipboard v2.x.x](https://github.com/zeroclipboard/zeroclipboard) by [Eric J. Smith](https://github.com/ejsmith), [Blake Niemyjski](https://github.com/niemyjski), [György Balássy](https://github.com/balassy), [Leon Yu](https://github.com/leonyu)
* [:link:](node_zeromq/zmq.d.ts) [ZeroMQ Node](https://github.com/JustinTulloss/zeromq.node) by [Dave McKeown](http://github.com/davemckeown)
* [:link:](zip.js/zip.js.d.ts) [zip.js 2.x](https://github.com/gildas-lormeau/zip.js) by [Louis Grignon](https://github.com/lgrignon)
* [:link:](zone.js/zone.js.d.ts) [Zone.js](https://github.com/angular/zone.js) by [angular team](https://github.com/angular)
diff --git a/ace/ace.d.ts.tscparams b/ace/ace.d.ts.tscparams
deleted file mode 100644
index d3f5a12fa..000000000
--- a/ace/ace.d.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ace/tests/ace-editor_text_edit-tests.ts.tscparams b/ace/tests/ace-editor_text_edit-tests.ts.tscparams
deleted file mode 100644
index d3f5a12fa..000000000
--- a/ace/tests/ace-editor_text_edit-tests.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ace/tests/ace-range-tests.ts.tscparams b/ace/tests/ace-range-tests.ts.tscparams
deleted file mode 100644
index d3f5a12fa..000000000
--- a/ace/tests/ace-range-tests.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ace/tests/ace-search-tests.ts.tscparams b/ace/tests/ace-search-tests.ts.tscparams
deleted file mode 100644
index d3f5a12fa..000000000
--- a/ace/tests/ace-search-tests.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/angular-dynamic-locale/angular-dynamic-locale.d.ts b/angular-dynamic-locale/angular-dynamic-locale.d.ts
index a30df1d7e..e404e9532 100644
--- a/angular-dynamic-locale/angular-dynamic-locale.d.ts
+++ b/angular-dynamic-locale/angular-dynamic-locale.d.ts
@@ -5,6 +5,11 @@
///
+declare module "angular-dynamic-locale" {
+ import ng = angular.dynamicLocale;
+ export = ng;
+}
+
declare module angular.dynamicLocale {
interface tmhDynamicLocaleService {
diff --git a/angular-formly/angular-formly-tests.ts b/angular-formly/angular-formly-tests.ts
index ef6a38463..2374fde4a 100644
--- a/angular-formly/angular-formly-tests.ts
+++ b/angular-formly/angular-formly-tests.ts
@@ -24,7 +24,7 @@ class FormConfig {
}
class AppController {
- fields: AngularFormly.IFieldConfigurationObject[];
+ fields: AngularFormly.IFieldArray;
constructor() {
var vm = this;
vm.fields = [
@@ -99,6 +99,21 @@ class AppController {
templateOptions: {
label: 'no wrapper here...'
}
+ },
+ {
+ //From http://angular-formly.com/#/example/other/nested-formly-forms
+ key: 'address',
+ wrapper: 'panel',
+ templateOptions: { label: 'Address' },
+ fieldGroup: [{
+ key: 'town',
+ type: 'input',
+ templateOptions: {
+ required: true,
+ type: 'text',
+ label: 'Town'
+ }
+ }]
}
]
}
diff --git a/angular-formly/angular-formly.d.ts b/angular-formly/angular-formly.d.ts
index 2bf75af7d..7ee3d3194 100644
--- a/angular-formly/angular-formly.d.ts
+++ b/angular-formly/angular-formly.d.ts
@@ -1,7 +1,7 @@
-// Type definitions for angular-formly 6.18.0
+// Type definitions for angular-formly 7.2.3
// Project: https://github.com/formly-js/angular-formly
// Definitions by: Scott Hatcher
-// Definitions: https://github.com/borisyankov/DefinitelyTyped
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
///
@@ -16,18 +16,23 @@ declare module 'angular-formly' {
declare module AngularFormly {
+ interface IFieldArray extends Array {
+
+ }
interface IFieldGroup {
data?: Object;
className?: string;
- elementAttributes?: { [key: string]: string };
- fieldGroup: IFieldConfigurationObject[];
+ elementAttributes?: string;
+ fieldGroup: IFieldArray;
form?: Object;
hide?: boolean;
- hideExpression?: string | IExpresssionFunction;
+ hideExpression?: string | IExpressionFunction;
key?: string | number;
model?: string | Object;
- options?: IFormOptionsAPI
+ options?: IFormOptionsAPI;
+ templateOptions?: ITemplateOptions;
+ wrapper?: string | string[];
}
@@ -46,7 +51,7 @@ declare module AngularFormly {
/**
* see http://docs.angular-formly.com/docs/formly-expressions#expressionproperties-validators--messages
*/
- interface IExpresssionFunction {
+ interface IExpressionFunction {
($viewValue: any, $modelValue: any, scope: ITemplateScope): any;
}
@@ -70,6 +75,11 @@ declare module AngularFormly {
postWrapper?: ITemplateManipulator[];
}
+ interface ISelectOption {
+ name: string;
+ value?: string;
+ group?: string;
+ }
/**
* see http://docs.angular-formly.com/docs/ngmodelattrstemplatemanipulator
@@ -104,6 +114,12 @@ declare module AngularFormly {
description?: string;
[key: string]: any;
+ // types for select/radio fields
+ options?: Array;
+ groupProp?: string; // default: group
+ valueProp?: string; // default: value
+ labelProp?: string; // default: name
+
}
@@ -111,8 +127,8 @@ declare module AngularFormly {
* see http://docs.angular-formly.com/docs/field-configuration-object#validators-object
*/
interface IValidator {
- expression: string | IExpresssionFunction;
- message?: string | IExpresssionFunction;
+ expression: string | IExpressionFunction;
+ message?: string | IExpressionFunction;
}
@@ -143,7 +159,7 @@ declare module AngularFormly {
* see http://angular-formly.com/#/example/other/unique-value-async-validation
*/
asyncValidators?: {
- [key: string]: string | IExpresssionFunction | IValidator;
+ [key: string]: string | IExpressionFunction | IValidator;
}
/**
@@ -193,7 +209,7 @@ declare module AngularFormly {
* see http://docs.angular-formly.com/docs/field-configuration-object#expressionproperties-object
*/
expressionProperties?: {
- [key: string]: string | IExpresssionFunction | IValidator;
+ [key: string]: string | IExpressionFunction | IValidator;
}
@@ -213,7 +229,7 @@ declare module AngularFormly {
*
* see http://docs.angular-formly.com/docs/field-configuration-object#hideexpression-string--function
*/
- hideExpression?: string | IExpresssionFunction;
+ hideExpression?: string | IExpressionFunction;
/**
@@ -405,7 +421,7 @@ declare module AngularFormly {
* like in this example.
*/
messages?: {
- [key: string]: IExpresssionFunction | string;
+ [key: string]: IExpressionFunction | string;
}
@@ -429,7 +445,7 @@ declare module AngularFormly {
* see http://docs.angular-formly.com/docs/field-configuration-object#validators-object
*/
validators?: {
- [key: string]: string | IExpresssionFunction | IValidator;
+ [key: string]: string | IExpressionFunction | IValidator;
}
@@ -562,7 +578,7 @@ declare module AngularFormly {
//Shortcut to options.formControl
fc: ng.IFormController | ng.IFormController[];
//all the fields for the form
- fields: IFieldConfigurationObject[];
+ fields: IFieldArray;
//the form controller the field is in
form: any;
//The object passed as options.formState to the formly-form directive. Use this to share state between fields.
diff --git a/angular-loading-bar/angular-loading-bar-tests.ts b/angular-loading-bar/angular-loading-bar-tests.ts
index b7ca2894e..b8bde9e93 100644
--- a/angular-loading-bar/angular-loading-bar-tests.ts
+++ b/angular-loading-bar/angular-loading-bar-tests.ts
@@ -7,9 +7,17 @@ class TestController {
constructor($http: ng.IHttpService) {
$http.get("http://xyz.com", { ignoreLoadingBar: true })
-
+
}
}
app.controller('TestController', TestController);
+
+var barConfig: angular.loadingBar.ILoadingBarProvider[] = [];
+barConfig.push({
+ includeSpinner: true,
+ includeBar: true,
+ spinnerTemplate: 'template',
+ latencyThreshold: 100
+});
diff --git a/angular-loading-bar/angular-loading-bar.d.ts b/angular-loading-bar/angular-loading-bar.d.ts
index b1a8cd55d..acea6f048 100644
--- a/angular-loading-bar/angular-loading-bar.d.ts
+++ b/angular-loading-bar/angular-loading-bar.d.ts
@@ -14,5 +14,30 @@ declare module angular {
*/
ignoreLoadingBar?: boolean;
}
+}
-}
\ No newline at end of file
+declare module angular.loadingBar {
+
+ interface ILoadingBarProvider{
+ /**
+ * Turn the spinner on or off
+ */
+ includeSpinner?: boolean;
+
+ /**
+ * Turn the loading bar on or off
+ */
+ includeBar?: boolean;
+
+ /**
+ * HTML template
+ */
+ spinnerTemplate?: string;
+
+ /**
+ * Latency Threshold
+ */
+ latencyThreshold?: number;
+ }
+
+}
diff --git a/angular-protractor/angular-protractor-tests.ts b/angular-protractor/angular-protractor-tests.ts
index 45a5d7edc..0f98aead1 100644
--- a/angular-protractor/angular-protractor-tests.ts
+++ b/angular-protractor/angular-protractor-tests.ts
@@ -196,6 +196,27 @@ function TestWebDriverUntilModule() {
conditionWebElements = protractor.until.elementsLocated(by.className('class'));
}
+function TestWebDriverExpectedConditionsModule() {
+ var conditionB: protractor.until.Condition;
+ var el: protractor.ElementFinder = element(by.id('id'));
+
+ conditionB = protractor.ExpectedConditions.alertIsPresent();
+ conditionB = protractor.ExpectedConditions.elementToBeClickable(el);
+ conditionB = protractor.ExpectedConditions.textToBePresentInElement(el, 'text');
+ conditionB = protractor.ExpectedConditions.textToBePresentInElementValue(el, 'text');
+ conditionB = protractor.ExpectedConditions.titleContains('text');
+ conditionB = protractor.ExpectedConditions.titleIs('text');
+ conditionB = protractor.ExpectedConditions.presenceOf(el);
+ conditionB = protractor.ExpectedConditions.stalenessOf(el);
+ conditionB = protractor.ExpectedConditions.visibilityOf(el);
+ conditionB = protractor.ExpectedConditions.invisibilityOf(el);
+ conditionB = protractor.ExpectedConditions.elementToBeSelected(el);
+
+ conditionB = protractor.ExpectedConditions.not(protractor.ExpectedConditions.alertIsPresent());
+ conditionB = protractor.ExpectedConditions.and(protractor.ExpectedConditions.alertIsPresent(), protractor.ExpectedConditions.elementToBeClickable(el));
+ conditionB = protractor.ExpectedConditions.or(protractor.ExpectedConditions.alertIsPresent(), protractor.ExpectedConditions.elementToBeClickable(el));
+}
+
function TestProtractor() {
var ptor: protractor.Protractor;
var driver: webdriver.WebDriver = new webdriver.Builder().
diff --git a/angular-protractor/angular-protractor.d.ts b/angular-protractor/angular-protractor.d.ts
index ff8324238..08f83e27d 100644
--- a/angular-protractor/angular-protractor.d.ts
+++ b/angular-protractor/angular-protractor.d.ts
@@ -501,6 +501,145 @@ declare module protractor {
function titleMatches(regex: RegExp): webdriver.until.Condition;
}
+ module ExpectedConditions {
+ /**
+ * Negates the result of a promise.
+ *
+ * @param {webdriver.until.Condition} expectedCondition
+ * @return {!webdriver.until.Condition} An expected condition that returns the negated value.
+ */
+ function not(expectedCondition: webdriver.until.Condition): webdriver.until.Condition;
+
+ /**
+ * Chain a number of expected conditions using logical_and, short circuiting at the
+ * first expected condition that evaluates to false.
+ *
+ * @param {...webdriver.until.Condition[]} fns An array of expected conditions to 'and' together.
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise which evaluates
+ * to the result of the logical and.
+ */
+ function and(...fns: webdriver.until.Condition[]): webdriver.until.Condition;
+
+ /**
+ * Chain a number of expected conditions using logical_or, short circuiting at the
+ * first expected condition that evaluates to true.
+ *
+ * @param {...webdriver.until.Condition[]} fns An array of expected conditions to 'or' together.
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise which
+ * evaluates to the result of the logical or.
+ */
+ function or(...fns: webdriver.until.Condition[]): webdriver.until.Condition;
+
+ /**
+ * Expect an alert to be present.
+ *
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether an alert is present.
+ */
+ function alertIsPresent(): webdriver.until.Condition;
+
+ /**
+ * An Expectation for checking an element is visible and enabled such that you can click it.
+ *
+ * @param {ElementFinder} element The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the element is clickable.
+ */
+ function elementToBeClickable(element: ElementFinder): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking if the given text is present in the element.
+ * Returns false if the elementFinder does not find an element.
+ *
+ * @param {ElementFinder} element The element to check
+ * @param {string} text The text to verify against
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the text is present in the element.
+ */
+ function textToBePresentInElement(element: ElementFinder, text: string): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking if the given text is present in the element’s value.
+ * Returns false if the elementFinder does not find an element.
+ *
+ * @param {ElementFinder} element The element to check
+ * @param {string} text The text to verify against
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the text is present in the element's value.
+ */
+ function textToBePresentInElementValue(
+ element: ElementFinder, text: string
+ ): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking that the title contains a case-sensitive substring.
+ *
+ * @param {string} title The fragment of title expected
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the title contains the string.
+ */
+ function titleContains(title: string): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking the title of a page.
+ *
+ * @param {string} title The expected title, which must be an exact match.
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the title equals the string.
+ */
+ function titleIs(title: string): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking that an element is present on the DOM of a page. This does not necessarily
+ * mean that the element is visible. This is the opposite of 'stalenessOf'.
+ *
+ * @param {ElementFinder} elementFinder The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise
+ * representing whether the element is present.
+ */
+ function presenceOf(element: ElementFinder): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking that an element is not attached to the DOM of a page.
+ * This is the opposite of 'presenceOf'.
+ *
+ * @param {ElementFinder} elementFinder The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the element is stale.
+ */
+ function stalenessOf(element: ElementFinder): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking that an element is present on the DOM of a page and visible.
+ * Visibility means that the element is not only displayed but also has a height and width that is
+ * greater than 0. This is the opposite of 'invisibilityOf'.
+ *
+ * @param {ElementFinder} elementFinder The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the element is visible.
+ */
+ function visibilityOf(element: ElementFinder): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking that an element is present on the DOM of a page. This does not necessarily
+ * mean that the element is visible. This is the opposite of 'stalenessOf'.
+ *
+ * @param {ElementFinder} elementFinder The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the element is invisible.
+ */
+ function invisibilityOf(element: ElementFinder): webdriver.until.Condition;
+
+ /**
+ * An expectation for checking the selection is selected.
+ *
+ * @param {ElementFinder} elementFinder The element to check
+ * @return {!webdriver.until.Condition} An expected condition that returns a promise representing
+ * whether the element is selected.
+ */
+ function elementToBeSelected(element: ElementFinder): webdriver.until.Condition;
+ }
+
//endregion
/**
@@ -1667,6 +1806,16 @@ declare module protractor {
* @return {Protractor} a protractor instance.
*/
forkNewDriverInstance(opt_useSameUrl?: boolean, opt_copyMockModules?: boolean): Protractor;
+
+ /**
+ * Get the processed configuration object that is currently being run. This will contain
+ * the specs and capabilities properties of the current runner instance.
+ *
+ * Set by the runner.
+ *
+ * @return {webdriver.promise.Promise} A promise which resolves to the capabilities object.
+ */
+ getProcessedConfig(): webdriver.promise.Promise;
}
/**
diff --git a/angular-translate/angular-translate.d.ts b/angular-translate/angular-translate.d.ts
index ee855af3d..960012a57 100644
--- a/angular-translate/angular-translate.d.ts
+++ b/angular-translate/angular-translate.d.ts
@@ -6,8 +6,8 @@
///
declare module "angular-translate" {
- var _: string;
- export = _;
+ import ngt = angular.translate;
+ export = ngt;
}
declare module angular.translate {
@@ -22,7 +22,7 @@ declare module angular.translate {
interface IStorage {
get(name: string): string;
- set(name: string, value: string): void;
+ put(name: string, value: string): void;
}
interface IStaticFilesLoaderOptions {
diff --git a/angular-ui-router/angular-ui-router-tests.ts b/angular-ui-router/angular-ui-router-tests.ts
index 3211faee5..41661d60d 100644
--- a/angular-ui-router/angular-ui-router-tests.ts
+++ b/angular-ui-router/angular-ui-router-tests.ts
@@ -230,7 +230,7 @@ module UrlRouterProviderTests {
// this allows you to configure custom behavior in between
// location changes and route synchronization:
$urlRouterProvider.deferIntercept();
- }).run(($rootScope: ng.IRootScopeService, $urlRouter: ng.ui.IUrlRouterService, UserService: ITestUserService) => {
+ }).run(($rootScope: ng.IRootScopeService, $urlRouter: ng.ui.IUrlRouterService, UserService: ITestUserService, $urlMatcher: ng.ui.IUrlMatcher) => {
$rootScope.$on('$locationChangeSuccess', e => {
// UserService is an example service for managing user state
if (UserService.isLoggedIn()) return;
@@ -245,6 +245,18 @@ module UrlRouterProviderTests {
});
// Configures $urlRouter's listener *after* your custom listener
- $urlRouter.listen();
+ var listen: Function = $urlRouter.listen();
+
+ var href: string;
+ href = $urlRouter.href($urlMatcher);
+ href = $urlRouter.href($urlMatcher, {});
+ href = $urlRouter.href($urlMatcher, {}, {});
+
+ $urlRouter.update();
+ $urlRouter.update(false);
+
+ $urlRouter.push($urlMatcher);
+ $urlRouter.push($urlMatcher, {});
+ $urlRouter.push($urlMatcher, {}, {});
});
}
diff --git a/angular-ui-router/angular-ui-router.d.ts b/angular-ui-router/angular-ui-router.d.ts
index 257446f69..a22b7d0da 100644
--- a/angular-ui-router/angular-ui-router.d.ts
+++ b/angular-ui-router/angular-ui-router.d.ts
@@ -300,7 +300,10 @@ declare module angular.ui {
*
*/
sync(): void;
- listen(): void;
+ listen(): Function;
+ href(urlMatcher: IUrlMatcher, params?: IStateParamsService, options?: IHrefOptions): string;
+ update(read?: boolean): void;
+ push(urlMatcher: IUrlMatcher, params?: IStateParamsService, options?: IHrefOptions): void;
}
interface IUiViewScrollProvider {
diff --git a/angular-ui-tree/angular-ui-tree-tests.ts b/angular-ui-tree/angular-ui-tree-tests.ts
index 4e5ef91b9..718fada2c 100644
--- a/angular-ui-tree/angular-ui-tree-tests.ts
+++ b/angular-ui-tree/angular-ui-tree-tests.ts
@@ -78,5 +78,6 @@ var droppedCallback: AngularUITree.IDroppedCallback = (eventInfo: AngularUITree.
var callbacks: AngularUITree.ICallbacks = {
accept: acceptCallback,
+ dragStart: droppedCallback,
dropped: droppedCallback
};
diff --git a/angular-ui-tree/angular-ui-tree.d.ts b/angular-ui-tree/angular-ui-tree.d.ts
index 62c8899fa..cfcb2b108 100644
--- a/angular-ui-tree/angular-ui-tree.d.ts
+++ b/angular-ui-tree/angular-ui-tree.d.ts
@@ -54,6 +54,7 @@ declare module AngularUITree {
interface ICallbacks {
accept: IAcceptCallback;
+ dragStart: IDroppedCallback;
dropped: IDroppedCallback;
}
diff --git a/angularjs/angular-resource.d.ts b/angularjs/angular-resource.d.ts
index 14e8d46fb..1e82f3154 100644
--- a/angularjs/angular-resource.d.ts
+++ b/angularjs/angular-resource.d.ts
@@ -5,6 +5,10 @@
///
+declare module 'angular-resource' {
+ var _: string;
+ export = _;
+}
///////////////////////////////////////////////////////////////////////////////
// ngResource module (angular-resource.js)
diff --git a/angularjs/angular-route.d.ts b/angularjs/angular-route.d.ts
index 5f426d51c..eafdf714c 100644
--- a/angularjs/angular-route.d.ts
+++ b/angularjs/angular-route.d.ts
@@ -128,6 +128,12 @@ declare module angular.route {
}
interface IRouteProvider extends IServiceProvider {
+ /**
+ * Match routes without being case sensitive
+ *
+ * This option defaults to false. If the option is set to true, then the particular route can be matched without being case sensitive
+ */
+ caseInsensitiveMatch?: boolean;
/**
* Sets route definition that will be used on route change when no other route definition is matched.
*
diff --git a/angularjs/angular.d.ts b/angularjs/angular.d.ts
index a489141d5..97477e9a8 100644
--- a/angularjs/angular.d.ts
+++ b/angularjs/angular.d.ts
@@ -165,7 +165,7 @@ declare module angular {
dot: number;
codeName: string;
};
-
+
/**
* If window.name contains prefix NG_DEFER_BOOTSTRAP! when angular.bootstrap is called, the bootstrap process will be paused until angular.resumeBootstrap() is called.
* @param extraModules An optional array of modules that should be added to the original list of modules that the app was about to be bootstrapped with.
@@ -181,6 +181,13 @@ declare module angular {
animation(name: string, animationFactory: Function): IModule;
animation(name: string, inlineAnnotatedFunction: any[]): IModule;
animation(object: Object): IModule;
+ /**
+ * Use this method to register a component.
+ *
+ * @param name The name of the component.
+ * @param options A definition object passed into the component.
+ */
+ component(name: string, options: IComponentOptions): IModule;
/**
* Use this method to register work which needs to be performed on module loading.
*
@@ -1620,6 +1627,29 @@ declare module angular {
totalPendingRequests: number;
}
+ ///////////////////////////////////////////////////////////////////////////
+ // Component
+ // see http://angularjs.blogspot.com.br/2015/11/angularjs-15-beta2-and-14-releases.html
+ // and http://toddmotto.com/exploring-the-angular-1-5-component-method/
+ ///////////////////////////////////////////////////////////////////////////
+
+ interface IComponentOptions {
+ bindings?: Object;
+ controller?: string | Function;
+ controllerAs?: string;
+ isolate?: boolean;
+ template?: string | IComponentTemplateFn;
+ templateUrl?: string | IComponentTemplateFn;
+ transclude?: boolean;
+ restrict?: string;
+ $canActivate?: Function;
+ $routeConfig?: Object;
+ }
+
+ interface IComponentTemplateFn {
+ ( $element?: IAugmentedJQuery, $attrs?: IAttributes ): string;
+ }
+
///////////////////////////////////////////////////////////////////////////
// Directive
// see http://docs.angularjs.org/api/ng.$compileProvider#directive
diff --git a/api-error-handler/api-error-handler-tests.ts b/api-error-handler/api-error-handler-tests.ts
index 83df91e86..fc92cf9a7 100644
--- a/api-error-handler/api-error-handler-tests.ts
+++ b/api-error-handler/api-error-handler-tests.ts
@@ -1,7 +1,7 @@
///
-import errorHandler = require('api-error-handler');
-import express = require('express');
+import * as errorHandler from 'api-error-handler';
+import * as express from 'express';
var api = express.Router();
api.get('/users/:userid', function (req, res, next) {
@@ -9,3 +9,5 @@ api.get('/users/:userid', function (req, res, next) {
});
api.use(errorHandler());
+
+let res: errorHandler.Response;
diff --git a/api-error-handler/api-error-handler.d.ts b/api-error-handler/api-error-handler.d.ts
index 61a63825d..90318acd0 100644
--- a/api-error-handler/api-error-handler.d.ts
+++ b/api-error-handler/api-error-handler.d.ts
@@ -6,7 +6,23 @@
///
declare module 'api-error-handler' {
- import express = require('express');
+ import * as express from 'express';
+
+ namespace apiErrorHandler {
+
+ // Body response: the JSON returned by api-error-handler
+ // See https://github.com/expressjs/api-error-handler/blob/1.0.0/index.js
+ interface Response {
+ status: number;
+ stack?: string;
+ message: string;
+
+ // Client errors
+ code?: any;
+ name?: string;
+ type?: any;
+ }
+ }
function apiErrorHandler(options?: any): express.ErrorRequestHandler;
diff --git a/applicationinsights/applicationinsights-tests.ts b/applicationinsights/applicationinsights-tests.ts
index 8d4d83e9d..eb9d5e701 100644
--- a/applicationinsights/applicationinsights-tests.ts
+++ b/applicationinsights/applicationinsights-tests.ts
@@ -1,5 +1,5 @@
///
-import appInsights = require("applicationinsights");
+import * as appInsights from "applicationinsights";
// basic use
appInsights.setup("").start();
@@ -24,3 +24,8 @@ appInsights.client.trackDependency("dependency name", "commandName", 500, true);
appInsights.client.commonProperties = {
environment: "dev"
};
+
+// send any pending data and log the response
+appInsights.client.sendPendingData(function (response) {
+ console.log(response);
+});
diff --git a/applicationinsights/applicationinsights.d.ts b/applicationinsights/applicationinsights.d.ts
index 9fc6f494d..d5c895466 100644
--- a/applicationinsights/applicationinsights.d.ts
+++ b/applicationinsights/applicationinsights.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Application Insights v0.15.7
+// Type definitions for Application Insights v0.15.8
// Project: https://github.com/Microsoft/ApplicationInsights-node.js
// Definitions by: Scott Southwood
// Definitions: https://github.com/borisyankov/DefinitelyTyped
@@ -358,7 +358,7 @@ interface Client {
/**
* Immediately send all queued telemetry.
*/
- sendPendingData(): void;
+ sendPendingData(callback?: (response: string) => void): void;
getEnvelope(data: ContractsModule.Data, tagOverrides?: {
[key: string]: string;
}): ContractsModule.Envelope;
@@ -409,66 +409,58 @@ interface Sender {
* The singleton meta interface for the default client of the client. This interface is used to setup/start and configure
* the auto-collection behavior of the application insights module.
*/
-declare class ApplicationInsights {
- static client: Client;
- private static _isConsole;
- private static _isExceptions;
- private static _isPerformance;
- private static _isRequests;
- private static _console;
- private static _exceptions;
- private static _performance;
- private static _requests;
- private static _isStarted;
+interface ApplicationInsights {
+ client: Client;
/**
* Initializes a client with the given instrumentation key, if this is not specified, the value will be
* read from the environment variable APPINSIGHTS_INSTRUMENTATIONKEY
* @returns {ApplicationInsights/Client} a new client
*/
- static getClient(instrumentationKey?: string): Client;
+ getClient(instrumentationKey?: string): Client;
/**
* Initializes the default client of the client and sets the default configuration
* @param instrumentationKey the instrumentation key to use. Optional, if this is not specified, the value will be
* read from the environment variable APPINSIGHTS_INSTRUMENTATIONKEY
* @returns {ApplicationInsights} this interface
*/
- static setup(instrumentationKey?: string): typeof ApplicationInsights;
+ setup(instrumentationKey?: string): ApplicationInsights;
/**
* Starts automatic collection of telemetry. Prior to calling start no telemetry will be collected
* @returns {ApplicationInsights} this interface
*/
- static start(): typeof ApplicationInsights;
+ start(): ApplicationInsights;
/**
* Sets the state of console tracking (enabled by default)
* @param value if true console activity will be sent to Application Insights
* @returns {ApplicationInsights} this interface
*/
- static setAutoCollectConsole(value: boolean): typeof ApplicationInsights;
+ setAutoCollectConsole(value: boolean): ApplicationInsights;
/**
* Sets the state of exception tracking (enabled by default)
* @param value if true uncaught exceptions will be sent to Application Insights
* @returns {ApplicationInsights} this interface
*/
- static setAutoCollectExceptions(value: boolean): typeof ApplicationInsights;
+ setAutoCollectExceptions(value: boolean): ApplicationInsights;
/**
* Sets the state of performance tracking (enabled by default)
* @param value if true performance counters will be collected every second and sent to Application Insights
* @returns {ApplicationInsights} this interface
*/
- static setAutoCollectPerformance(value: boolean): typeof ApplicationInsights;
+ setAutoCollectPerformance(value: boolean): ApplicationInsights;
/**
* Sets the state of request tracking (enabled by default)
* @param value if true requests will be sent to Application Insights
* @returns {ApplicationInsights} this interface
*/
- static setAutoCollectRequests(value: boolean): typeof ApplicationInsights;
+ setAutoCollectRequests(value: boolean): ApplicationInsights;
/**
* Enables verbose debug logging
* @returns {ApplicationInsights} this interface
*/
- static enableVerboseLogging(): typeof ApplicationInsights;
+ enableVerboseLogging(): ApplicationInsights;
}
declare module "applicationinsights" {
- export = ApplicationInsights;
+ const applicationinsights: ApplicationInsights;
+ export = applicationinsights;
}
\ No newline at end of file
diff --git a/auth0/auth0.d.ts b/auth0/auth0.d.ts
index b2e1149fb..1548bd06f 100644
--- a/auth0/auth0.d.ts
+++ b/auth0/auth0.d.ts
@@ -51,6 +51,8 @@ interface Auth0UserProfile {
user_id: string;
/** Represents one or more Identities that may be associated with the User. */
identities: Auth0Identity[];
+ user_metadata?: any;
+ app_metadata?: any;
}
/** Represents an Auth0UserProfile that has a Microsoft Account as the primary identity. */
diff --git a/aws-sdk/aws-sdk-tests.ts.tscparams b/aws-sdk/aws-sdk-tests.ts.tscparams
deleted file mode 100644
index 70401a77e..000000000
--- a/aws-sdk/aws-sdk-tests.ts.tscparams
+++ /dev/null
@@ -1 +0,0 @@
---noImplicitAny --module commonjs --target es5
\ No newline at end of file
diff --git a/aws-sdk/aws-sdk.d.ts b/aws-sdk/aws-sdk.d.ts
index 128341729..f89059463 100644
--- a/aws-sdk/aws-sdk.d.ts
+++ b/aws-sdk/aws-sdk.d.ts
@@ -154,6 +154,12 @@ declare module "aws-sdk" {
constructor(options?: any);
}
+ export module DynamoDB {
+ export class DocumentClient {
+ constructor(options?: any);
+ }
+ }
+
export module SQS {
export interface SqsOptions {
diff --git a/babylonjs/babylon-tests.ts b/babylonjs/babylon-tests.ts
new file mode 100644
index 000000000..142d3840f
--- /dev/null
+++ b/babylonjs/babylon-tests.ts
@@ -0,0 +1 @@
+///
diff --git a/babylonjs/babylon.d.ts b/babylonjs/babylon.d.ts
new file mode 100644
index 000000000..1cc835442
--- /dev/null
+++ b/babylonjs/babylon.d.ts
@@ -0,0 +1,6327 @@
+// Type definitions for BabylonJS v2.2
+// Project: http://www.babylonjs.com/
+// Definitions by: David Catuhe
+// Definitions: https://github.com/borisyankov/babylonjs
+
+
+declare module BABYLON {
+ class _DepthCullingState {
+ private _isDepthTestDirty;
+ private _isDepthMaskDirty;
+ private _isDepthFuncDirty;
+ private _isCullFaceDirty;
+ private _isCullDirty;
+ private _isZOffsetDirty;
+ private _depthTest;
+ private _depthMask;
+ private _depthFunc;
+ private _cull;
+ private _cullFace;
+ private _zOffset;
+ isDirty: boolean;
+ zOffset: number;
+ cullFace: number;
+ cull: boolean;
+ depthFunc: number;
+ depthMask: boolean;
+ depthTest: boolean;
+ reset(): void;
+ apply(gl: WebGLRenderingContext): void;
+ }
+ class _AlphaState {
+ private _isAlphaBlendDirty;
+ private _isBlendFunctionParametersDirty;
+ private _alphaBlend;
+ private _blendFunctionParameters;
+ isDirty: boolean;
+ alphaBlend: boolean;
+ setAlphaBlendFunctionParameters(value0: number, value1: number, value2: number, value3: number): void;
+ reset(): void;
+ apply(gl: WebGLRenderingContext): void;
+ }
+ class EngineCapabilities {
+ maxTexturesImageUnits: number;
+ maxTextureSize: number;
+ maxCubemapTextureSize: number;
+ maxRenderTextureSize: number;
+ standardDerivatives: boolean;
+ s3tc: any;
+ textureFloat: boolean;
+ textureAnisotropicFilterExtension: any;
+ maxAnisotropy: number;
+ instancedArrays: any;
+ uintIndices: boolean;
+ highPrecisionShaderSupported: boolean;
+ }
+ /**
+ * The engine class is responsible for interfacing with all lower-level APIs such as WebGL and Audio.
+ */
+ class Engine {
+ private static _ALPHA_DISABLE;
+ private static _ALPHA_ADD;
+ private static _ALPHA_COMBINE;
+ private static _ALPHA_SUBTRACT;
+ private static _ALPHA_MULTIPLY;
+ private static _ALPHA_MAXIMIZED;
+ private static _ALPHA_ONEONE;
+ private static _DELAYLOADSTATE_NONE;
+ private static _DELAYLOADSTATE_LOADED;
+ private static _DELAYLOADSTATE_LOADING;
+ private static _DELAYLOADSTATE_NOTLOADED;
+ private static _TEXTUREFORMAT_ALPHA;
+ private static _TEXTUREFORMAT_LUMINANCE;
+ private static _TEXTUREFORMAT_LUMINANCE_ALPHA;
+ private static _TEXTUREFORMAT_RGB;
+ private static _TEXTUREFORMAT_RGBA;
+ private static _TEXTURETYPE_UNSIGNED_INT;
+ private static _TEXTURETYPE_FLOAT;
+ static ALPHA_DISABLE: number;
+ static ALPHA_ONEONE: number;
+ static ALPHA_ADD: number;
+ static ALPHA_COMBINE: number;
+ static ALPHA_SUBTRACT: number;
+ static ALPHA_MULTIPLY: number;
+ static ALPHA_MAXIMIZED: number;
+ static DELAYLOADSTATE_NONE: number;
+ static DELAYLOADSTATE_LOADED: number;
+ static DELAYLOADSTATE_LOADING: number;
+ static DELAYLOADSTATE_NOTLOADED: number;
+ static TEXTUREFORMAT_ALPHA: number;
+ static TEXTUREFORMAT_LUMINANCE: number;
+ static TEXTUREFORMAT_LUMINANCE_ALPHA: number;
+ static TEXTUREFORMAT_RGB: number;
+ static TEXTUREFORMAT_RGBA: number;
+ static TEXTURETYPE_UNSIGNED_INT: number;
+ static TEXTURETYPE_FLOAT: number;
+ static Version: string;
+ static Epsilon: number;
+ static CollisionsEpsilon: number;
+ static CodeRepository: string;
+ static ShadersRepository: string;
+ isFullscreen: boolean;
+ isPointerLock: boolean;
+ cullBackFaces: boolean;
+ renderEvenInBackground: boolean;
+ enableOfflineSupport: boolean;
+ scenes: Scene[];
+ _gl: WebGLRenderingContext;
+ private _renderingCanvas;
+ private _windowIsBackground;
+ static audioEngine: AudioEngine;
+ private _onBlur;
+ private _onFocus;
+ private _onFullscreenChange;
+ private _onPointerLockChange;
+ private _hardwareScalingLevel;
+ private _caps;
+ private _pointerLockRequested;
+ private _alphaTest;
+ private _resizeLoadingUI;
+ private _loadingDiv;
+ private _loadingTextDiv;
+ private _loadingDivBackgroundColor;
+ private _drawCalls;
+ private _glVersion;
+ private _glRenderer;
+ private _glVendor;
+ private _videoTextureSupported;
+ private _renderingQueueLaunched;
+ private _activeRenderLoops;
+ private fpsRange;
+ private previousFramesDuration;
+ private fps;
+ private deltaTime;
+ private _depthCullingState;
+ private _alphaState;
+ private _alphaMode;
+ private _loadedTexturesCache;
+ _activeTexturesCache: BaseTexture[];
+ private _currentEffect;
+ private _compiledEffects;
+ private _vertexAttribArrays;
+ private _cachedViewport;
+ private _cachedVertexBuffers;
+ private _cachedIndexBuffer;
+ private _cachedEffectForVertexBuffers;
+ private _currentRenderTarget;
+ private _uintIndicesCurrentlySet;
+ private _workingCanvas;
+ private _workingContext;
+ /**
+ * @constructor
+ * @param {HTMLCanvasElement} canvas - the canvas to be used for rendering
+ * @param {boolean} [antialias] - enable antialias
+ * @param options - further options to be sent to the getContext function
+ */
+ constructor(canvas: HTMLCanvasElement, antialias?: boolean, options?: any);
+ private _prepareWorkingCanvas();
+ getGlInfo(): {
+ vendor: string;
+ renderer: string;
+ version: string;
+ };
+ getAspectRatio(camera: Camera): number;
+ getRenderWidth(): number;
+ getRenderHeight(): number;
+ getRenderingCanvas(): HTMLCanvasElement;
+ getRenderingCanvasClientRect(): ClientRect;
+ setHardwareScalingLevel(level: number): void;
+ getHardwareScalingLevel(): number;
+ getLoadedTexturesCache(): WebGLTexture[];
+ getCaps(): EngineCapabilities;
+ drawCalls: number;
+ resetDrawCalls(): void;
+ setDepthFunctionToGreater(): void;
+ setDepthFunctionToGreaterOrEqual(): void;
+ setDepthFunctionToLess(): void;
+ setDepthFunctionToLessOrEqual(): void;
+ /**
+ * stop executing a render loop function and remove it from the execution array
+ * @param {Function} [renderFunction] the function to be removed. If not provided all functions will be removed.
+ */
+ stopRenderLoop(renderFunction?: () => void): void;
+ _renderLoop(): void;
+ /**
+ * Register and execute a render loop. The engine can have more than one render function.
+ * @param {Function} renderFunction - the function to continuesly execute starting the next render loop.
+ * @example
+ * engine.runRenderLoop(function () {
+ * scene.render()
+ * })
+ */
+ runRenderLoop(renderFunction: () => void): void;
+ /**
+ * Toggle full screen mode.
+ * @param {boolean} requestPointerLock - should a pointer lock be requested from the user
+ */
+ switchFullscreen(requestPointerLock: boolean): void;
+ clear(color: any, backBuffer: boolean, depthStencil: boolean): void;
+ /**
+ * Set the WebGL's viewport
+ * @param {BABYLON.Viewport} viewport - the viewport element to be used.
+ * @param {number} [requiredWidth] - the width required for rendering. If not provided the rendering canvas' width is used.
+ * @param {number} [requiredHeight] - the height required for rendering. If not provided the rendering canvas' height is used.
+ */
+ setViewport(viewport: Viewport, requiredWidth?: number, requiredHeight?: number): void;
+ setDirectViewport(x: number, y: number, width: number, height: number): void;
+ beginFrame(): void;
+ endFrame(): void;
+ /**
+ * resize the view according to the canvas' size.
+ * @example
+ * window.addEventListener("resize", function () {
+ * engine.resize();
+ * });
+ */
+ resize(): void;
+ /**
+ * force a specific size of the canvas
+ * @param {number} width - the new canvas' width
+ * @param {number} height - the new canvas' height
+ */
+ setSize(width: number, height: number): void;
+ bindFramebuffer(texture: WebGLTexture): void;
+ unBindFramebuffer(texture: WebGLTexture): void;
+ flushFramebuffer(): void;
+ restoreDefaultFramebuffer(): void;
+ private _resetVertexBufferBinding();
+ createVertexBuffer(vertices: number[]): WebGLBuffer;
+ createDynamicVertexBuffer(capacity: number): WebGLBuffer;
+ updateDynamicVertexBuffer(vertexBuffer: WebGLBuffer, vertices: any, offset?: number): void;
+ private _resetIndexBufferBinding();
+ createIndexBuffer(indices: number[]): WebGLBuffer;
+ bindBuffers(vertexBuffer: WebGLBuffer, indexBuffer: WebGLBuffer, vertexDeclaration: number[], vertexStrideSize: number, effect: Effect): void;
+ bindMultiBuffers(vertexBuffers: VertexBuffer[], indexBuffer: WebGLBuffer, effect: Effect): void;
+ _releaseBuffer(buffer: WebGLBuffer): boolean;
+ createInstancesBuffer(capacity: number): WebGLBuffer;
+ deleteInstancesBuffer(buffer: WebGLBuffer): void;
+ updateAndBindInstancesBuffer(instancesBuffer: WebGLBuffer, data: Float32Array, offsetLocations: number[]): void;
+ unBindInstancesBuffer(instancesBuffer: WebGLBuffer, offsetLocations: number[]): void;
+ applyStates(): void;
+ draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void;
+ drawPointClouds(verticesStart: number, verticesCount: number, instancesCount?: number): void;
+ _releaseEffect(effect: Effect): void;
+ createEffect(baseName: any, attributesNames: string[], uniformsNames: string[], samplers: string[], defines: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void): Effect;
+ createEffectForParticles(fragmentName: string, uniformsNames?: string[], samplers?: string[], defines?: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void): Effect;
+ createShaderProgram(vertexCode: string, fragmentCode: string, defines: string): WebGLProgram;
+ getUniforms(shaderProgram: WebGLProgram, uniformsNames: string[]): WebGLUniformLocation[];
+ getAttributes(shaderProgram: WebGLProgram, attributesNames: string[]): number[];
+ enableEffect(effect: Effect): void;
+ setArray(uniform: WebGLUniformLocation, array: number[]): void;
+ setArray2(uniform: WebGLUniformLocation, array: number[]): void;
+ setArray3(uniform: WebGLUniformLocation, array: number[]): void;
+ setArray4(uniform: WebGLUniformLocation, array: number[]): void;
+ setMatrices(uniform: WebGLUniformLocation, matrices: Float32Array): void;
+ setMatrix(uniform: WebGLUniformLocation, matrix: Matrix): void;
+ setMatrix3x3(uniform: WebGLUniformLocation, matrix: Float32Array): void;
+ setMatrix2x2(uniform: WebGLUniformLocation, matrix: Float32Array): void;
+ setFloat(uniform: WebGLUniformLocation, value: number): void;
+ setFloat2(uniform: WebGLUniformLocation, x: number, y: number): void;
+ setFloat3(uniform: WebGLUniformLocation, x: number, y: number, z: number): void;
+ setBool(uniform: WebGLUniformLocation, bool: number): void;
+ setFloat4(uniform: WebGLUniformLocation, x: number, y: number, z: number, w: number): void;
+ setColor3(uniform: WebGLUniformLocation, color3: Color3): void;
+ setColor4(uniform: WebGLUniformLocation, color3: Color3, alpha: number): void;
+ setState(culling: boolean, zOffset?: number, force?: boolean): void;
+ setDepthBuffer(enable: boolean): void;
+ getDepthWrite(): boolean;
+ setDepthWrite(enable: boolean): void;
+ setColorWrite(enable: boolean): void;
+ setAlphaMode(mode: number): void;
+ getAlphaMode(): number;
+ setAlphaTesting(enable: boolean): void;
+ getAlphaTesting(): boolean;
+ wipeCaches(): void;
+ setSamplingMode(texture: WebGLTexture, samplingMode: number): void;
+ createTexture(url: string, noMipmap: boolean, invertY: boolean, scene: Scene, samplingMode?: number, onLoad?: () => void, onError?: () => void, buffer?: any): WebGLTexture;
+ updateRawTexture(texture: WebGLTexture, data: ArrayBufferView, format: number, invertY: boolean, compression?: string): void;
+ createRawTexture(data: ArrayBufferView, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: string): WebGLTexture;
+ createDynamicTexture(width: number, height: number, generateMipMaps: boolean, samplingMode: number, forceExponantOfTwo?: boolean): WebGLTexture;
+ updateTextureSamplingMode(samplingMode: number, texture: WebGLTexture): void;
+ updateDynamicTexture(texture: WebGLTexture, canvas: HTMLCanvasElement, invertY: boolean): void;
+ updateVideoTexture(texture: WebGLTexture, video: HTMLVideoElement, invertY: boolean): void;
+ createRenderTargetTexture(size: any, options: any): WebGLTexture;
+ createCubeTexture(rootUrl: string, scene: Scene, extensions: string[], noMipmap?: boolean): WebGLTexture;
+ _releaseTexture(texture: WebGLTexture): void;
+ bindSamplers(effect: Effect): void;
+ _bindTexture(channel: number, texture: WebGLTexture): void;
+ setTextureFromPostProcess(channel: number, postProcess: PostProcess): void;
+ setTexture(channel: number, texture: BaseTexture): void;
+ _setAnisotropicLevel(key: number, texture: BaseTexture): void;
+ readPixels(x: number, y: number, width: number, height: number): Uint8Array;
+ dispose(): void;
+ displayLoadingUI(): void;
+ loadingUIText: string;
+ loadingUIBackgroundColor: string;
+ hideLoadingUI(): void;
+ getFps(): number;
+ getDeltaTime(): number;
+ private _measureFps();
+ static isSupported(): boolean;
+ }
+}
+
+interface Window {
+ mozIndexedDB(func: any): any;
+ webkitIndexedDB(func: any): any;
+ IDBTransaction(func: any): any;
+ webkitIDBTransaction(func: any): any;
+ msIDBTransaction(func: any): any;
+ IDBKeyRange(func: any): any;
+ webkitIDBKeyRange(func: any): any;
+ msIDBKeyRange(func: any): any;
+ webkitURL: HTMLURL;
+ webkitRequestAnimationFrame(func: any): any;
+ mozRequestAnimationFrame(func: any): any;
+ oRequestAnimationFrame(func: any): any;
+ WebGLRenderingContext: WebGLRenderingContext;
+ MSGesture: MSGesture;
+ CANNON: any;
+ SIMD: any;
+ AudioContext: AudioContext;
+ webkitAudioContext: AudioContext;
+}
+interface HTMLURL {
+ createObjectURL(param1: any, param2?: any): any;
+}
+interface Document {
+ exitFullscreen(): void;
+ webkitCancelFullScreen(): void;
+ mozCancelFullScreen(): void;
+ msCancelFullScreen(): void;
+ mozFullScreen: boolean;
+ msIsFullScreen: boolean;
+ fullscreen: boolean;
+ mozPointerLockElement: HTMLElement;
+ msPointerLockElement: HTMLElement;
+ webkitPointerLockElement: HTMLElement;
+}
+interface HTMLCanvasElement {
+ requestPointerLock(): void;
+ msRequestPointerLock(): void;
+ mozRequestPointerLock(): void;
+ webkitRequestPointerLock(): void;
+}
+interface CanvasRenderingContext2D {
+ imageSmoothingEnabled: boolean;
+ mozImageSmoothingEnabled: boolean;
+ oImageSmoothingEnabled: boolean;
+ webkitImageSmoothingEnabled: boolean;
+}
+interface WebGLTexture {
+ isReady: boolean;
+ isCube: boolean;
+ url: string;
+ noMipmap: boolean;
+ samplingMode: number;
+ references: number;
+ generateMipMaps: boolean;
+ _size: number;
+ _baseWidth: number;
+ _baseHeight: number;
+ _width: number;
+ _height: number;
+ _workingCanvas: HTMLCanvasElement;
+ _workingContext: CanvasRenderingContext2D;
+ _framebuffer: WebGLFramebuffer;
+ _depthBuffer: WebGLRenderbuffer;
+ _cachedCoordinatesMode: number;
+ _cachedWrapU: number;
+ _cachedWrapV: number;
+ _isDisabled: boolean;
+}
+interface WebGLBuffer {
+ references: number;
+ capacity: number;
+ is32Bits: boolean;
+}
+interface MouseEvent {
+ mozMovementX: number;
+ mozMovementY: number;
+ webkitMovementX: number;
+ webkitMovementY: number;
+ msMovementX: number;
+ msMovementY: number;
+}
+interface MSStyleCSSProperties {
+ webkitTransform: string;
+ webkitTransition: string;
+}
+interface Navigator {
+ getVRDevices: () => any;
+ mozGetVRDevices: (any: any) => any;
+ isCocoonJS: boolean;
+}
+interface Screen {
+ orientation: string;
+ mozOrientation: string;
+}
+
+declare module BABYLON {
+ /**
+ * Node is the basic class for all scene objects (Mesh, Light Camera).
+ */
+ class Node {
+ parent: Node;
+ name: string;
+ id: string;
+ uniqueId: number;
+ state: string;
+ animations: Animation[];
+ onReady: (node: Node) => void;
+ private _childrenFlag;
+ private _isEnabled;
+ private _isReady;
+ _currentRenderId: number;
+ private _parentRenderId;
+ _waitingParentId: string;
+ private _scene;
+ _cache: any;
+ /**
+ * @constructor
+ * @param {string} name - the name and id to be given to this node
+ * @param {BABYLON.Scene} the scene this node will be added to
+ */
+ constructor(name: string, scene: Scene);
+ getScene(): Scene;
+ getEngine(): Engine;
+ getWorldMatrix(): Matrix;
+ _initCache(): void;
+ updateCache(force?: boolean): void;
+ _updateCache(ignoreParentClass?: boolean): void;
+ _isSynchronized(): boolean;
+ _markSyncedWithParent(): void;
+ isSynchronizedWithParent(): boolean;
+ isSynchronized(updateCache?: boolean): boolean;
+ hasNewParent(update?: boolean): boolean;
+ /**
+ * Is this node ready to be used/rendered
+ * @return {boolean} is it ready
+ */
+ isReady(): boolean;
+ /**
+ * Is this node enabled.
+ * If the node has a parent and is enabled, the parent will be inspected as well.
+ * @return {boolean} whether this node (and its parent) is enabled.
+ * @see setEnabled
+ */
+ isEnabled(): boolean;
+ /**
+ * Set the enabled state of this node.
+ * @param {boolean} value - the new enabled state
+ * @see isEnabled
+ */
+ setEnabled(value: boolean): void;
+ /**
+ * Is this node a descendant of the given node.
+ * The function will iterate up the hierarchy until the ancestor was found or no more parents defined.
+ * @param {BABYLON.Node} ancestor - The parent node to inspect
+ * @see parent
+ */
+ isDescendantOf(ancestor: Node): boolean;
+ _getDescendants(list: Node[], results: Node[]): void;
+ /**
+ * Will return all nodes that have this node as parent.
+ * @return {BABYLON.Node[]} all children nodes of all types.
+ */
+ getDescendants(): Node[];
+ _setReady(state: boolean): void;
+ }
+}
+
+declare module BABYLON {
+ interface IDisposable {
+ dispose(): void;
+ }
+ /**
+ * Represents a scene to be rendered by the engine.
+ * @see http://doc.babylonjs.com/page.php?p=21911
+ */
+ class Scene {
+ private static _FOGMODE_NONE;
+ private static _FOGMODE_EXP;
+ private static _FOGMODE_EXP2;
+ private static _FOGMODE_LINEAR;
+ static MinDeltaTime: number;
+ static MaxDeltaTime: number;
+ static FOGMODE_NONE: number;
+ static FOGMODE_EXP: number;
+ static FOGMODE_EXP2: number;
+ static FOGMODE_LINEAR: number;
+ autoClear: boolean;
+ clearColor: any;
+ ambientColor: Color3;
+ /**
+ * A function to be executed before rendering this scene
+ * @type {Function}
+ */
+ beforeRender: () => void;
+ /**
+ * A function to be executed after rendering this scene
+ * @type {Function}
+ */
+ afterRender: () => void;
+ /**
+ * A function to be executed when this scene is disposed.
+ * @type {Function}
+ */
+ onDispose: () => void;
+ beforeCameraRender: (camera: Camera) => void;
+ afterCameraRender: (camera: Camera) => void;
+ forceWireframe: boolean;
+ forcePointsCloud: boolean;
+ forceShowBoundingBoxes: boolean;
+ clipPlane: Plane;
+ animationsEnabled: boolean;
+ private _onPointerMove;
+ private _onPointerDown;
+ private _onPointerUp;
+ onPointerDown: (evt: PointerEvent, pickInfo: PickingInfo) => void;
+ onPointerUp: (evt: PointerEvent, pickInfo: PickingInfo) => void;
+ cameraToUseForPointers: Camera;
+ private _pointerX;
+ private _pointerY;
+ private _meshUnderPointer;
+ private _onKeyDown;
+ private _onKeyUp;
+ /**
+ * is fog enabled on this scene.
+ * @type {boolean}
+ */
+ fogEnabled: boolean;
+ fogMode: number;
+ fogColor: Color3;
+ fogDensity: number;
+ fogStart: number;
+ fogEnd: number;
+ /**
+ * is shadow enabled on this scene.
+ * @type {boolean}
+ */
+ shadowsEnabled: boolean;
+ /**
+ * is light enabled on this scene.
+ * @type {boolean}
+ */
+ lightsEnabled: boolean;
+ /**
+ * All of the lights added to this scene.
+ * @see BABYLON.Light
+ * @type {BABYLON.Light[]}
+ */
+ lights: Light[];
+ onNewLightAdded: (newLight?: Light, positionInArray?: number, scene?: Scene) => void;
+ onLightRemoved: (removedLight?: Light) => void;
+ /**
+ * All of the cameras added to this scene.
+ * @see BABYLON.Camera
+ * @type {BABYLON.Camera[]}
+ */
+ cameras: Camera[];
+ onNewCameraAdded: (newCamera?: Camera, positionInArray?: number, scene?: Scene) => void;
+ onCameraRemoved: (removedCamera?: Camera) => void;
+ activeCameras: Camera[];
+ activeCamera: Camera;
+ /**
+ * All of the (abstract) meshes added to this scene.
+ * @see BABYLON.AbstractMesh
+ * @type {BABYLON.AbstractMesh[]}
+ */
+ meshes: AbstractMesh[];
+ onNewMeshAdded: (newMesh?: AbstractMesh, positionInArray?: number, scene?: Scene) => void;
+ onMeshRemoved: (removedMesh?: AbstractMesh) => void;
+ private _geometries;
+ onGeometryAdded: (newGeometry?: Geometry) => void;
+ onGeometryRemoved: (removedGeometry?: Geometry) => void;
+ materials: Material[];
+ multiMaterials: MultiMaterial[];
+ defaultMaterial: StandardMaterial;
+ texturesEnabled: boolean;
+ textures: BaseTexture[];
+ particlesEnabled: boolean;
+ particleSystems: ParticleSystem[];
+ spritesEnabled: boolean;
+ spriteManagers: SpriteManager[];
+ layers: Layer[];
+ skeletonsEnabled: boolean;
+ skeletons: Skeleton[];
+ lensFlaresEnabled: boolean;
+ lensFlareSystems: LensFlareSystem[];
+ collisionsEnabled: boolean;
+ private _workerCollisions;
+ collisionCoordinator: ICollisionCoordinator;
+ gravity: Vector3;
+ postProcessesEnabled: boolean;
+ postProcessManager: PostProcessManager;
+ postProcessRenderPipelineManager: PostProcessRenderPipelineManager;
+ renderTargetsEnabled: boolean;
+ dumpNextRenderTargets: boolean;
+ customRenderTargets: RenderTargetTexture[];
+ useDelayedTextureLoading: boolean;
+ importedMeshesFiles: String[];
+ database: any;
+ /**
+ * This scene's action manager
+ * @type {BABYLON.ActionManager}
+ */
+ actionManager: ActionManager;
+ _actionManagers: ActionManager[];
+ private _meshesForIntersections;
+ proceduralTexturesEnabled: boolean;
+ _proceduralTextures: ProceduralTexture[];
+ mainSoundTrack: SoundTrack;
+ soundTracks: SoundTrack[];
+ private _audioEnabled;
+ private _headphone;
+ simplificationQueue: SimplificationQueue;
+ private _engine;
+ private _totalVertices;
+ _activeIndices: number;
+ _activeParticles: number;
+ private _lastFrameDuration;
+ private _evaluateActiveMeshesDuration;
+ private _renderTargetsDuration;
+ _particlesDuration: number;
+ private _renderDuration;
+ _spritesDuration: number;
+ private _animationRatio;
+ private _animationStartDate;
+ _cachedMaterial: Material;
+ private _renderId;
+ private _executeWhenReadyTimeoutId;
+ _toBeDisposed: SmartArray;
+ private _onReadyCallbacks;
+ private _pendingData;
+ private _onBeforeRenderCallbacks;
+ private _onAfterRenderCallbacks;
+ private _activeMeshes;
+ private _processedMaterials;
+ private _renderTargets;
+ _activeParticleSystems: SmartArray;
+ private _activeSkeletons;
+ private _softwareSkinnedMeshes;
+ _activeBones: number;
+ private _renderingManager;
+ private _physicsEngine;
+ _activeAnimatables: Animatable[];
+ private _transformMatrix;
+ private _pickWithRayInverseMatrix;
+ private _edgesRenderers;
+ private _boundingBoxRenderer;
+ private _outlineRenderer;
+ private _viewMatrix;
+ private _projectionMatrix;
+ private _frustumPlanes;
+ private _selectionOctree;
+ private _pointerOverMesh;
+ private _debugLayer;
+ private _depthRenderer;
+ private _uniqueIdCounter;
+ /**
+ * @constructor
+ * @param {BABYLON.Engine} engine - the engine to be used to render this scene.
+ */
+ constructor(engine: Engine);
+ debugLayer: DebugLayer;
+ workerCollisions: boolean;
+ SelectionOctree: Octree;
+ /**
+ * The mesh that is currently under the pointer.
+ * @return {BABYLON.AbstractMesh} mesh under the pointer/mouse cursor or null if none.
+ */
+ meshUnderPointer: AbstractMesh;
+ /**
+ * Current on-screen X position of the pointer
+ * @return {number} X position of the pointer
+ */
+ pointerX: number;
+ /**
+ * Current on-screen Y position of the pointer
+ * @return {number} Y position of the pointer
+ */
+ pointerY: number;
+ getCachedMaterial(): Material;
+ getBoundingBoxRenderer(): BoundingBoxRenderer;
+ getOutlineRenderer(): OutlineRenderer;
+ getEngine(): Engine;
+ getTotalVertices(): number;
+ getActiveIndices(): number;
+ getActiveParticles(): number;
+ getActiveBones(): number;
+ getLastFrameDuration(): number;
+ getEvaluateActiveMeshesDuration(): number;
+ getActiveMeshes(): SmartArray;
+ getRenderTargetsDuration(): number;
+ getRenderDuration(): number;
+ getParticlesDuration(): number;
+ getSpritesDuration(): number;
+ getAnimationRatio(): number;
+ getRenderId(): number;
+ incrementRenderId(): void;
+ private _updatePointerPosition(evt);
+ attachControl(): void;
+ detachControl(): void;
+ isReady(): boolean;
+ resetCachedMaterial(): void;
+ registerBeforeRender(func: () => void): void;
+ unregisterBeforeRender(func: () => void): void;
+ registerAfterRender(func: () => void): void;
+ unregisterAfterRender(func: () => void): void;
+ _addPendingData(data: any): void;
+ _removePendingData(data: any): void;
+ getWaitingItemsCount(): number;
+ /**
+ * Registers a function to be executed when the scene is ready.
+ * @param {Function} func - the function to be executed.
+ */
+ executeWhenReady(func: () => void): void;
+ _checkIsReady(): void;
+ /**
+ * Will start the animation sequence of a given target
+ * @param target - the target
+ * @param {number} from - from which frame should animation start
+ * @param {number} to - till which frame should animation run.
+ * @param {boolean} [loop] - should the animation loop
+ * @param {number} [speedRatio] - the speed in which to run the animation
+ * @param {Function} [onAnimationEnd] function to be executed when the animation ended.
+ * @param {BABYLON.Animatable} [animatable] an animatable object. If not provided a new one will be created from the given params.
+ * @return {BABYLON.Animatable} the animatable object created for this animation
+ * @see BABYLON.Animatable
+ * @see http://doc.babylonjs.com/page.php?p=22081
+ */
+ beginAnimation(target: any, from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void, animatable?: Animatable): Animatable;
+ beginDirectAnimation(target: any, animations: Animation[], from: number, to: number, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void): Animatable;
+ getAnimatableByTarget(target: any): Animatable;
+ /**
+ * Will stop the animation of the given target
+ * @param target - the target
+ * @see beginAnimation
+ */
+ stopAnimation(target: any): void;
+ private _animate();
+ getViewMatrix(): Matrix;
+ getProjectionMatrix(): Matrix;
+ getTransformMatrix(): Matrix;
+ setTransformMatrix(view: Matrix, projection: Matrix): void;
+ addMesh(newMesh: AbstractMesh): void;
+ removeMesh(toRemove: AbstractMesh): number;
+ removeLight(toRemove: Light): number;
+ removeCamera(toRemove: Camera): number;
+ addLight(newLight: Light): void;
+ addCamera(newCamera: Camera): void;
+ /**
+ * sets the active camera of the scene using its ID
+ * @param {string} id - the camera's ID
+ * @return {BABYLON.Camera|null} the new active camera or null if none found.
+ * @see activeCamera
+ */
+ setActiveCameraByID(id: string): Camera;
+ /**
+ * sets the active camera of the scene using its name
+ * @param {string} name - the camera's name
+ * @return {BABYLON.Camera|null} the new active camera or null if none found.
+ * @see activeCamera
+ */
+ setActiveCameraByName(name: string): Camera;
+ /**
+ * get a material using its id
+ * @param {string} the material's ID
+ * @return {BABYLON.Material|null} the material or null if none found.
+ */
+ getMaterialByID(id: string): Material;
+ /**
+ * get a material using its name
+ * @param {string} the material's name
+ * @return {BABYLON.Material|null} the material or null if none found.
+ */
+ getMaterialByName(name: string): Material;
+ getLensFlareSystemByName(name: string): LensFlareSystem;
+ getCameraByID(id: string): Camera;
+ getCameraByUniqueID(uniqueId: number): Camera;
+ /**
+ * get a camera using its name
+ * @param {string} the camera's name
+ * @return {BABYLON.Camera|null} the camera or null if none found.
+ */
+ getCameraByName(name: string): Camera;
+ /**
+ * get a light node using its name
+ * @param {string} the light's name
+ * @return {BABYLON.Light|null} the light or null if none found.
+ */
+ getLightByName(name: string): Light;
+ /**
+ * get a light node using its ID
+ * @param {string} the light's id
+ * @return {BABYLON.Light|null} the light or null if none found.
+ */
+ getLightByID(id: string): Light;
+ /**
+ * get a light node using its scene-generated unique ID
+ * @param {number} the light's unique id
+ * @return {BABYLON.Light|null} the light or null if none found.
+ */
+ getLightByUniqueID(uniqueId: number): Light;
+ /**
+ * get a geometry using its ID
+ * @param {string} the geometry's id
+ * @return {BABYLON.Geometry|null} the geometry or null if none found.
+ */
+ getGeometryByID(id: string): Geometry;
+ /**
+ * add a new geometry to this scene.
+ * @param {BABYLON.Geometry} geometry - the geometry to be added to the scene.
+ * @param {boolean} [force] - force addition, even if a geometry with this ID already exists
+ * @return {boolean} was the geometry added or not
+ */
+ pushGeometry(geometry: Geometry, force?: boolean): boolean;
+ /**
+ * Removes an existing geometry
+ * @param {BABYLON.Geometry} geometry - the geometry to be removed from the scene.
+ * @return {boolean} was the geometry removed or not
+ */
+ removeGeometry(geometry: Geometry): boolean;
+ getGeometries(): Geometry[];
+ /**
+ * Get the first added mesh found of a given ID
+ * @param {string} id - the id to search for
+ * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all.
+ */
+ getMeshByID(id: string): AbstractMesh;
+ /**
+ * Get a mesh with its auto-generated unique id
+ * @param {number} uniqueId - the unique id to search for
+ * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all.
+ */
+ getMeshByUniqueID(uniqueId: number): AbstractMesh;
+ /**
+ * Get a the last added mesh found of a given ID
+ * @param {string} id - the id to search for
+ * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all.
+ */
+ getLastMeshByID(id: string): AbstractMesh;
+ /**
+ * Get a the last added node (Mesh, Camera, Light) found of a given ID
+ * @param {string} id - the id to search for
+ * @return {BABYLON.Node|null} the node found or null if not found at all.
+ */
+ getLastEntryByID(id: string): Node;
+ getNodeByID(id: string): Node;
+ getNodeByName(name: string): Node;
+ getMeshByName(name: string): AbstractMesh;
+ getSoundByName(name: string): Sound;
+ getLastSkeletonByID(id: string): Skeleton;
+ getSkeletonById(id: string): Skeleton;
+ getSkeletonByName(name: string): Skeleton;
+ isActiveMesh(mesh: Mesh): boolean;
+ private _evaluateSubMesh(subMesh, mesh);
+ private _evaluateActiveMeshes();
+ private _activeMesh(mesh);
+ updateTransformMatrix(force?: boolean): void;
+ private _renderForCamera(camera);
+ private _processSubCameras(camera);
+ private _checkIntersections();
+ render(): void;
+ private _updateAudioParameters();
+ audioEnabled: boolean;
+ private _disableAudio();
+ private _enableAudio();
+ headphone: boolean;
+ private _switchAudioModeForHeadphones();
+ private _switchAudioModeForNormalSpeakers();
+ enableDepthRenderer(): DepthRenderer;
+ disableDepthRenderer(): void;
+ dispose(): void;
+ disposeSounds(): void;
+ getWorldExtends(): {
+ min: Vector3;
+ max: Vector3;
+ };
+ createOrUpdateSelectionOctree(maxCapacity?: number, maxDepth?: number): Octree;
+ createPickingRay(x: number, y: number, world: Matrix, camera: Camera): Ray;
+ private _internalPick(rayFunction, predicate, fastCheck?);
+ pick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean, fastCheck?: boolean, camera?: Camera): PickingInfo;
+ pickWithRay(ray: Ray, predicate: (mesh: Mesh) => boolean, fastCheck?: boolean): PickingInfo;
+ setPointerOverMesh(mesh: AbstractMesh): void;
+ getPointerOverMesh(): AbstractMesh;
+ getPhysicsEngine(): PhysicsEngine;
+ enablePhysics(gravity: Vector3, plugin?: IPhysicsEnginePlugin): boolean;
+ disablePhysicsEngine(): void;
+ isPhysicsEnabled(): boolean;
+ setGravity(gravity: Vector3): void;
+ createCompoundImpostor(parts: any, options: PhysicsBodyCreationOptions): any;
+ deleteCompoundImpostor(compound: any): void;
+ createDefaultCameraOrLight(): void;
+ private _getByTags(list, tagsQuery, forEach?);
+ getMeshesByTags(tagsQuery: string, forEach?: (mesh: AbstractMesh) => void): Mesh[];
+ getCamerasByTags(tagsQuery: string, forEach?: (camera: Camera) => void): Camera[];
+ getLightsByTags(tagsQuery: string, forEach?: (light: Light) => void): Light[];
+ getMaterialByTags(tagsQuery: string, forEach?: (material: Material) => void): Material[];
+ }
+}
+
+declare module BABYLON {
+ class Action {
+ triggerOptions: any;
+ trigger: number;
+ _actionManager: ActionManager;
+ private _nextActiveAction;
+ private _child;
+ private _condition;
+ private _triggerParameter;
+ constructor(triggerOptions: any, condition?: Condition);
+ _prepare(): void;
+ getTriggerParameter(): any;
+ _executeCurrent(evt: ActionEvent): void;
+ execute(evt: ActionEvent): void;
+ then(action: Action): Action;
+ _getProperty(propertyPath: string): string;
+ _getEffectiveTarget(target: any, propertyPath: string): any;
+ }
+}
+
+declare module BABYLON {
+ /**
+ * ActionEvent is the event beint sent when an action is triggered.
+ */
+ class ActionEvent {
+ source: AbstractMesh;
+ pointerX: number;
+ pointerY: number;
+ meshUnderPointer: AbstractMesh;
+ sourceEvent: any;
+ additionalData: any;
+ /**
+ * @constructor
+ * @param source The mesh that triggered the action.
+ * @param pointerX the X mouse cursor position at the time of the event
+ * @param pointerY the Y mouse cursor position at the time of the event
+ * @param meshUnderPointer The mesh that is currently pointed at (can be null)
+ * @param sourceEvent the original (browser) event that triggered the ActionEvent
+ */
+ constructor(source: AbstractMesh, pointerX: number, pointerY: number, meshUnderPointer: AbstractMesh, sourceEvent?: any, additionalData?: any);
+ /**
+ * Helper function to auto-create an ActionEvent from a source mesh.
+ * @param source the source mesh that triggered the event
+ * @param evt {Event} The original (browser) event
+ */
+ static CreateNew(source: AbstractMesh, evt?: Event, additionalData?: any): ActionEvent;
+ /**
+ * Helper function to auto-create an ActionEvent from a scene. If triggered by a mesh use ActionEvent.CreateNew
+ * @param scene the scene where the event occurred
+ * @param evt {Event} The original (browser) event
+ */
+ static CreateNewFromScene(scene: Scene, evt: Event): ActionEvent;
+ }
+ /**
+ * Action Manager manages all events to be triggered on a given mesh or the global scene.
+ * A single scene can have many Action Managers to handle predefined actions on specific meshes.
+ */
+ class ActionManager {
+ private static _NothingTrigger;
+ private static _OnPickTrigger;
+ private static _OnLeftPickTrigger;
+ private static _OnRightPickTrigger;
+ private static _OnCenterPickTrigger;
+ private static _OnPointerOverTrigger;
+ private static _OnPointerOutTrigger;
+ private static _OnEveryFrameTrigger;
+ private static _OnIntersectionEnterTrigger;
+ private static _OnIntersectionExitTrigger;
+ private static _OnKeyDownTrigger;
+ private static _OnKeyUpTrigger;
+ private static _OnPickUpTrigger;
+ static NothingTrigger: number;
+ static OnPickTrigger: number;
+ static OnLeftPickTrigger: number;
+ static OnRightPickTrigger: number;
+ static OnCenterPickTrigger: number;
+ static OnPointerOverTrigger: number;
+ static OnPointerOutTrigger: number;
+ static OnEveryFrameTrigger: number;
+ static OnIntersectionEnterTrigger: number;
+ static OnIntersectionExitTrigger: number;
+ static OnKeyDownTrigger: number;
+ static OnKeyUpTrigger: number;
+ static OnPickUpTrigger: number;
+ actions: Action[];
+ private _scene;
+ constructor(scene: Scene);
+ dispose(): void;
+ getScene(): Scene;
+ /**
+ * Does this action manager handles actions of any of the given triggers
+ * @param {number[]} triggers - the triggers to be tested
+ * @return {boolean} whether one (or more) of the triggers is handeled
+ */
+ hasSpecificTriggers(triggers: number[]): boolean;
+ /**
+ * Does this action manager handles actions of a given trigger
+ * @param {number} trigger - the trigger to be tested
+ * @return {boolean} whether the trigger is handeled
+ */
+ hasSpecificTrigger(trigger: number): boolean;
+ /**
+ * Does this action manager has pointer triggers
+ * @return {boolean} whether or not it has pointer triggers
+ */
+ hasPointerTriggers: boolean;
+ /**
+ * Does this action manager has pick triggers
+ * @return {boolean} whether or not it has pick triggers
+ */
+ hasPickTriggers: boolean;
+ /**
+ * Registers an action to this action manager
+ * @param {BABYLON.Action} action - the action to be registered
+ * @return {BABYLON.Action} the action amended (prepared) after registration
+ */
+ registerAction(action: Action): Action;
+ /**
+ * Process a specific trigger
+ * @param {number} trigger - the trigger to process
+ * @param evt {BABYLON.ActionEvent} the event details to be processed
+ */
+ processTrigger(trigger: number, evt: ActionEvent): void;
+ _getEffectiveTarget(target: any, propertyPath: string): any;
+ _getProperty(propertyPath: string): string;
+ }
+}
+
+declare module BABYLON {
+ class Condition {
+ _actionManager: ActionManager;
+ _evaluationId: number;
+ _currentResult: boolean;
+ constructor(actionManager: ActionManager);
+ isValid(): boolean;
+ _getProperty(propertyPath: string): string;
+ _getEffectiveTarget(target: any, propertyPath: string): any;
+ }
+ class ValueCondition extends Condition {
+ propertyPath: string;
+ value: any;
+ operator: number;
+ private static _IsEqual;
+ private static _IsDifferent;
+ private static _IsGreater;
+ private static _IsLesser;
+ static IsEqual: number;
+ static IsDifferent: number;
+ static IsGreater: number;
+ static IsLesser: number;
+ _actionManager: ActionManager;
+ private _target;
+ private _property;
+ constructor(actionManager: ActionManager, target: any, propertyPath: string, value: any, operator?: number);
+ isValid(): boolean;
+ }
+ class PredicateCondition extends Condition {
+ predicate: () => boolean;
+ _actionManager: ActionManager;
+ constructor(actionManager: ActionManager, predicate: () => boolean);
+ isValid(): boolean;
+ }
+ class StateCondition extends Condition {
+ value: string;
+ _actionManager: ActionManager;
+ private _target;
+ constructor(actionManager: ActionManager, target: any, value: string);
+ isValid(): boolean;
+ }
+}
+
+declare module BABYLON {
+ class SwitchBooleanAction extends Action {
+ propertyPath: string;
+ private _target;
+ private _property;
+ constructor(triggerOptions: any, target: any, propertyPath: string, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class SetStateAction extends Action {
+ value: string;
+ private _target;
+ constructor(triggerOptions: any, target: any, value: string, condition?: Condition);
+ execute(): void;
+ }
+ class SetValueAction extends Action {
+ propertyPath: string;
+ value: any;
+ private _target;
+ private _property;
+ constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class IncrementValueAction extends Action {
+ propertyPath: string;
+ value: any;
+ private _target;
+ private _property;
+ constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class PlayAnimationAction extends Action {
+ from: number;
+ to: number;
+ loop: boolean;
+ private _target;
+ constructor(triggerOptions: any, target: any, from: number, to: number, loop?: boolean, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class StopAnimationAction extends Action {
+ private _target;
+ constructor(triggerOptions: any, target: any, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class DoNothingAction extends Action {
+ constructor(triggerOptions?: any, condition?: Condition);
+ execute(): void;
+ }
+ class CombineAction extends Action {
+ children: Action[];
+ constructor(triggerOptions: any, children: Action[], condition?: Condition);
+ _prepare(): void;
+ execute(evt: ActionEvent): void;
+ }
+ class ExecuteCodeAction extends Action {
+ func: (evt: ActionEvent) => void;
+ constructor(triggerOptions: any, func: (evt: ActionEvent) => void, condition?: Condition);
+ execute(evt: ActionEvent): void;
+ }
+ class SetParentAction extends Action {
+ private _parent;
+ private _target;
+ constructor(triggerOptions: any, target: any, parent: any, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class PlaySoundAction extends Action {
+ private _sound;
+ constructor(triggerOptions: any, sound: Sound, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+ class StopSoundAction extends Action {
+ private _sound;
+ constructor(triggerOptions: any, sound: Sound, condition?: Condition);
+ _prepare(): void;
+ execute(): void;
+ }
+}
+
+declare module BABYLON {
+ class InterpolateValueAction extends Action {
+ propertyPath: string;
+ value: any;
+ duration: number;
+ stopOtherAnimations: boolean;
+ private _target;
+ private _property;
+ constructor(triggerOptions: any, target: any, propertyPath: string, value: any, duration?: number, condition?: Condition, stopOtherAnimations?: boolean);
+ _prepare(): void;
+ execute(): void;
+ }
+}
+
+declare module BABYLON {
+ class Animatable {
+ target: any;
+ fromFrame: number;
+ toFrame: number;
+ loopAnimation: boolean;
+ speedRatio: number;
+ onAnimationEnd: any;
+ private _localDelayOffset;
+ private _pausedDelay;
+ private _animations;
+ private _paused;
+ private _scene;
+ animationStarted: boolean;
+ constructor(scene: Scene, target: any, fromFrame?: number, toFrame?: number, loopAnimation?: boolean, speedRatio?: number, onAnimationEnd?: any, animations?: any);
+ appendAnimations(target: any, animations: Animation[]): void;
+ getAnimationByTargetProperty(property: string): Animation;
+ reset(): void;
+ pause(): void;
+ restart(): void;
+ stop(): void;
+ _animate(delay: number): boolean;
+ }
+}
+
+declare module BABYLON {
+ class Animation {
+ name: string;
+ targetProperty: string;
+ framePerSecond: number;
+ dataType: number;
+ loopMode: number;
+ private _keys;
+ private _offsetsCache;
+ private _highLimitsCache;
+ private _stopped;
+ _target: any;
+ private _easingFunction;
+ targetPropertyPath: string[];
+ currentFrame: number;
+ allowMatricesInterpolation: boolean;
+ static CreateAndStartAnimation(name: string, mesh: AbstractMesh, targetProperty: string, framePerSecond: number, totalFrame: number, from: any, to: any, loopMode?: number, easingFunction?: EasingFunction): Animatable;
+ constructor(name: string, targetProperty: string, framePerSecond: number, dataType: number, loopMode?: number);
+ reset(): void;
+ isStopped(): boolean;
+ getKeys(): any[];
+ getEasingFunction(): IEasingFunction;
+ setEasingFunction(easingFunction: EasingFunction): void;
+ floatInterpolateFunction(startValue: number, endValue: number, gradient: number): number;
+ quaternionInterpolateFunction(startValue: Quaternion, endValue: Quaternion, gradient: number): Quaternion;
+ vector3InterpolateFunction(startValue: Vector3, endValue: Vector3, gradient: number): Vector3;
+ vector2InterpolateFunction(startValue: Vector2, endValue: Vector2, gradient: number): Vector2;
+ color3InterpolateFunction(startValue: Color3, endValue: Color3, gradient: number): Color3;
+ matrixInterpolateFunction(startValue: Matrix, endValue: Matrix, gradient: number): Matrix;
+ clone(): Animation;
+ setKeys(values: Array): void;
+ private _getKeyValue(value);
+ private _interpolate(currentFrame, repeatCount, loopMode, offsetValue?, highLimitValue?);
+ animate(delay: number, from: number, to: number, loop: boolean, speedRatio: number): boolean;
+ private static _ANIMATIONTYPE_FLOAT;
+ private static _ANIMATIONTYPE_VECTOR3;
+ private static _ANIMATIONTYPE_QUATERNION;
+ private static _ANIMATIONTYPE_MATRIX;
+ private static _ANIMATIONTYPE_COLOR3;
+ private static _ANIMATIONTYPE_VECTOR2;
+ private static _ANIMATIONLOOPMODE_RELATIVE;
+ private static _ANIMATIONLOOPMODE_CYCLE;
+ private static _ANIMATIONLOOPMODE_CONSTANT;
+ static ANIMATIONTYPE_FLOAT: number;
+ static ANIMATIONTYPE_VECTOR3: number;
+ static ANIMATIONTYPE_VECTOR2: number;
+ static ANIMATIONTYPE_QUATERNION: number;
+ static ANIMATIONTYPE_MATRIX: number;
+ static ANIMATIONTYPE_COLOR3: number;
+ static ANIMATIONLOOPMODE_RELATIVE: number;
+ static ANIMATIONLOOPMODE_CYCLE: number;
+ static ANIMATIONLOOPMODE_CONSTANT: number;
+ }
+}
+
+declare module BABYLON {
+ interface IEasingFunction {
+ ease(gradient: number): number;
+ }
+ class EasingFunction implements IEasingFunction {
+ private static _EASINGMODE_EASEIN;
+ private static _EASINGMODE_EASEOUT;
+ private static _EASINGMODE_EASEINOUT;
+ static EASINGMODE_EASEIN: number;
+ static EASINGMODE_EASEOUT: number;
+ static EASINGMODE_EASEINOUT: number;
+ private _easingMode;
+ setEasingMode(easingMode: number): void;
+ getEasingMode(): number;
+ easeInCore(gradient: number): number;
+ ease(gradient: number): number;
+ }
+ class CircleEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class BackEase extends EasingFunction implements IEasingFunction {
+ amplitude: number;
+ constructor(amplitude?: number);
+ easeInCore(gradient: number): number;
+ }
+ class BounceEase extends EasingFunction implements IEasingFunction {
+ bounces: number;
+ bounciness: number;
+ constructor(bounces?: number, bounciness?: number);
+ easeInCore(gradient: number): number;
+ }
+ class CubicEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class ElasticEase extends EasingFunction implements IEasingFunction {
+ oscillations: number;
+ springiness: number;
+ constructor(oscillations?: number, springiness?: number);
+ easeInCore(gradient: number): number;
+ }
+ class ExponentialEase extends EasingFunction implements IEasingFunction {
+ exponent: number;
+ constructor(exponent?: number);
+ easeInCore(gradient: number): number;
+ }
+ class PowerEase extends EasingFunction implements IEasingFunction {
+ power: number;
+ constructor(power?: number);
+ easeInCore(gradient: number): number;
+ }
+ class QuadraticEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class QuarticEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class QuinticEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class SineEase extends EasingFunction implements IEasingFunction {
+ easeInCore(gradient: number): number;
+ }
+ class BezierCurveEase extends EasingFunction implements IEasingFunction {
+ x1: number;
+ y1: number;
+ x2: number;
+ y2: number;
+ constructor(x1?: number, y1?: number, x2?: number, y2?: number);
+ easeInCore(gradient: number): number;
+ }
+}
+
+declare module BABYLON {
+ class Analyser {
+ SMOOTHING: number;
+ FFT_SIZE: number;
+ BARGRAPHAMPLITUDE: number;
+ DEBUGCANVASPOS: {
+ x: number;
+ y: number;
+ };
+ DEBUGCANVASSIZE: {
+ width: number;
+ height: number;
+ };
+ private _byteFreqs;
+ private _byteTime;
+ private _floatFreqs;
+ private _webAudioAnalyser;
+ private _debugCanvas;
+ private _debugCanvasContext;
+ private _scene;
+ private _registerFunc;
+ private _audioEngine;
+ constructor(scene: Scene);
+ getFrequencyBinCount(): number;
+ getByteFrequencyData(): Uint8Array;
+ getByteTimeDomainData(): Uint8Array;
+ getFloatFrequencyData(): Uint8Array;
+ drawDebugCanvas(): void;
+ stopDebugCanvas(): void;
+ connectAudioNodes(inputAudioNode: AudioNode, outputAudioNode: AudioNode): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class AudioEngine {
+ private _audioContext;
+ private _audioContextInitialized;
+ canUseWebAudio: boolean;
+ masterGain: GainNode;
+ private _connectedAnalyser;
+ WarnedWebAudioUnsupported: boolean;
+ audioContext: AudioContext;
+ constructor();
+ private _initializeAudioContext();
+ dispose(): void;
+ getGlobalVolume(): number;
+ setGlobalVolume(newVolume: number): void;
+ connectToAnalyser(analyser: Analyser): void;
+ }
+}
+
+declare module BABYLON {
+ class Sound {
+ name: string;
+ autoplay: boolean;
+ loop: boolean;
+ useCustomAttenuation: boolean;
+ soundTrackId: number;
+ spatialSound: boolean;
+ refDistance: number;
+ rolloffFactor: number;
+ maxDistance: number;
+ distanceModel: string;
+ private _panningModel;
+ onended: () => any;
+ private _playbackRate;
+ private _startTime;
+ private _startOffset;
+ private _position;
+ private _localDirection;
+ private _volume;
+ private _isLoaded;
+ private _isReadyToPlay;
+ isPlaying: boolean;
+ isPaused: boolean;
+ private _isDirectional;
+ private _readyToPlayCallback;
+ private _audioBuffer;
+ private _soundSource;
+ private _soundPanner;
+ private _soundGain;
+ private _inputAudioNode;
+ private _ouputAudioNode;
+ private _coneInnerAngle;
+ private _coneOuterAngle;
+ private _coneOuterGain;
+ private _scene;
+ private _connectedMesh;
+ private _customAttenuationFunction;
+ private _registerFunc;
+ private _isOutputConnected;
+ /**
+ * Create a sound and attach it to a scene
+ * @param name Name of your sound
+ * @param urlOrArrayBuffer Url to the sound to load async or ArrayBuffer
+ * @param readyToPlayCallback Provide a callback function if you'd like to load your code once the sound is ready to be played
+ * @param options Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel
+ */
+ constructor(name: string, urlOrArrayBuffer: any, scene: Scene, readyToPlayCallback?: () => void, options?: any);
+ dispose(): void;
+ private _soundLoaded(audioData);
+ setAudioBuffer(audioBuffer: AudioBuffer): void;
+ updateOptions(options: any): void;
+ private _createSpatialParameters();
+ private _updateSpatialParameters();
+ switchPanningModelToHRTF(): void;
+ switchPanningModelToEqualPower(): void;
+ private _switchPanningModel();
+ connectToSoundTrackAudioNode(soundTrackAudioNode: AudioNode): void;
+ /**
+ * Transform this sound into a directional source
+ * @param coneInnerAngle Size of the inner cone in degree
+ * @param coneOuterAngle Size of the outer cone in degree
+ * @param coneOuterGain Volume of the sound outside the outer cone (between 0.0 and 1.0)
+ */
+ setDirectionalCone(coneInnerAngle: number, coneOuterAngle: number, coneOuterGain: number): void;
+ setPosition(newPosition: Vector3): void;
+ setLocalDirectionToMesh(newLocalDirection: Vector3): void;
+ private _updateDirection();
+ updateDistanceFromListener(): void;
+ setAttenuationFunction(callback: (currentVolume: number, currentDistance: number, maxDistance: number, refDistance: number, rolloffFactor: number) => number): void;
+ /**
+ * Play the sound
+ * @param time (optional) Start the sound after X seconds. Start immediately (0) by default.
+ */
+ play(time?: number): void;
+ private _onended();
+ /**
+ * Stop the sound
+ * @param time (optional) Stop the sound after X seconds. Stop immediately (0) by default.
+ */
+ stop(time?: number): void;
+ pause(): void;
+ setVolume(newVolume: number, time?: number): void;
+ setPlaybackRate(newPlaybackRate: number): void;
+ getVolume(): number;
+ attachToMesh(meshToConnectTo: AbstractMesh): void;
+ private _onRegisterAfterWorldMatrixUpdate(connectedMesh);
+ }
+}
+
+declare module BABYLON {
+ class SoundTrack {
+ private _audioEngine;
+ private _outputAudioNode;
+ private _inputAudioNode;
+ private _trackConvolver;
+ private _scene;
+ id: number;
+ soundCollection: Array;
+ private _isMainTrack;
+ private _connectedAnalyser;
+ constructor(scene: Scene, options?: any);
+ dispose(): void;
+ AddSound(sound: Sound): void;
+ RemoveSound(sound: Sound): void;
+ setVolume(newVolume: number): void;
+ switchPanningModelToHRTF(): void;
+ switchPanningModelToEqualPower(): void;
+ connectToAnalyser(analyser: Analyser): void;
+ }
+}
+
+declare module BABYLON {
+ class Bone extends Node {
+ name: string;
+ children: Bone[];
+ animations: Animation[];
+ private _skeleton;
+ private _matrix;
+ private _baseMatrix;
+ private _worldTransform;
+ private _absoluteTransform;
+ private _invertedAbsoluteTransform;
+ private _parent;
+ constructor(name: string, skeleton: Skeleton, parentBone: Bone, matrix: Matrix);
+ getParent(): Bone;
+ getLocalMatrix(): Matrix;
+ getBaseMatrix(): Matrix;
+ getWorldMatrix(): Matrix;
+ getInvertedAbsoluteTransform(): Matrix;
+ getAbsoluteMatrix(): Matrix;
+ updateMatrix(matrix: Matrix): void;
+ private _updateDifferenceMatrix();
+ markAsDirty(): void;
+ }
+}
+
+declare module BABYLON {
+ class Skeleton {
+ name: string;
+ id: string;
+ bones: Bone[];
+ private _scene;
+ private _isDirty;
+ private _transformMatrices;
+ private _animatables;
+ private _identity;
+ constructor(name: string, id: string, scene: Scene);
+ getTransformMatrices(): Float32Array;
+ getScene(): Scene;
+ _markAsDirty(): void;
+ prepare(): void;
+ getAnimatables(): IAnimatable[];
+ clone(name: string, id: string): Skeleton;
+ }
+}
+
+declare module BABYLON {
+ class ArcRotateCamera extends TargetCamera {
+ alpha: number;
+ beta: number;
+ radius: number;
+ target: any;
+ inertialAlphaOffset: number;
+ inertialBetaOffset: number;
+ inertialRadiusOffset: number;
+ lowerAlphaLimit: any;
+ upperAlphaLimit: any;
+ lowerBetaLimit: number;
+ upperBetaLimit: number;
+ lowerRadiusLimit: any;
+ upperRadiusLimit: any;
+ angularSensibilityX: number;
+ angularSensibilityY: number;
+ wheelPrecision: number;
+ pinchPrecision: number;
+ panningSensibility: number;
+ inertialPanningX: number;
+ inertialPanningY: number;
+ keysUp: number[];
+ keysDown: number[];
+ keysLeft: number[];
+ keysRight: number[];
+ zoomOnFactor: number;
+ targetScreenOffset: Vector2;
+ pinchInwards: boolean;
+ allowUpsideDown: boolean;
+ private _keys;
+ _viewMatrix: Matrix;
+ private _attachedElement;
+ private _onContextMenu;
+ private _onPointerDown;
+ private _onPointerUp;
+ private _onPointerMove;
+ private _wheel;
+ private _onMouseMove;
+ private _onKeyDown;
+ private _onKeyUp;
+ private _onLostFocus;
+ _reset: () => void;
+ private _onGestureStart;
+ private _onGesture;
+ private _MSGestureHandler;
+ private _localDirection;
+ private _transformedDirection;
+ private _isRightClick;
+ private _isCtrlPushed;
+ onCollide: (collidedMesh: AbstractMesh) => void;
+ checkCollisions: boolean;
+ collisionRadius: Vector3;
+ private _collider;
+ private _previousPosition;
+ private _collisionVelocity;
+ private _newPosition;
+ private _previousAlpha;
+ private _previousBeta;
+ private _previousRadius;
+ private _collisionTriggered;
+ angularSensibility: number;
+ constructor(name: string, alpha: number, beta: number, radius: number, target: any, scene: Scene);
+ _getTargetPosition(): Vector3;
+ _initCache(): void;
+ _updateCache(ignoreParentClass?: boolean): void;
+ _isSynchronizedViewMatrix(): boolean;
+ attachControl(element: HTMLElement, noPreventDefault?: boolean, useCtrlForPanning?: boolean): void;
+ detachControl(element: HTMLElement): void;
+ _checkInputs(): void;
+ private _checkLimits();
+ setPosition(position: Vector3): void;
+ setTarget(target: Vector3): void;
+ _getViewMatrix(): Matrix;
+ private _onCollisionPositionChange;
+ zoomOn(meshes?: AbstractMesh[], doNotUpdateMaxZ?: boolean): void;
+ focusOn(meshesOrMinMaxVectorAndDistance: any, doNotUpdateMaxZ?: boolean): void;
+ /**
+ * @override
+ * Override Camera.createRigCamera
+ */
+ createRigCamera(name: string, cameraIndex: number): Camera;
+ /**
+ * @override
+ * Override Camera._updateRigCameras
+ */
+ _updateRigCameras(): void;
+ }
+}
+
+declare module BABYLON {
+ class VRCameraMetrics {
+ hResolution: number;
+ vResolution: number;
+ hScreenSize: number;
+ vScreenSize: number;
+ vScreenCenter: number;
+ eyeToScreenDistance: number;
+ lensSeparationDistance: number;
+ interpupillaryDistance: number;
+ distortionK: number[];
+ chromaAbCorrection: number[];
+ postProcessScaleFactor: number;
+ lensCenterOffset: number;
+ compensateDistorsion: boolean;
+ aspectRatio: number;
+ aspectRatioFov: number;
+ leftHMatrix: Matrix;
+ rightHMatrix: Matrix;
+ leftPreViewMatrix: Matrix;
+ rightPreViewMatrix: Matrix;
+ static GetDefault(): VRCameraMetrics;
+ }
+ class Camera extends Node {
+ position: Vector3;
+ private static _PERSPECTIVE_CAMERA;
+ private static _ORTHOGRAPHIC_CAMERA;
+ private static _FOVMODE_VERTICAL_FIXED;
+ private static _FOVMODE_HORIZONTAL_FIXED;
+ private static _RIG_MODE_NONE;
+ private static _RIG_MODE_STEREOSCOPIC_ANAGLYPH;
+ private static _RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL;
+ private static _RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED;
+ private static _RIG_MODE_STEREOSCOPIC_OVERUNDER;
+ private static _RIG_MODE_VR;
+ static PERSPECTIVE_CAMERA: number;
+ static ORTHOGRAPHIC_CAMERA: number;
+ static FOVMODE_VERTICAL_FIXED: number;
+ static FOVMODE_HORIZONTAL_FIXED: number;
+ static RIG_MODE_NONE: number;
+ static RIG_MODE_STEREOSCOPIC_ANAGLYPH: number;
+ static RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL: number;
+ static RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED: number;
+ static RIG_MODE_STEREOSCOPIC_OVERUNDER: number;
+ static RIG_MODE_VR: number;
+ upVector: Vector3;
+ orthoLeft: any;
+ orthoRight: any;
+ orthoBottom: any;
+ orthoTop: any;
+ fov: number;
+ minZ: number;
+ maxZ: number;
+ inertia: number;
+ mode: number;
+ isIntermediate: boolean;
+ viewport: Viewport;
+ layerMask: number;
+ fovMode: number;
+ cameraRigMode: number;
+ _cameraRigParams: any;
+ _rigCameras: Camera[];
+ private _computedViewMatrix;
+ _projectionMatrix: Matrix;
+ private _worldMatrix;
+ _postProcesses: PostProcess[];
+ _postProcessesTakenIndices: any[];
+ _activeMeshes: SmartArray;
+ private _globalPosition;
+ constructor(name: string, position: Vector3, scene: Scene);
+ globalPosition: Vector3;
+ getActiveMeshes(): SmartArray;
+ isActiveMesh(mesh: Mesh): boolean;
+ _initCache(): void;
+ _updateCache(ignoreParentClass?: boolean): void;
+ _updateFromScene(): void;
+ _isSynchronized(): boolean;
+ _isSynchronizedViewMatrix(): boolean;
+ _isSynchronizedProjectionMatrix(): boolean;
+ attachControl(element: HTMLElement): void;
+ detachControl(element: HTMLElement): void;
+ _update(): void;
+ _checkInputs(): void;
+ attachPostProcess(postProcess: PostProcess, insertAt?: number): number;
+ detachPostProcess(postProcess: PostProcess, atIndices?: any): number[];
+ getWorldMatrix(): Matrix;
+ _getViewMatrix(): Matrix;
+ getViewMatrix(force?: boolean): Matrix;
+ _computeViewMatrix(force?: boolean): Matrix;
+ getProjectionMatrix(force?: boolean): Matrix;
+ dispose(): void;
+ setCameraRigMode(mode: number, rigParams: any): void;
+ private _getVRProjectionMatrix();
+ setCameraRigParameter(name: string, value: any): void;
+ /**
+ * May needs to be overridden by children so sub has required properties to be copied
+ */
+ createRigCamera(name: string, cameraIndex: number): Camera;
+ /**
+ * May needs to be overridden by children
+ */
+ _updateRigCameras(): void;
+ }
+}
+
+declare module BABYLON {
+ class DeviceOrientationCamera extends FreeCamera {
+ private _offsetX;
+ private _offsetY;
+ private _orientationGamma;
+ private _orientationBeta;
+ private _initialOrientationGamma;
+ private _initialOrientationBeta;
+ private _attachedCanvas;
+ private _orientationChanged;
+ angularSensibility: number;
+ moveSensibility: number;
+ constructor(name: string, position: Vector3, scene: Scene);
+ attachControl(canvas: HTMLCanvasElement, noPreventDefault: boolean): void;
+ detachControl(canvas: HTMLCanvasElement): void;
+ _checkInputs(): void;
+ }
+}
+
+declare module BABYLON {
+ class FollowCamera extends TargetCamera {
+ radius: number;
+ rotationOffset: number;
+ heightOffset: number;
+ cameraAcceleration: number;
+ maxCameraSpeed: number;
+ target: AbstractMesh;
+ constructor(name: string, position: Vector3, scene: Scene);
+ private getRadians(degrees);
+ private follow(cameraTarget);
+ _checkInputs(): void;
+ }
+ class ArcFollowCamera extends TargetCamera {
+ alpha: number;
+ beta: number;
+ radius: number;
+ target: AbstractMesh;
+ private _cartesianCoordinates;
+ constructor(name: string, alpha: number, beta: number, radius: number, target: AbstractMesh, scene: Scene);
+ private follow();
+ _checkInputs(): void;
+ }
+}
+
+declare module BABYLON {
+ class FreeCamera extends TargetCamera {
+ ellipsoid: Vector3;
+ keysUp: number[];
+ keysDown: number[];
+ keysLeft: number[];
+ keysRight: number[];
+ checkCollisions: boolean;
+ applyGravity: boolean;
+ angularSensibility: number;
+ onCollide: (collidedMesh: AbstractMesh) => void;
+ private _keys;
+ private _collider;
+ private _needMoveForGravity;
+ private _oldPosition;
+ private _diffPosition;
+ private _newPosition;
+ private _attachedElement;
+ private _localDirection;
+ private _transformedDirection;
+ private _onMouseDown;
+ private _onMouseUp;
+ private _onMouseOut;
+ private _onMouseMove;
+ private _onKeyDown;
+ private _onKeyUp;
+ _onLostFocus: (e: FocusEvent) => any;
+ _waitingLockedTargetId: string;
+ constructor(name: string, position: Vector3, scene: Scene);
+ attachControl(element: HTMLElement, noPreventDefault?: boolean): void;
+ detachControl(element: HTMLElement): void;
+ _collideWithWorld(velocity: Vector3): void;
+ private _onCollisionPositionChange;
+ _checkInputs(): void;
+ _decideIfNeedsToMove(): boolean;
+ _updatePosition(): void;
+ }
+}
+
+declare module BABYLON {
+ class GamepadCamera extends FreeCamera {
+ private _gamepad;
+ private _gamepads;
+ angularSensibility: number;
+ moveSensibility: number;
+ constructor(name: string, position: Vector3, scene: Scene);
+ private _onNewGameConnected(gamepad);
+ _checkInputs(): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class AnaglyphFreeCamera extends FreeCamera {
+ constructor(name: string, position: Vector3, interaxialDistance: number, scene: Scene);
+ }
+ class AnaglyphArcRotateCamera extends ArcRotateCamera {
+ constructor(name: string, alpha: number, beta: number, radius: number, target: any, interaxialDistance: number, scene: Scene);
+ }
+ class AnaglyphGamepadCamera extends GamepadCamera {
+ constructor(name: string, position: Vector3, interaxialDistance: number, scene: Scene);
+ }
+ class StereoscopicFreeCamera extends FreeCamera {
+ constructor(name: string, position: Vector3, interaxialDistance: number, isSideBySide: boolean, scene: Scene);
+ }
+ class StereoscopicArcRotateCamera extends ArcRotateCamera {
+ constructor(name: string, alpha: number, beta: number, radius: number, target: any, interaxialDistance: number, isSideBySide: boolean, scene: Scene);
+ }
+ class StereoscopicGamepadCamera extends GamepadCamera {
+ constructor(name: string, position: Vector3, interaxialDistance: number, isSideBySide: boolean, scene: Scene);
+ }
+}
+
+declare module BABYLON {
+ class TargetCamera extends Camera {
+ cameraDirection: Vector3;
+ cameraRotation: Vector2;
+ rotation: Vector3;
+ speed: number;
+ noRotationConstraint: boolean;
+ lockedTarget: any;
+ _currentTarget: Vector3;
+ _viewMatrix: Matrix;
+ _camMatrix: Matrix;
+ _cameraTransformMatrix: Matrix;
+ _cameraRotationMatrix: Matrix;
+ private _rigCamTransformMatrix;
+ _referencePoint: Vector3;
+ _transformedReferencePoint: Vector3;
+ _lookAtTemp: Matrix;
+ _tempMatrix: Matrix;
+ _reset: () => void;
+ _waitingLockedTargetId: string;
+ constructor(name: string, position: Vector3, scene: Scene);
+ getFrontPosition(distance: number): Vector3;
+ _getLockedTargetPosition(): Vector3;
+ _initCache(): void;
+ _updateCache(ignoreParentClass?: boolean): void;
+ _isSynchronizedViewMatrix(): boolean;
+ _computeLocalCameraSpeed(): number;
+ setTarget(target: Vector3): void;
+ getTarget(): Vector3;
+ _decideIfNeedsToMove(): boolean;
+ _updatePosition(): void;
+ _checkInputs(): void;
+ _getViewMatrix(): Matrix;
+ _getVRViewMatrix(): Matrix;
+ /**
+ * @override
+ * Override Camera.createRigCamera
+ */
+ createRigCamera(name: string, cameraIndex: number): Camera;
+ /**
+ * @override
+ * Override Camera._updateRigCameras
+ */
+ _updateRigCameras(): void;
+ private _getRigCamPosition(halfSpace, result);
+ }
+}
+
+declare module BABYLON {
+ class TouchCamera extends FreeCamera {
+ private _offsetX;
+ private _offsetY;
+ private _pointerCount;
+ private _pointerPressed;
+ private _attachedCanvas;
+ private _onPointerDown;
+ private _onPointerUp;
+ private _onPointerMove;
+ angularSensibility: number;
+ moveSensibility: number;
+ constructor(name: string, position: Vector3, scene: Scene);
+ attachControl(canvas: HTMLCanvasElement, noPreventDefault: boolean): void;
+ detachControl(canvas: HTMLCanvasElement): void;
+ _checkInputs(): void;
+ }
+}
+
+declare module BABYLON {
+ class VirtualJoysticksCamera extends FreeCamera {
+ private _leftjoystick;
+ private _rightjoystick;
+ constructor(name: string, position: Vector3, scene: Scene);
+ getLeftJoystick(): VirtualJoystick;
+ getRightJoystick(): VirtualJoystick;
+ _checkInputs(): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class Collider {
+ radius: Vector3;
+ retry: number;
+ velocity: Vector3;
+ basePoint: Vector3;
+ epsilon: number;
+ collisionFound: boolean;
+ velocityWorldLength: number;
+ basePointWorld: Vector3;
+ velocityWorld: Vector3;
+ normalizedVelocity: Vector3;
+ initialVelocity: Vector3;
+ initialPosition: Vector3;
+ nearestDistance: number;
+ intersectionPoint: Vector3;
+ collidedMesh: AbstractMesh;
+ private _collisionPoint;
+ private _planeIntersectionPoint;
+ private _tempVector;
+ private _tempVector2;
+ private _tempVector3;
+ private _tempVector4;
+ private _edge;
+ private _baseToVertex;
+ private _destinationPoint;
+ private _slidePlaneNormal;
+ private _displacementVector;
+ _initialize(source: Vector3, dir: Vector3, e: number): void;
+ _checkPointInTriangle(point: Vector3, pa: Vector3, pb: Vector3, pc: Vector3, n: Vector3): boolean;
+ _canDoCollision(sphereCenter: Vector3, sphereRadius: number, vecMin: Vector3, vecMax: Vector3): boolean;
+ _testTriangle(faceIndex: number, trianglePlaneArray: Array, p1: Vector3, p2: Vector3, p3: Vector3, hasMaterial: boolean): void;
+ _collide(trianglePlaneArray: Array, pts: Vector3[], indices: number[], indexStart: number, indexEnd: number, decal: number, hasMaterial: boolean): void;
+ _getResponse(pos: Vector3, vel: Vector3): void;
+ }
+}
+
+declare module BABYLON {
+ var CollisionWorker: string;
+ interface ICollisionCoordinator {
+ getNewPosition(position: Vector3, velocity: Vector3, collider: Collider, maximumRetry: number, excludedMesh: AbstractMesh, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh?: AbstractMesh) => void, collisionIndex: number): void;
+ init(scene: Scene): void;
+ destroy(): void;
+ onMeshAdded(mesh: AbstractMesh): any;
+ onMeshUpdated(mesh: AbstractMesh): any;
+ onMeshRemoved(mesh: AbstractMesh): any;
+ onGeometryAdded(geometry: Geometry): any;
+ onGeometryUpdated(geometry: Geometry): any;
+ onGeometryDeleted(geometry: Geometry): any;
+ }
+ interface SerializedMesh {
+ id: string;
+ name: string;
+ uniqueId: number;
+ geometryId: string;
+ sphereCenter: Array;
+ sphereRadius: number;
+ boxMinimum: Array;
+ boxMaximum: Array;
+ worldMatrixFromCache: any;
+ subMeshes: Array;
+ checkCollisions: boolean;
+ }
+ interface SerializedSubMesh {
+ position: number;
+ verticesStart: number;
+ verticesCount: number;
+ indexStart: number;
+ indexCount: number;
+ hasMaterial: boolean;
+ sphereCenter: Array;
+ sphereRadius: number;
+ boxMinimum: Array;
+ boxMaximum: Array;
+ }
+ interface SerializedGeometry {
+ id: string;
+ positions: Float32Array;
+ indices: Int32Array;
+ normals: Float32Array;
+ }
+ interface BabylonMessage {
+ taskType: WorkerTaskType;
+ payload: InitPayload | CollidePayload | UpdatePayload;
+ }
+ interface SerializedColliderToWorker {
+ position: Array;
+ velocity: Array;
+ radius: Array;
+ }
+ enum WorkerTaskType {
+ INIT = 0,
+ UPDATE = 1,
+ COLLIDE = 2,
+ }
+ interface WorkerReply {
+ error: WorkerReplyType;
+ taskType: WorkerTaskType;
+ payload?: any;
+ }
+ interface CollisionReplyPayload {
+ newPosition: Array;
+ collisionId: number;
+ collidedMeshUniqueId: number;
+ }
+ interface InitPayload {
+ }
+ interface CollidePayload {
+ collisionId: number;
+ collider: SerializedColliderToWorker;
+ maximumRetry: number;
+ excludedMeshUniqueId?: number;
+ }
+ interface UpdatePayload {
+ updatedMeshes: {
+ [n: number]: SerializedMesh;
+ };
+ updatedGeometries: {
+ [s: string]: SerializedGeometry;
+ };
+ removedMeshes: Array;
+ removedGeometries: Array;
+ }
+ enum WorkerReplyType {
+ SUCCESS = 0,
+ UNKNOWN_ERROR = 1,
+ }
+ class CollisionCoordinatorWorker implements ICollisionCoordinator {
+ private _scene;
+ private _scaledPosition;
+ private _scaledVelocity;
+ private _collisionsCallbackArray;
+ private _init;
+ private _runningUpdated;
+ private _runningCollisionTask;
+ private _worker;
+ private _addUpdateMeshesList;
+ private _addUpdateGeometriesList;
+ private _toRemoveMeshesArray;
+ private _toRemoveGeometryArray;
+ constructor();
+ static SerializeMesh: (mesh: AbstractMesh) => SerializedMesh;
+ static SerializeGeometry: (geometry: Geometry) => SerializedGeometry;
+ getNewPosition(position: Vector3, velocity: Vector3, collider: Collider, maximumRetry: number, excludedMesh: AbstractMesh, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh?: AbstractMesh) => void, collisionIndex: number): void;
+ init(scene: Scene): void;
+ destroy(): void;
+ onMeshAdded(mesh: AbstractMesh): void;
+ onMeshUpdated: (mesh: AbstractMesh) => void;
+ onMeshRemoved(mesh: AbstractMesh): void;
+ onGeometryAdded(geometry: Geometry): void;
+ onGeometryUpdated: (geometry: Geometry) => void;
+ onGeometryDeleted(geometry: Geometry): void;
+ private _afterRender;
+ private _onMessageFromWorker;
+ }
+ class CollisionCoordinatorLegacy implements ICollisionCoordinator {
+ private _scene;
+ private _scaledPosition;
+ private _scaledVelocity;
+ private _finalPosition;
+ getNewPosition(position: Vector3, velocity: Vector3, collider: Collider, maximumRetry: number, excludedMesh: AbstractMesh, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh?: AbstractMesh) => void, collisionIndex: number): void;
+ init(scene: Scene): void;
+ destroy(): void;
+ onMeshAdded(mesh: AbstractMesh): void;
+ onMeshUpdated(mesh: AbstractMesh): void;
+ onMeshRemoved(mesh: AbstractMesh): void;
+ onGeometryAdded(geometry: Geometry): void;
+ onGeometryUpdated(geometry: Geometry): void;
+ onGeometryDeleted(geometry: Geometry): void;
+ private _collideWithWorld(position, velocity, collider, maximumRetry, finalPosition, excludedMesh?);
+ }
+}
+
+declare module BABYLON {
+ var WorkerIncluded: boolean;
+ class CollisionCache {
+ private _meshes;
+ private _geometries;
+ getMeshes(): {
+ [n: number]: SerializedMesh;
+ };
+ getGeometries(): {
+ [s: number]: SerializedGeometry;
+ };
+ getMesh(id: any): SerializedMesh;
+ addMesh(mesh: SerializedMesh): void;
+ getGeometry(id: string): SerializedGeometry;
+ addGeometry(geometry: SerializedGeometry): void;
+ }
+ class CollideWorker {
+ collider: Collider;
+ private _collisionCache;
+ private finalPosition;
+ private collisionsScalingMatrix;
+ private collisionTranformationMatrix;
+ constructor(collider: Collider, _collisionCache: CollisionCache, finalPosition: Vector3);
+ collideWithWorld(position: Vector3, velocity: Vector3, maximumRetry: number, excludedMeshUniqueId?: number): void;
+ private checkCollision(mesh);
+ private processCollisionsForSubMeshes(transformMatrix, mesh);
+ private collideForSubMesh(subMesh, transformMatrix, meshGeometry);
+ private checkSubmeshCollision(subMesh);
+ }
+ interface ICollisionDetector {
+ onInit(payload: InitPayload): void;
+ onUpdate(payload: UpdatePayload): void;
+ onCollision(payload: CollidePayload): void;
+ }
+ class CollisionDetectorTransferable implements ICollisionDetector {
+ private _collisionCache;
+ onInit(payload: InitPayload): void;
+ onUpdate(payload: UpdatePayload): void;
+ onCollision(payload: CollidePayload): void;
+ }
+}
+
+declare module BABYLON {
+ class IntersectionInfo {
+ bu: number;
+ bv: number;
+ distance: number;
+ faceId: number;
+ subMeshId: number;
+ constructor(bu: number, bv: number, distance: number);
+ }
+ class PickingInfo {
+ hit: boolean;
+ distance: number;
+ pickedPoint: Vector3;
+ pickedMesh: AbstractMesh;
+ bu: number;
+ bv: number;
+ faceId: number;
+ subMeshId: number;
+ getNormal(useWorldCoordinates?: boolean, useVerticesNormals?: boolean): Vector3;
+ getTextureCoordinates(): Vector2;
+ }
+}
+
+declare module BABYLON {
+ class BoundingBox {
+ minimum: Vector3;
+ maximum: Vector3;
+ vectors: Vector3[];
+ center: Vector3;
+ extendSize: Vector3;
+ directions: Vector3[];
+ vectorsWorld: Vector3[];
+ minimumWorld: Vector3;
+ maximumWorld: Vector3;
+ private _worldMatrix;
+ constructor(minimum: Vector3, maximum: Vector3);
+ getWorldMatrix(): Matrix;
+ _update(world: Matrix): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ isCompletelyInFrustum(frustumPlanes: Plane[]): boolean;
+ intersectsPoint(point: Vector3): boolean;
+ intersectsSphere(sphere: BoundingSphere): boolean;
+ intersectsMinMax(min: Vector3, max: Vector3): boolean;
+ static Intersects(box0: BoundingBox, box1: BoundingBox): boolean;
+ static IntersectsSphere(minPoint: Vector3, maxPoint: Vector3, sphereCenter: Vector3, sphereRadius: number): boolean;
+ static IsCompletelyInFrustum(boundingVectors: Vector3[], frustumPlanes: Plane[]): boolean;
+ static IsInFrustum(boundingVectors: Vector3[], frustumPlanes: Plane[]): boolean;
+ }
+}
+
+declare module BABYLON {
+ class BoundingInfo {
+ minimum: Vector3;
+ maximum: Vector3;
+ boundingBox: BoundingBox;
+ boundingSphere: BoundingSphere;
+ constructor(minimum: Vector3, maximum: Vector3);
+ _update(world: Matrix): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ isCompletelyInFrustum(frustumPlanes: Plane[]): boolean;
+ _checkCollision(collider: Collider): boolean;
+ intersectsPoint(point: Vector3): boolean;
+ intersects(boundingInfo: BoundingInfo, precise: boolean): boolean;
+ }
+}
+
+declare module BABYLON {
+ class BoundingSphere {
+ minimum: Vector3;
+ maximum: Vector3;
+ center: Vector3;
+ radius: number;
+ centerWorld: Vector3;
+ radiusWorld: number;
+ private _tempRadiusVector;
+ constructor(minimum: Vector3, maximum: Vector3);
+ _update(world: Matrix): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ intersectsPoint(point: Vector3): boolean;
+ static Intersects(sphere0: BoundingSphere, sphere1: BoundingSphere): boolean;
+ }
+}
+
+declare module BABYLON {
+ class DebugLayer {
+ private _scene;
+ private _camera;
+ private _transformationMatrix;
+ private _enabled;
+ private _labelsEnabled;
+ private _displayStatistics;
+ private _displayTree;
+ private _displayLogs;
+ private _globalDiv;
+ private _statsDiv;
+ private _statsSubsetDiv;
+ private _optionsDiv;
+ private _optionsSubsetDiv;
+ private _logDiv;
+ private _logSubsetDiv;
+ private _treeDiv;
+ private _treeSubsetDiv;
+ private _drawingCanvas;
+ private _drawingContext;
+ private _syncPositions;
+ private _syncData;
+ private _syncUI;
+ private _onCanvasClick;
+ private _clickPosition;
+ private _ratio;
+ private _identityMatrix;
+ private _showUI;
+ private _needToRefreshMeshesTree;
+ shouldDisplayLabel: (node: Node) => boolean;
+ shouldDisplayAxis: (mesh: Mesh) => boolean;
+ axisRatio: number;
+ accentColor: string;
+ customStatsFunction: () => string;
+ constructor(scene: Scene);
+ private _refreshMeshesTreeContent();
+ private _renderSingleAxis(zero, unit, unitText, label, color);
+ private _renderAxis(projectedPosition, mesh, globalViewport);
+ private _renderLabel(text, projectedPosition, labelOffset, onClick, getFillStyle);
+ private _isClickInsideRect(x, y, width, height);
+ isVisible(): boolean;
+ hide(): void;
+ show(showUI?: boolean, camera?: Camera): void;
+ private _clearLabels();
+ private _generateheader(root, text);
+ private _generateTexBox(root, title, color);
+ private _generateAdvancedCheckBox(root, leftTitle, rightTitle, initialState, task, tag?);
+ private _generateCheckBox(root, title, initialState, task, tag?);
+ private _generateButton(root, title, task, tag?);
+ private _generateRadio(root, title, name, initialState, task, tag?);
+ private _generateDOMelements();
+ private _displayStats();
+ }
+}
+
+declare module BABYLON {
+ class Layer {
+ name: string;
+ texture: Texture;
+ isBackground: boolean;
+ color: Color4;
+ onDispose: () => void;
+ private _scene;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _vertexBuffer;
+ private _indexBuffer;
+ private _effect;
+ constructor(name: string, imgUrl: string, scene: Scene, isBackground?: boolean, color?: Color4);
+ render(): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class LensFlare {
+ size: number;
+ position: number;
+ color: Color3;
+ texture: Texture;
+ private _system;
+ constructor(size: number, position: number, color: any, imgUrl: string, system: LensFlareSystem);
+ dispose: () => void;
+ }
+}
+
+declare module BABYLON {
+ class LensFlareSystem {
+ name: string;
+ lensFlares: LensFlare[];
+ borderLimit: number;
+ meshesSelectionPredicate: (mesh: Mesh) => boolean;
+ layerMask: number;
+ private _scene;
+ private _emitter;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _vertexBuffer;
+ private _indexBuffer;
+ private _effect;
+ private _positionX;
+ private _positionY;
+ private _isEnabled;
+ constructor(name: string, emitter: any, scene: Scene);
+ isEnabled: boolean;
+ getScene(): Scene;
+ getEmitter(): any;
+ setEmitter(newEmitter: any): void;
+ getEmitterPosition(): Vector3;
+ computeEffectivePosition(globalViewport: Viewport): boolean;
+ _isVisible(): boolean;
+ render(): boolean;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class DirectionalLight extends Light implements IShadowLight {
+ direction: Vector3;
+ position: Vector3;
+ private _transformedDirection;
+ transformedPosition: Vector3;
+ private _worldMatrix;
+ shadowOrthoScale: number;
+ constructor(name: string, direction: Vector3, scene: Scene);
+ getAbsolutePosition(): Vector3;
+ setDirectionToTarget(target: Vector3): Vector3;
+ setShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): void;
+ supportsVSM(): boolean;
+ needRefreshPerFrame(): boolean;
+ computeTransformedPosition(): boolean;
+ transferToEffect(effect: Effect, directionUniformName: string): void;
+ _getWorldMatrix(): Matrix;
+ }
+}
+
+declare module BABYLON {
+ class HemisphericLight extends Light {
+ direction: Vector3;
+ groundColor: Color3;
+ private _worldMatrix;
+ constructor(name: string, direction: Vector3, scene: Scene);
+ setDirectionToTarget(target: Vector3): Vector3;
+ getShadowGenerator(): ShadowGenerator;
+ transferToEffect(effect: Effect, directionUniformName: string, groundColorUniformName: string): void;
+ _getWorldMatrix(): Matrix;
+ }
+}
+
+declare module BABYLON {
+ interface IShadowLight {
+ position: Vector3;
+ direction: Vector3;
+ transformedPosition: Vector3;
+ name: string;
+ computeTransformedPosition(): boolean;
+ getScene(): Scene;
+ setShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): void;
+ supportsVSM(): boolean;
+ needRefreshPerFrame(): boolean;
+ _shadowGenerator: ShadowGenerator;
+ }
+ class Light extends Node {
+ diffuse: Color3;
+ specular: Color3;
+ intensity: number;
+ range: number;
+ includeOnlyWithLayerMask: number;
+ includedOnlyMeshes: AbstractMesh[];
+ excludedMeshes: AbstractMesh[];
+ excludeWithLayerMask: number;
+ _shadowGenerator: ShadowGenerator;
+ private _parentedWorldMatrix;
+ _excludedMeshesIds: string[];
+ _includedOnlyMeshesIds: string[];
+ constructor(name: string, scene: Scene);
+ getShadowGenerator(): ShadowGenerator;
+ getAbsolutePosition(): Vector3;
+ transferToEffect(effect: Effect, uniformName0?: string, uniformName1?: string): void;
+ _getWorldMatrix(): Matrix;
+ canAffectMesh(mesh: AbstractMesh): boolean;
+ getWorldMatrix(): Matrix;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class PointLight extends Light {
+ position: Vector3;
+ private _worldMatrix;
+ private _transformedPosition;
+ constructor(name: string, position: Vector3, scene: Scene);
+ getAbsolutePosition(): Vector3;
+ transferToEffect(effect: Effect, positionUniformName: string): void;
+ getShadowGenerator(): ShadowGenerator;
+ _getWorldMatrix(): Matrix;
+ }
+}
+
+declare module BABYLON {
+ class SpotLight extends Light implements IShadowLight {
+ position: Vector3;
+ direction: Vector3;
+ angle: number;
+ exponent: number;
+ transformedPosition: Vector3;
+ private _transformedDirection;
+ private _worldMatrix;
+ constructor(name: string, position: Vector3, direction: Vector3, angle: number, exponent: number, scene: Scene);
+ getAbsolutePosition(): Vector3;
+ setShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): void;
+ supportsVSM(): boolean;
+ needRefreshPerFrame(): boolean;
+ setDirectionToTarget(target: Vector3): Vector3;
+ computeTransformedPosition(): boolean;
+ transferToEffect(effect: Effect, positionUniformName: string, directionUniformName: string): void;
+ _getWorldMatrix(): Matrix;
+ }
+}
+
+declare module BABYLON {
+ interface ISceneLoaderPlugin {
+ extensions: string;
+ importMesh: (meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => boolean;
+ load: (scene: Scene, data: string, rootUrl: string) => boolean;
+ }
+ class SceneLoader {
+ private static _ForceFullSceneLoadingForIncremental;
+ private static _ShowLoadingScreen;
+ static ForceFullSceneLoadingForIncremental: boolean;
+ static ShowLoadingScreen: boolean;
+ private static _registeredPlugins;
+ private static _getPluginForFilename(sceneFilename);
+ static RegisterPlugin(plugin: ISceneLoaderPlugin): void;
+ static ImportMesh(meshesNames: any, rootUrl: string, sceneFilename: string, scene: Scene, onsuccess?: (meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, progressCallBack?: () => void, onerror?: (scene: Scene, e: any) => void): void;
+ /**
+ * Load a scene
+ * @param rootUrl a string that defines the root url for scene and resources
+ * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
+ * @param engine is the instance of BABYLON.Engine to use to create the scene
+ */
+ static Load(rootUrl: string, sceneFilename: any, engine: Engine, onsuccess?: (scene: Scene) => void, progressCallBack?: any, onerror?: (scene: Scene) => void): void;
+ /**
+ * Append a scene
+ * @param rootUrl a string that defines the root url for scene and resources
+ * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene
+ * @param scene is the instance of BABYLON.Scene to append to
+ */
+ static Append(rootUrl: string, sceneFilename: any, scene: Scene, onsuccess?: (scene: Scene) => void, progressCallBack?: any, onerror?: (scene: Scene) => void): void;
+ }
+}
+
+declare module BABYLON {
+ class EffectFallbacks {
+ private _defines;
+ private _currentRank;
+ private _maxRank;
+ addFallback(rank: number, define: string): void;
+ isMoreFallbacks: boolean;
+ reduce(currentDefines: string): string;
+ }
+ class Effect {
+ name: any;
+ defines: string;
+ onCompiled: (effect: Effect) => void;
+ onError: (effect: Effect, errors: string) => void;
+ onBind: (effect: Effect) => void;
+ private _engine;
+ private _uniformsNames;
+ private _samplers;
+ private _isReady;
+ private _compilationError;
+ private _attributesNames;
+ private _attributes;
+ private _uniforms;
+ _key: string;
+ private _program;
+ private _valueCache;
+ constructor(baseName: any, attributesNames: string[], uniformsNames: string[], samplers: string[], engine: any, defines?: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void);
+ isReady(): boolean;
+ getProgram(): WebGLProgram;
+ getAttributesNames(): string[];
+ getAttributeLocation(index: number): number;
+ getAttributeLocationByName(name: string): number;
+ getAttributesCount(): number;
+ getUniformIndex(uniformName: string): number;
+ getUniform(uniformName: string): WebGLUniformLocation;
+ getSamplers(): string[];
+ getCompilationError(): string;
+ _loadVertexShader(vertex: any, callback: (data: any) => void): void;
+ _loadFragmentShader(fragment: any, callback: (data: any) => void): void;
+ private _prepareEffect(vertexSourceCode, fragmentSourceCode, attributesNames, defines, fallbacks?);
+ _bindTexture(channel: string, texture: WebGLTexture): void;
+ setTexture(channel: string, texture: BaseTexture): void;
+ setTextureFromPostProcess(channel: string, postProcess: PostProcess): void;
+ _cacheFloat2(uniformName: string, x: number, y: number): void;
+ _cacheFloat3(uniformName: string, x: number, y: number, z: number): void;
+ _cacheFloat4(uniformName: string, x: number, y: number, z: number, w: number): void;
+ setArray(uniformName: string, array: number[]): Effect;
+ setArray2(uniformName: string, array: number[]): Effect;
+ setArray3(uniformName: string, array: number[]): Effect;
+ setArray4(uniformName: string, array: number[]): Effect;
+ setMatrices(uniformName: string, matrices: Float32Array): Effect;
+ setMatrix(uniformName: string, matrix: Matrix): Effect;
+ setMatrix3x3(uniformName: string, matrix: Float32Array): Effect;
+ setMatrix2x2(uniformname: string, matrix: Float32Array): Effect;
+ setFloat(uniformName: string, value: number): Effect;
+ setBool(uniformName: string, bool: boolean): Effect;
+ setVector2(uniformName: string, vector2: Vector2): Effect;
+ setFloat2(uniformName: string, x: number, y: number): Effect;
+ setVector3(uniformName: string, vector3: Vector3): Effect;
+ setFloat3(uniformName: string, x: number, y: number, z: number): Effect;
+ setVector4(uniformName: string, vector4: Vector4): Effect;
+ setFloat4(uniformName: string, x: number, y: number, z: number, w: number): Effect;
+ setColor3(uniformName: string, color3: Color3): Effect;
+ setColor4(uniformName: string, color3: Color3, alpha: number): Effect;
+ static ShadersStore: {};
+ }
+}
+
+declare module BABYLON {
+ class Material {
+ name: string;
+ private static _TriangleFillMode;
+ private static _WireFrameFillMode;
+ private static _PointFillMode;
+ static TriangleFillMode: number;
+ static WireFrameFillMode: number;
+ static PointFillMode: number;
+ id: string;
+ checkReadyOnEveryCall: boolean;
+ checkReadyOnlyOnce: boolean;
+ state: string;
+ alpha: number;
+ backFaceCulling: boolean;
+ onCompiled: (effect: Effect) => void;
+ onError: (effect: Effect, errors: string) => void;
+ onDispose: () => void;
+ onBind: (material: Material, mesh: Mesh) => void;
+ getRenderTargetTextures: () => SmartArray;
+ alphaMode: number;
+ disableDepthWrite: boolean;
+ _effect: Effect;
+ _wasPreviouslyReady: boolean;
+ private _scene;
+ private _fillMode;
+ private _cachedDepthWriteState;
+ pointSize: number;
+ zOffset: number;
+ wireframe: boolean;
+ pointsCloud: boolean;
+ fillMode: number;
+ constructor(name: string, scene: Scene, doNotAdd?: boolean);
+ isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean;
+ getEffect(): Effect;
+ getScene(): Scene;
+ needAlphaBlending(): boolean;
+ needAlphaTesting(): boolean;
+ getAlphaTestTexture(): BaseTexture;
+ trackCreation(onCompiled: (effect: Effect) => void, onError: (effect: Effect, errors: string) => void): void;
+ _preBind(): void;
+ bind(world: Matrix, mesh?: Mesh): void;
+ bindOnlyWorldMatrix(world: Matrix): void;
+ unbind(): void;
+ clone(name: string): Material;
+ dispose(forceDisposeEffect?: boolean): void;
+ }
+}
+
+declare module BABYLON {
+ class MultiMaterial extends Material {
+ subMaterials: Material[];
+ constructor(name: string, scene: Scene);
+ getSubMaterial(index: any): Material;
+ isReady(mesh?: AbstractMesh): boolean;
+ clone(name: string): MultiMaterial;
+ }
+}
+
+declare module BABYLON {
+ class ShaderMaterial extends Material {
+ private _shaderPath;
+ private _options;
+ private _textures;
+ private _floats;
+ private _floatsArrays;
+ private _colors3;
+ private _colors4;
+ private _vectors2;
+ private _vectors3;
+ private _vectors4;
+ private _matrices;
+ private _matrices3x3;
+ private _matrices2x2;
+ private _cachedWorldViewMatrix;
+ private _renderId;
+ constructor(name: string, scene: Scene, shaderPath: any, options: any);
+ needAlphaBlending(): boolean;
+ needAlphaTesting(): boolean;
+ private _checkUniform(uniformName);
+ setTexture(name: string, texture: Texture): ShaderMaterial;
+ setFloat(name: string, value: number): ShaderMaterial;
+ setFloats(name: string, value: number[]): ShaderMaterial;
+ setColor3(name: string, value: Color3): ShaderMaterial;
+ setColor4(name: string, value: Color4): ShaderMaterial;
+ setVector2(name: string, value: Vector2): ShaderMaterial;
+ setVector3(name: string, value: Vector3): ShaderMaterial;
+ setVector4(name: string, value: Vector4): ShaderMaterial;
+ setMatrix(name: string, value: Matrix): ShaderMaterial;
+ setMatrix3x3(name: string, value: Float32Array): ShaderMaterial;
+ setMatrix2x2(name: string, value: Float32Array): ShaderMaterial;
+ isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean;
+ bindOnlyWorldMatrix(world: Matrix): void;
+ bind(world: Matrix, mesh?: Mesh): void;
+ clone(name: string): ShaderMaterial;
+ dispose(forceDisposeEffect?: boolean): void;
+ }
+}
+
+declare module BABYLON {
+ class FresnelParameters {
+ isEnabled: boolean;
+ leftColor: Color3;
+ rightColor: Color3;
+ bias: number;
+ power: number;
+ }
+ class StandardMaterial extends Material {
+ diffuseTexture: BaseTexture;
+ ambientTexture: BaseTexture;
+ opacityTexture: BaseTexture;
+ reflectionTexture: BaseTexture;
+ emissiveTexture: BaseTexture;
+ specularTexture: BaseTexture;
+ bumpTexture: BaseTexture;
+ ambientColor: Color3;
+ diffuseColor: Color3;
+ specularColor: Color3;
+ specularPower: number;
+ emissiveColor: Color3;
+ useAlphaFromDiffuseTexture: boolean;
+ useEmissiveAsIllumination: boolean;
+ useReflectionFresnelFromSpecular: boolean;
+ useSpecularOverAlpha: boolean;
+ fogEnabled: boolean;
+ roughness: number;
+ diffuseFresnelParameters: FresnelParameters;
+ opacityFresnelParameters: FresnelParameters;
+ reflectionFresnelParameters: FresnelParameters;
+ emissiveFresnelParameters: FresnelParameters;
+ useGlossinessFromSpecularMapAlpha: boolean;
+ private _renderTargets;
+ private _worldViewProjectionMatrix;
+ private _globalAmbientColor;
+ private _scaledDiffuse;
+ private _scaledSpecular;
+ private _renderId;
+ private _defines;
+ private _cachedDefines;
+ constructor(name: string, scene: Scene);
+ needAlphaBlending(): boolean;
+ needAlphaTesting(): boolean;
+ private _shouldUseAlphaFromDiffuseTexture();
+ getAlphaTestTexture(): BaseTexture;
+ isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean;
+ unbind(): void;
+ bindOnlyWorldMatrix(world: Matrix): void;
+ bind(world: Matrix, mesh?: Mesh): void;
+ getAnimatables(): IAnimatable[];
+ dispose(forceDisposeEffect?: boolean): void;
+ clone(name: string): StandardMaterial;
+ static DiffuseTextureEnabled: boolean;
+ static AmbientTextureEnabled: boolean;
+ static OpacityTextureEnabled: boolean;
+ static ReflectionTextureEnabled: boolean;
+ static EmissiveTextureEnabled: boolean;
+ static SpecularTextureEnabled: boolean;
+ static BumpTextureEnabled: boolean;
+ static FresnelEnabled: boolean;
+ }
+}
+
+declare module BABYLON {
+ class Color3 {
+ r: number;
+ g: number;
+ b: number;
+ constructor(r?: number, g?: number, b?: number);
+ toString(): string;
+ toArray(array: number[], index?: number): Color3;
+ toColor4(alpha?: number): Color4;
+ asArray(): number[];
+ toLuminance(): number;
+ multiply(otherColor: Color3): Color3;
+ multiplyToRef(otherColor: Color3, result: Color3): Color3;
+ equals(otherColor: Color3): boolean;
+ equalsFloats(r: number, g: number, b: number): boolean;
+ scale(scale: number): Color3;
+ scaleToRef(scale: number, result: Color3): Color3;
+ add(otherColor: Color3): Color3;
+ addToRef(otherColor: Color3, result: Color3): Color3;
+ subtract(otherColor: Color3): Color3;
+ subtractToRef(otherColor: Color3, result: Color3): Color3;
+ clone(): Color3;
+ copyFrom(source: Color3): Color3;
+ copyFromFloats(r: number, g: number, b: number): Color3;
+ toHexString(): string;
+ static FromHexString(hex: string): Color3;
+ static FromArray(array: number[], offset?: number): Color3;
+ static FromInts(r: number, g: number, b: number): Color3;
+ static Lerp(start: Color3, end: Color3, amount: number): Color3;
+ static Red(): Color3;
+ static Green(): Color3;
+ static Blue(): Color3;
+ static Black(): Color3;
+ static White(): Color3;
+ static Purple(): Color3;
+ static Magenta(): Color3;
+ static Yellow(): Color3;
+ static Gray(): Color3;
+ }
+ class Color4 {
+ r: number;
+ g: number;
+ b: number;
+ a: number;
+ constructor(r: number, g: number, b: number, a: number);
+ addInPlace(right: any): Color4;
+ asArray(): number[];
+ toArray(array: number[], index?: number): Color4;
+ add(right: Color4): Color4;
+ subtract(right: Color4): Color4;
+ subtractToRef(right: Color4, result: Color4): Color4;
+ scale(scale: number): Color4;
+ scaleToRef(scale: number, result: Color4): Color4;
+ toString(): string;
+ clone(): Color4;
+ copyFrom(source: Color4): Color4;
+ toHexString(): string;
+ static FromHexString(hex: string): Color4;
+ static Lerp(left: Color4, right: Color4, amount: number): Color4;
+ static LerpToRef(left: Color4, right: Color4, amount: number, result: Color4): void;
+ static FromArray(array: number[], offset?: number): Color4;
+ static FromInts(r: number, g: number, b: number, a: number): Color4;
+ }
+ class Vector2 {
+ x: number;
+ y: number;
+ constructor(x: number, y: number);
+ toString(): string;
+ toArray(array: number[], index?: number): Vector2;
+ asArray(): number[];
+ copyFrom(source: Vector2): Vector2;
+ copyFromFloats(x: number, y: number): Vector2;
+ add(otherVector: Vector2): Vector2;
+ addVector3(otherVector: Vector3): Vector2;
+ subtract(otherVector: Vector2): Vector2;
+ subtractInPlace(otherVector: Vector2): Vector2;
+ multiplyInPlace(otherVector: Vector2): Vector2;
+ multiply(otherVector: Vector2): Vector2;
+ multiplyToRef(otherVector: Vector2, result: Vector2): Vector2;
+ multiplyByFloats(x: number, y: number): Vector2;
+ divide(otherVector: Vector2): Vector2;
+ divideToRef(otherVector: Vector2, result: Vector2): Vector2;
+ negate(): Vector2;
+ scaleInPlace(scale: number): Vector2;
+ scale(scale: number): Vector2;
+ equals(otherVector: Vector2): boolean;
+ equalsWithEpsilon(otherVector: Vector2, epsilon?: number): boolean;
+ length(): number;
+ lengthSquared(): number;
+ normalize(): Vector2;
+ clone(): Vector2;
+ static Zero(): Vector2;
+ static FromArray(array: number[], offset?: number): Vector2;
+ static FromArrayToRef(array: number[], offset: number, result: Vector2): void;
+ static CatmullRom(value1: Vector2, value2: Vector2, value3: Vector2, value4: Vector2, amount: number): Vector2;
+ static Clamp(value: Vector2, min: Vector2, max: Vector2): Vector2;
+ static Hermite(value1: Vector2, tangent1: Vector2, value2: Vector2, tangent2: Vector2, amount: number): Vector2;
+ static Lerp(start: Vector2, end: Vector2, amount: number): Vector2;
+ static Dot(left: Vector2, right: Vector2): number;
+ static Normalize(vector: Vector2): Vector2;
+ static Minimize(left: Vector2, right: Vector2): Vector2;
+ static Maximize(left: Vector2, right: Vector2): Vector2;
+ static Transform(vector: Vector2, transformation: Matrix): Vector2;
+ static Distance(value1: Vector2, value2: Vector2): number;
+ static DistanceSquared(value1: Vector2, value2: Vector2): number;
+ }
+ class Vector3 {
+ x: number;
+ y: number;
+ z: number;
+ constructor(x: number, y: number, z: number);
+ toString(): string;
+ asArray(): number[];
+ toArray(array: number[], index?: number): Vector3;
+ toQuaternion(): Quaternion;
+ addInPlace(otherVector: Vector3): Vector3;
+ add(otherVector: Vector3): Vector3;
+ addToRef(otherVector: Vector3, result: Vector3): Vector3;
+ subtractInPlace(otherVector: Vector3): Vector3;
+ subtract(otherVector: Vector3): Vector3;
+ subtractToRef(otherVector: Vector3, result: Vector3): Vector3;
+ subtractFromFloats(x: number, y: number, z: number): Vector3;
+ subtractFromFloatsToRef(x: number, y: number, z: number, result: Vector3): Vector3;
+ negate(): Vector3;
+ scaleInPlace(scale: number): Vector3;
+ scale(scale: number): Vector3;
+ scaleToRef(scale: number, result: Vector3): void;
+ equals(otherVector: Vector3): boolean;
+ equalsWithEpsilon(otherVector: Vector3, epsilon?: number): boolean;
+ equalsToFloats(x: number, y: number, z: number): boolean;
+ multiplyInPlace(otherVector: Vector3): Vector3;
+ multiply(otherVector: Vector3): Vector3;
+ multiplyToRef(otherVector: Vector3, result: Vector3): Vector3;
+ multiplyByFloats(x: number, y: number, z: number): Vector3;
+ divide(otherVector: Vector3): Vector3;
+ divideToRef(otherVector: Vector3, result: Vector3): Vector3;
+ MinimizeInPlace(other: Vector3): Vector3;
+ MaximizeInPlace(other: Vector3): Vector3;
+ length(): number;
+ lengthSquared(): number;
+ normalize(): Vector3;
+ clone(): Vector3;
+ copyFrom(source: Vector3): Vector3;
+ copyFromFloats(x: number, y: number, z: number): Vector3;
+ static GetClipFactor(vector0: Vector3, vector1: Vector3, axis: Vector3, size: any): number;
+ static FromArray(array: number[], offset?: number): Vector3;
+ static FromFloatArray(array: Float32Array, offset?: number): Vector3;
+ static FromArrayToRef(array: number[], offset: number, result: Vector3): void;
+ static FromFloatArrayToRef(array: Float32Array, offset: number, result: Vector3): void;
+ static FromFloatsToRef(x: number, y: number, z: number, result: Vector3): void;
+ static Zero(): Vector3;
+ static Up(): Vector3;
+ static TransformCoordinates(vector: Vector3, transformation: Matrix): Vector3;
+ static TransformCoordinatesToRef(vector: Vector3, transformation: Matrix, result: Vector3): void;
+ static TransformCoordinatesFromFloatsToRef(x: number, y: number, z: number, transformation: Matrix, result: Vector3): void;
+ static TransformCoordinatesToRefSIMD(vector: Vector3, transformation: Matrix, result: Vector3): void;
+ static TransformCoordinatesFromFloatsToRefSIMD(x: number, y: number, z: number, transformation: Matrix, result: Vector3): void;
+ static TransformNormal(vector: Vector3, transformation: Matrix): Vector3;
+ static TransformNormalToRef(vector: Vector3, transformation: Matrix, result: Vector3): void;
+ static TransformNormalFromFloatsToRef(x: number, y: number, z: number, transformation: Matrix, result: Vector3): void;
+ static CatmullRom(value1: Vector3, value2: Vector3, value3: Vector3, value4: Vector3, amount: number): Vector3;
+ static Clamp(value: Vector3, min: Vector3, max: Vector3): Vector3;
+ static Hermite(value1: Vector3, tangent1: Vector3, value2: Vector3, tangent2: Vector3, amount: number): Vector3;
+ static Lerp(start: Vector3, end: Vector3, amount: number): Vector3;
+ static Dot(left: Vector3, right: Vector3): number;
+ static Cross(left: Vector3, right: Vector3): Vector3;
+ static CrossToRef(left: Vector3, right: Vector3, result: Vector3): void;
+ static Normalize(vector: Vector3): Vector3;
+ static NormalizeToRef(vector: Vector3, result: Vector3): void;
+ static Project(vector: Vector3, world: Matrix, transform: Matrix, viewport: Viewport): Vector3;
+ static UnprojectFromTransform(source: Vector3, viewportWidth: number, viewportHeight: number, world: Matrix, transform: Matrix): Vector3;
+ static Unproject(source: Vector3, viewportWidth: number, viewportHeight: number, world: Matrix, view: Matrix, projection: Matrix): Vector3;
+ static Minimize(left: Vector3, right: Vector3): Vector3;
+ static Maximize(left: Vector3, right: Vector3): Vector3;
+ static Distance(value1: Vector3, value2: Vector3): number;
+ static DistanceSquared(value1: Vector3, value2: Vector3): number;
+ static Center(value1: Vector3, value2: Vector3): Vector3;
+ /**
+ * Given three orthogonal left-handed oriented Vector3 axis in space (target system),
+ * RotationFromAxis() returns the rotation Euler angles (ex : rotation.x, rotation.y, rotation.z) to apply
+ * to something in order to rotate it from its local system to the given target system.
+ */
+ static RotationFromAxis(axis1: Vector3, axis2: Vector3, axis3: Vector3): Vector3;
+ /**
+ * The same than RotationFromAxis but updates the passed ref Vector3 parameter.
+ */
+ static RotationFromAxisToRef(axis1: Vector3, axis2: Vector3, axis3: Vector3, ref: Vector3): void;
+ }
+ class Vector4 {
+ x: number;
+ y: number;
+ z: number;
+ w: number;
+ constructor(x: number, y: number, z: number, w: number);
+ toString(): string;
+ asArray(): number[];
+ toArray(array: number[], index?: number): Vector4;
+ addInPlace(otherVector: Vector4): Vector4;
+ add(otherVector: Vector4): Vector4;
+ addToRef(otherVector: Vector4, result: Vector4): Vector4;
+ subtractInPlace(otherVector: Vector4): Vector4;
+ subtract(otherVector: Vector4): Vector4;
+ subtractToRef(otherVector: Vector4, result: Vector4): Vector4;
+ subtractFromFloats(x: number, y: number, z: number, w: number): Vector4;
+ subtractFromFloatsToRef(x: number, y: number, z: number, w: number, result: Vector4): Vector4;
+ negate(): Vector4;
+ scaleInPlace(scale: number): Vector4;
+ scale(scale: number): Vector4;
+ scaleToRef(scale: number, result: Vector4): void;
+ equals(otherVector: Vector4): boolean;
+ equalsWithEpsilon(otherVector: Vector4, epsilon?: number): boolean;
+ equalsToFloats(x: number, y: number, z: number, w: number): boolean;
+ multiplyInPlace(otherVector: Vector4): Vector4;
+ multiply(otherVector: Vector4): Vector4;
+ multiplyToRef(otherVector: Vector4, result: Vector4): Vector4;
+ multiplyByFloats(x: number, y: number, z: number, w: number): Vector4;
+ divide(otherVector: Vector4): Vector4;
+ divideToRef(otherVector: Vector4, result: Vector4): Vector4;
+ MinimizeInPlace(other: Vector4): Vector4;
+ MaximizeInPlace(other: Vector4): Vector4;
+ length(): number;
+ lengthSquared(): number;
+ normalize(): Vector4;
+ clone(): Vector4;
+ copyFrom(source: Vector4): Vector4;
+ copyFromFloats(x: number, y: number, z: number, w: number): Vector4;
+ static FromArray(array: number[], offset?: number): Vector4;
+ static FromArrayToRef(array: number[], offset: number, result: Vector4): void;
+ static FromFloatArrayToRef(array: Float32Array, offset: number, result: Vector4): void;
+ static FromFloatsToRef(x: number, y: number, z: number, w: number, result: Vector4): void;
+ static Zero(): Vector4;
+ static Normalize(vector: Vector4): Vector4;
+ static NormalizeToRef(vector: Vector4, result: Vector4): void;
+ static Minimize(left: Vector4, right: Vector4): Vector4;
+ static Maximize(left: Vector4, right: Vector4): Vector4;
+ static Distance(value1: Vector4, value2: Vector4): number;
+ static DistanceSquared(value1: Vector4, value2: Vector4): number;
+ static Center(value1: Vector4, value2: Vector4): Vector4;
+ }
+ class Quaternion {
+ x: number;
+ y: number;
+ z: number;
+ w: number;
+ constructor(x?: number, y?: number, z?: number, w?: number);
+ toString(): string;
+ asArray(): number[];
+ equals(otherQuaternion: Quaternion): boolean;
+ clone(): Quaternion;
+ copyFrom(other: Quaternion): Quaternion;
+ copyFromFloats(x: number, y: number, z: number, w: number): Quaternion;
+ add(other: Quaternion): Quaternion;
+ subtract(other: Quaternion): Quaternion;
+ scale(value: number): Quaternion;
+ multiply(q1: Quaternion): Quaternion;
+ multiplyToRef(q1: Quaternion, result: Quaternion): Quaternion;
+ length(): number;
+ normalize(): Quaternion;
+ toEulerAngles(): Vector3;
+ toEulerAnglesToRef(result: Vector3): Quaternion;
+ toRotationMatrix(result: Matrix): Quaternion;
+ fromRotationMatrix(matrix: Matrix): Quaternion;
+ static FromRotationMatrix(matrix: Matrix): Quaternion;
+ static FromRotationMatrixToRef(matrix: Matrix, result: Quaternion): void;
+ static Inverse(q: Quaternion): Quaternion;
+ static Identity(): Quaternion;
+ static RotationAxis(axis: Vector3, angle: number): Quaternion;
+ static FromArray(array: number[], offset?: number): Quaternion;
+ static RotationYawPitchRoll(yaw: number, pitch: number, roll: number): Quaternion;
+ static RotationYawPitchRollToRef(yaw: number, pitch: number, roll: number, result: Quaternion): void;
+ static RotationAlphaBetaGamma(alpha: number, beta: number, gamma: number): Quaternion;
+ static RotationAlphaBetaGammaToRef(alpha: number, beta: number, gamma: number, result: Quaternion): void;
+ static Slerp(left: Quaternion, right: Quaternion, amount: number): Quaternion;
+ }
+ class Matrix {
+ private static _tempQuaternion;
+ private static _xAxis;
+ private static _yAxis;
+ private static _zAxis;
+ m: Float32Array;
+ isIdentity(): boolean;
+ determinant(): number;
+ toArray(): Float32Array;
+ asArray(): Float32Array;
+ invert(): Matrix;
+ reset(): Matrix;
+ add(other: Matrix): Matrix;
+ addToRef(other: Matrix, result: Matrix): Matrix;
+ addToSelf(other: Matrix): Matrix;
+ invertToRef(other: Matrix): Matrix;
+ invertToRefSIMD(other: Matrix): Matrix;
+ setTranslation(vector3: Vector3): Matrix;
+ multiply(other: Matrix): Matrix;
+ copyFrom(other: Matrix): Matrix;
+ copyToArray(array: Float32Array, offset?: number): Matrix;
+ multiplyToRef(other: Matrix, result: Matrix): Matrix;
+ multiplyToArray(other: Matrix, result: Float32Array, offset: number): Matrix;
+ multiplyToArraySIMD(other: Matrix, result: Matrix, offset?: number): void;
+ equals(value: Matrix): boolean;
+ clone(): Matrix;
+ decompose(scale: Vector3, rotation: Quaternion, translation: Vector3): boolean;
+ static FromArray(array: number[], offset?: number): Matrix;
+ static FromArrayToRef(array: number[], offset: number, result: Matrix): void;
+ static FromFloat32ArrayToRefScaled(array: Float32Array, offset: number, scale: number, result: Matrix): void;
+ static FromValuesToRef(initialM11: number, initialM12: number, initialM13: number, initialM14: number, initialM21: number, initialM22: number, initialM23: number, initialM24: number, initialM31: number, initialM32: number, initialM33: number, initialM34: number, initialM41: number, initialM42: number, initialM43: number, initialM44: number, result: Matrix): void;
+ static FromValues(initialM11: number, initialM12: number, initialM13: number, initialM14: number, initialM21: number, initialM22: number, initialM23: number, initialM24: number, initialM31: number, initialM32: number, initialM33: number, initialM34: number, initialM41: number, initialM42: number, initialM43: number, initialM44: number): Matrix;
+ static Compose(scale: Vector3, rotation: Quaternion, translation: Vector3): Matrix;
+ static Identity(): Matrix;
+ static IdentityToRef(result: Matrix): void;
+ static Zero(): Matrix;
+ static RotationX(angle: number): Matrix;
+ static Invert(source: Matrix): Matrix;
+ static RotationXToRef(angle: number, result: Matrix): void;
+ static RotationY(angle: number): Matrix;
+ static RotationYToRef(angle: number, result: Matrix): void;
+ static RotationZ(angle: number): Matrix;
+ static RotationZToRef(angle: number, result: Matrix): void;
+ static RotationAxis(axis: Vector3, angle: number): Matrix;
+ static RotationYawPitchRoll(yaw: number, pitch: number, roll: number): Matrix;
+ static RotationYawPitchRollToRef(yaw: number, pitch: number, roll: number, result: Matrix): void;
+ static Scaling(x: number, y: number, z: number): Matrix;
+ static ScalingToRef(x: number, y: number, z: number, result: Matrix): void;
+ static Translation(x: number, y: number, z: number): Matrix;
+ static TranslationToRef(x: number, y: number, z: number, result: Matrix): void;
+ static LookAtLH(eye: Vector3, target: Vector3, up: Vector3): Matrix;
+ static LookAtLHToRef(eye: Vector3, target: Vector3, up: Vector3, result: Matrix): void;
+ static LookAtLHToRefSIMD(eyeRef: Vector3, targetRef: Vector3, upRef: Vector3, result: Matrix): void;
+ static OrthoLH(width: number, height: number, znear: number, zfar: number): Matrix;
+ static OrthoLHToRef(width: number, height: number, znear: number, zfar: number, result: Matrix): void;
+ static OrthoOffCenterLH(left: number, right: number, bottom: number, top: number, znear: number, zfar: number): Matrix;
+ static OrthoOffCenterLHToRef(left: number, right: any, bottom: number, top: number, znear: number, zfar: number, result: Matrix): void;
+ static PerspectiveLH(width: number, height: number, znear: number, zfar: number): Matrix;
+ static PerspectiveFovLH(fov: number, aspect: number, znear: number, zfar: number): Matrix;
+ static PerspectiveFovLHToRef(fov: number, aspect: number, znear: number, zfar: number, result: Matrix, fovMode?: number): void;
+ static GetFinalMatrix(viewport: Viewport, world: Matrix, view: Matrix, projection: Matrix, zmin: number, zmax: number): Matrix;
+ static GetAsMatrix2x2(matrix: Matrix): Float32Array;
+ static GetAsMatrix3x3(matrix: Matrix): Float32Array;
+ static Transpose(matrix: Matrix): Matrix;
+ static Reflection(plane: Plane): Matrix;
+ static ReflectionToRef(plane: Plane, result: Matrix): void;
+ }
+ class Plane {
+ normal: Vector3;
+ d: number;
+ constructor(a: number, b: number, c: number, d: number);
+ asArray(): number[];
+ clone(): Plane;
+ normalize(): Plane;
+ transform(transformation: Matrix): Plane;
+ dotCoordinate(point: any): number;
+ copyFromPoints(point1: Vector3, point2: Vector3, point3: Vector3): Plane;
+ isFrontFacingTo(direction: Vector3, epsilon: number): boolean;
+ signedDistanceTo(point: Vector3): number;
+ static FromArray(array: number[]): Plane;
+ static FromPoints(point1: any, point2: any, point3: any): Plane;
+ static FromPositionAndNormal(origin: Vector3, normal: Vector3): Plane;
+ static SignedDistanceToPlaneFromPositionAndNormal(origin: Vector3, normal: Vector3, point: Vector3): number;
+ }
+ class Viewport {
+ x: number;
+ y: number;
+ width: number;
+ height: number;
+ constructor(x: number, y: number, width: number, height: number);
+ toGlobal(engine: any): Viewport;
+ }
+ class Frustum {
+ static GetPlanes(transform: Matrix): Plane[];
+ static GetPlanesToRef(transform: Matrix, frustumPlanes: Plane[]): void;
+ }
+ class Ray {
+ origin: Vector3;
+ direction: Vector3;
+ length: number;
+ private _edge1;
+ private _edge2;
+ private _pvec;
+ private _tvec;
+ private _qvec;
+ constructor(origin: Vector3, direction: Vector3, length?: number);
+ intersectsBoxMinMax(minimum: Vector3, maximum: Vector3): boolean;
+ intersectsBox(box: BoundingBox): boolean;
+ intersectsSphere(sphere: any): boolean;
+ intersectsTriangle(vertex0: Vector3, vertex1: Vector3, vertex2: Vector3): IntersectionInfo;
+ static CreateNew(x: number, y: number, viewportWidth: number, viewportHeight: number, world: Matrix, view: Matrix, projection: Matrix): Ray;
+ /**
+ * Function will create a new transformed ray starting from origin and ending at the end point. Ray's length will be set, and ray will be
+ * transformed to the given world matrix.
+ * @param origin The origin point
+ * @param end The end point
+ * @param world a matrix to transform the ray to. Default is the identity matrix.
+ */
+ static CreateNewFromTo(origin: Vector3, end: Vector3, world?: Matrix): Ray;
+ static Transform(ray: Ray, matrix: Matrix): Ray;
+ }
+ enum Space {
+ LOCAL = 0,
+ WORLD = 1,
+ }
+ class Axis {
+ static X: Vector3;
+ static Y: Vector3;
+ static Z: Vector3;
+ }
+ class BezierCurve {
+ static interpolate(t: number, x1: number, y1: number, x2: number, y2: number): number;
+ }
+ enum Orientation {
+ CW = 0,
+ CCW = 1,
+ }
+ class Angle {
+ private _radians;
+ constructor(radians: number);
+ degrees: () => number;
+ radians: () => number;
+ static BetweenTwoPoints(a: Vector2, b: Vector2): Angle;
+ static FromRadians(radians: number): Angle;
+ static FromDegrees(degrees: number): Angle;
+ }
+ class Arc2 {
+ startPoint: Vector2;
+ midPoint: Vector2;
+ endPoint: Vector2;
+ centerPoint: Vector2;
+ radius: number;
+ angle: Angle;
+ startAngle: Angle;
+ orientation: Orientation;
+ constructor(startPoint: Vector2, midPoint: Vector2, endPoint: Vector2);
+ }
+ class PathCursor {
+ private path;
+ private _onchange;
+ value: number;
+ animations: Animation[];
+ constructor(path: Path2);
+ getPoint(): Vector3;
+ moveAhead(step?: number): PathCursor;
+ moveBack(step?: number): PathCursor;
+ move(step: number): PathCursor;
+ private ensureLimits();
+ private markAsDirty(propertyName);
+ private raiseOnChange();
+ onchange(f: (cursor: PathCursor) => void): PathCursor;
+ }
+ class Path2 {
+ private _points;
+ private _length;
+ closed: boolean;
+ constructor(x: number, y: number);
+ addLineTo(x: number, y: number): Path2;
+ addArcTo(midX: number, midY: number, endX: number, endY: number, numberOfSegments?: number): Path2;
+ close(): Path2;
+ length(): number;
+ getPoints(): Vector2[];
+ getPointAtLengthPosition(normalizedLengthPosition: number): Vector2;
+ static StartingAt(x: number, y: number): Path2;
+ }
+ class Path3D {
+ path: Vector3[];
+ private _curve;
+ private _distances;
+ private _tangents;
+ private _normals;
+ private _binormals;
+ private _raw;
+ /**
+ * new Path3D(path, normal, raw)
+ * path : an array of Vector3, the curve axis of the Path3D
+ * normal (optional) : Vector3, the first wanted normal to the curve. Ex (0, 1, 0) for a vertical normal.
+ * raw (optional, default false) : boolean, if true the returned Path3D isn't normalized. Useful to depict path acceleration or speed.
+ */
+ constructor(path: Vector3[], firstNormal?: Vector3, raw?: boolean);
+ getCurve(): Vector3[];
+ getTangents(): Vector3[];
+ getNormals(): Vector3[];
+ getBinormals(): Vector3[];
+ getDistances(): number[];
+ update(path: Vector3[], firstNormal?: Vector3): Path3D;
+ private _compute(firstNormal);
+ private _getFirstNonNullVector(index);
+ private _getLastNonNullVector(index);
+ private _normalVector(v0, vt, va);
+ }
+ class Curve3 {
+ private _points;
+ private _length;
+ static CreateQuadraticBezier(v0: Vector3, v1: Vector3, v2: Vector3, nbPoints: number): Curve3;
+ static CreateCubicBezier(v0: Vector3, v1: Vector3, v2: Vector3, v3: Vector3, nbPoints: number): Curve3;
+ static CreateHermiteSpline(p1: Vector3, t1: Vector3, p2: Vector3, t2: Vector3, nbPoints: number): Curve3;
+ constructor(points: Vector3[]);
+ getPoints(): Vector3[];
+ length(): number;
+ continue(curve: Curve3): Curve3;
+ private _computeLength(path);
+ }
+ class PositionNormalVertex {
+ position: Vector3;
+ normal: Vector3;
+ constructor(position?: Vector3, normal?: Vector3);
+ clone(): PositionNormalVertex;
+ }
+ class PositionNormalTextureVertex {
+ position: Vector3;
+ normal: Vector3;
+ uv: Vector2;
+ constructor(position?: Vector3, normal?: Vector3, uv?: Vector2);
+ clone(): PositionNormalTextureVertex;
+ }
+ class SIMDHelper {
+ private static _isEnabled;
+ static IsEnabled: boolean;
+ static DisableSIMD(): void;
+ static EnableSIMD(): void;
+ }
+}
+
+declare module BABYLON {
+ class AbstractMesh extends Node implements IDisposable {
+ private static _BILLBOARDMODE_NONE;
+ private static _BILLBOARDMODE_X;
+ private static _BILLBOARDMODE_Y;
+ private static _BILLBOARDMODE_Z;
+ private static _BILLBOARDMODE_ALL;
+ static BILLBOARDMODE_NONE: number;
+ static BILLBOARDMODE_X: number;
+ static BILLBOARDMODE_Y: number;
+ static BILLBOARDMODE_Z: number;
+ static BILLBOARDMODE_ALL: number;
+ definedFacingForward: boolean;
+ position: Vector3;
+ rotation: Vector3;
+ rotationQuaternion: Quaternion;
+ scaling: Vector3;
+ billboardMode: number;
+ visibility: number;
+ alphaIndex: number;
+ infiniteDistance: boolean;
+ isVisible: boolean;
+ isPickable: boolean;
+ showBoundingBox: boolean;
+ showSubMeshesBoundingBox: boolean;
+ onDispose: any;
+ isBlocker: boolean;
+ skeleton: Skeleton;
+ renderingGroupId: number;
+ material: Material;
+ receiveShadows: boolean;
+ actionManager: ActionManager;
+ renderOutline: boolean;
+ outlineColor: Color3;
+ outlineWidth: number;
+ renderOverlay: boolean;
+ overlayColor: Color3;
+ overlayAlpha: number;
+ hasVertexAlpha: boolean;
+ useVertexColors: boolean;
+ applyFog: boolean;
+ computeBonesUsingShaders: boolean;
+ useOctreeForRenderingSelection: boolean;
+ useOctreeForPicking: boolean;
+ useOctreeForCollisions: boolean;
+ layerMask: number;
+ alwaysSelectAsActiveMesh: boolean;
+ _physicImpostor: number;
+ _physicsMass: number;
+ _physicsFriction: number;
+ _physicRestitution: number;
+ private _checkCollisions;
+ ellipsoid: Vector3;
+ ellipsoidOffset: Vector3;
+ private _collider;
+ private _oldPositionForCollisions;
+ private _diffPositionForCollisions;
+ private _newPositionForCollisions;
+ onCollide: (collidedMesh: AbstractMesh) => void;
+ private _meshToBoneReferal;
+ edgesWidth: number;
+ edgesColor: Color4;
+ _edgesRenderer: EdgesRenderer;
+ private _localScaling;
+ private _localRotation;
+ private _localTranslation;
+ private _localBillboard;
+ private _localPivotScaling;
+ private _localPivotScalingRotation;
+ private _localMeshReferalTransform;
+ private _localWorld;
+ _worldMatrix: Matrix;
+ private _rotateYByPI;
+ private _absolutePosition;
+ private _collisionsTransformMatrix;
+ private _collisionsScalingMatrix;
+ _positions: Vector3[];
+ private _isDirty;
+ _masterMesh: AbstractMesh;
+ _boundingInfo: BoundingInfo;
+ private _pivotMatrix;
+ _isDisposed: boolean;
+ _renderId: number;
+ subMeshes: SubMesh[];
+ _submeshesOctree: Octree;
+ _intersectionsInProgress: AbstractMesh[];
+ private _onAfterWorldMatrixUpdate;
+ private _isWorldMatrixFrozen;
+ _waitingActions: any;
+ _waitingFreezeWorldMatrix: boolean;
+ constructor(name: string, scene: Scene);
+ disableEdgesRendering(): void;
+ enableEdgesRendering(epsilon?: number, checkVerticesInsteadOfIndices?: boolean): void;
+ isBlocked: boolean;
+ getLOD(camera: Camera): AbstractMesh;
+ getTotalVertices(): number;
+ getIndices(): number[];
+ getVerticesData(kind: string): number[];
+ isVerticesDataPresent(kind: string): boolean;
+ getBoundingInfo(): BoundingInfo;
+ useBones: boolean;
+ _preActivate(): void;
+ _activate(renderId: number): void;
+ getWorldMatrix(): Matrix;
+ worldMatrixFromCache: Matrix;
+ absolutePosition: Vector3;
+ freezeWorldMatrix(): void;
+ unfreezeWorldMatrix(): void;
+ isWorldMatrixFrozen: boolean;
+ rotate(axis: Vector3, amount: number, space: Space): void;
+ translate(axis: Vector3, distance: number, space: Space): void;
+ getAbsolutePosition(): Vector3;
+ setAbsolutePosition(absolutePosition: Vector3): void;
+ /**
+ * Perform relative position change from the point of view of behind the front of the mesh.
+ * This is performed taking into account the meshes current rotation, so you do not have to care.
+ * Supports definition of mesh facing forward or backward.
+ * @param {number} amountRight
+ * @param {number} amountUp
+ * @param {number} amountForward
+ */
+ movePOV(amountRight: number, amountUp: number, amountForward: number): void;
+ /**
+ * Calculate relative position change from the point of view of behind the front of the mesh.
+ * This is performed taking into account the meshes current rotation, so you do not have to care.
+ * Supports definition of mesh facing forward or backward.
+ * @param {number} amountRight
+ * @param {number} amountUp
+ * @param {number} amountForward
+ */
+ calcMovePOV(amountRight: number, amountUp: number, amountForward: number): Vector3;
+ /**
+ * Perform relative rotation change from the point of view of behind the front of the mesh.
+ * Supports definition of mesh facing forward or backward.
+ * @param {number} flipBack
+ * @param {number} twirlClockwise
+ * @param {number} tiltRight
+ */
+ rotatePOV(flipBack: number, twirlClockwise: number, tiltRight: number): void;
+ /**
+ * Calculate relative rotation change from the point of view of behind the front of the mesh.
+ * Supports definition of mesh facing forward or backward.
+ * @param {number} flipBack
+ * @param {number} twirlClockwise
+ * @param {number} tiltRight
+ */
+ calcRotatePOV(flipBack: number, twirlClockwise: number, tiltRight: number): Vector3;
+ setPivotMatrix(matrix: Matrix): void;
+ getPivotMatrix(): Matrix;
+ _isSynchronized(): boolean;
+ _initCache(): void;
+ markAsDirty(property: string): void;
+ _updateBoundingInfo(): void;
+ _updateSubMeshesBoundingInfo(matrix: Matrix): void;
+ computeWorldMatrix(force?: boolean): Matrix;
+ /**
+ * If you'd like to be callbacked after the mesh position, rotation or scaling has been updated
+ * @param func: callback function to add
+ */
+ registerAfterWorldMatrixUpdate(func: (mesh: AbstractMesh) => void): void;
+ unregisterAfterWorldMatrixUpdate(func: (mesh: AbstractMesh) => void): void;
+ setPositionWithLocalVector(vector3: Vector3): void;
+ getPositionExpressedInLocalSpace(): Vector3;
+ locallyTranslate(vector3: Vector3): void;
+ lookAt(targetPoint: Vector3, yawCor: number, pitchCor: number, rollCor: number): void;
+ attachToBone(bone: Bone, affectedMesh: AbstractMesh): void;
+ detachFromBone(): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ isCompletelyInFrustum(camera?: Camera): boolean;
+ intersectsMesh(mesh: AbstractMesh, precise?: boolean): boolean;
+ intersectsPoint(point: Vector3): boolean;
+ setPhysicsState(impostor?: any, options?: PhysicsBodyCreationOptions): any;
+ getPhysicsImpostor(): number;
+ getPhysicsMass(): number;
+ getPhysicsFriction(): number;
+ getPhysicsRestitution(): number;
+ getPositionInCameraSpace(camera?: Camera): Vector3;
+ getDistanceToCamera(camera?: Camera): number;
+ applyImpulse(force: Vector3, contactPoint: Vector3): void;
+ setPhysicsLinkWith(otherMesh: Mesh, pivot1: Vector3, pivot2: Vector3, options?: any): void;
+ updatePhysicsBodyPosition(): void;
+ checkCollisions: boolean;
+ moveWithCollisions(velocity: Vector3): void;
+ private _onCollisionPositionChange;
+ /**
+ * This function will create an octree to help select the right submeshes for rendering, picking and collisions
+ * Please note that you must have a decent number of submeshes to get performance improvements when using octree
+ */
+ createOrUpdateSubmeshesOctree(maxCapacity?: number, maxDepth?: number): Octree;
+ _collideForSubMesh(subMesh: SubMesh, transformMatrix: Matrix, collider: Collider): void;
+ _processCollisionsForSubMeshes(collider: Collider, transformMatrix: Matrix): void;
+ _checkCollision(collider: Collider): void;
+ _generatePointsArray(): boolean;
+ intersects(ray: Ray, fastCheck?: boolean): PickingInfo;
+ clone(name: string, newParent: Node, doNotCloneChildren?: boolean): AbstractMesh;
+ releaseSubMeshes(): void;
+ dispose(doNotRecurse?: boolean): void;
+ }
+}
+
+declare module BABYLON {
+ class CSG {
+ private polygons;
+ matrix: Matrix;
+ position: Vector3;
+ rotation: Vector3;
+ rotationQuaternion: Quaternion;
+ scaling: Vector3;
+ static FromMesh(mesh: Mesh): CSG;
+ private static FromPolygons(polygons);
+ clone(): CSG;
+ private toPolygons();
+ union(csg: CSG): CSG;
+ unionInPlace(csg: CSG): void;
+ subtract(csg: CSG): CSG;
+ subtractInPlace(csg: CSG): void;
+ intersect(csg: CSG): CSG;
+ intersectInPlace(csg: CSG): void;
+ inverse(): CSG;
+ inverseInPlace(): void;
+ copyTransformAttributes(csg: CSG): CSG;
+ buildMeshGeometry(name: string, scene: Scene, keepSubMeshes: boolean): Mesh;
+ toMesh(name: string, material: Material, scene: Scene, keepSubMeshes: boolean): Mesh;
+ }
+}
+
+declare module BABYLON {
+ class Geometry implements IGetSetVerticesData {
+ id: string;
+ delayLoadState: number;
+ delayLoadingFile: string;
+ onGeometryUpdated: (geometry: Geometry, kind?: string) => void;
+ private _scene;
+ private _engine;
+ private _meshes;
+ private _totalVertices;
+ private _indices;
+ private _vertexBuffers;
+ private _isDisposed;
+ _delayInfo: any;
+ private _indexBuffer;
+ _boundingInfo: BoundingInfo;
+ _delayLoadingFunction: (any: any, geometry: Geometry) => void;
+ constructor(id: string, scene: Scene, vertexData?: VertexData, updatable?: boolean, mesh?: Mesh);
+ getScene(): Scene;
+ getEngine(): Engine;
+ isReady(): boolean;
+ setAllVerticesData(vertexData: VertexData, updatable?: boolean): void;
+ setVerticesData(kind: string, data: number[], updatable?: boolean, stride?: number): void;
+ updateVerticesDataDirectly(kind: string, data: Float32Array, offset: number): void;
+ updateVerticesData(kind: string, data: number[], updateExtends?: boolean): void;
+ getTotalVertices(): number;
+ getVerticesData(kind: string, copyWhenShared?: boolean): number[];
+ getVertexBuffer(kind: string): VertexBuffer;
+ getVertexBuffers(): VertexBuffer[];
+ isVerticesDataPresent(kind: string): boolean;
+ getVerticesDataKinds(): string[];
+ setIndices(indices: number[], totalVertices?: number): void;
+ getTotalIndices(): number;
+ getIndices(copyWhenShared?: boolean): number[];
+ getIndexBuffer(): any;
+ releaseForMesh(mesh: Mesh, shouldDispose?: boolean): void;
+ applyToMesh(mesh: Mesh): void;
+ private _applyToMesh(mesh);
+ private notifyUpdate(kind?);
+ load(scene: Scene, onLoaded?: () => void): void;
+ isDisposed(): boolean;
+ dispose(): void;
+ copy(id: string): Geometry;
+ static ExtractFromMesh(mesh: Mesh, id: string): Geometry;
+ static RandomId(): string;
+ }
+ module Geometry.Primitives {
+ class _Primitive extends Geometry {
+ private _beingRegenerated;
+ private _canBeRegenerated;
+ constructor(id: string, scene: Scene, vertexData?: VertexData, canBeRegenerated?: boolean, mesh?: Mesh);
+ canBeRegenerated(): boolean;
+ regenerate(): void;
+ asNewGeometry(id: string): Geometry;
+ setAllVerticesData(vertexData: VertexData, updatable?: boolean): void;
+ setVerticesData(kind: string, data: number[], updatable?: boolean): void;
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Ribbon extends _Primitive {
+ pathArray: Vector3[][];
+ closeArray: boolean;
+ closePath: boolean;
+ offset: number;
+ side: number;
+ constructor(id: string, scene: Scene, pathArray: Vector3[][], closeArray: boolean, closePath: boolean, offset: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Box extends _Primitive {
+ size: number;
+ side: number;
+ constructor(id: string, scene: Scene, size: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Sphere extends _Primitive {
+ segments: number;
+ diameter: number;
+ side: number;
+ constructor(id: string, scene: Scene, segments: number, diameter: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Cylinder extends _Primitive {
+ height: number;
+ diameterTop: number;
+ diameterBottom: number;
+ tessellation: number;
+ subdivisions: number;
+ side: number;
+ constructor(id: string, scene: Scene, height: number, diameterTop: number, diameterBottom: number, tessellation: number, subdivisions?: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Torus extends _Primitive {
+ diameter: number;
+ thickness: number;
+ tessellation: number;
+ side: number;
+ constructor(id: string, scene: Scene, diameter: number, thickness: number, tessellation: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Ground extends _Primitive {
+ width: number;
+ height: number;
+ subdivisions: number;
+ constructor(id: string, scene: Scene, width: number, height: number, subdivisions: number, canBeRegenerated?: boolean, mesh?: Mesh);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class TiledGround extends _Primitive {
+ xmin: number;
+ zmin: number;
+ xmax: number;
+ zmax: number;
+ subdivisions: {
+ w: number;
+ h: number;
+ };
+ precision: {
+ w: number;
+ h: number;
+ };
+ constructor(id: string, scene: Scene, xmin: number, zmin: number, xmax: number, zmax: number, subdivisions: {
+ w: number;
+ h: number;
+ }, precision: {
+ w: number;
+ h: number;
+ }, canBeRegenerated?: boolean, mesh?: Mesh);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class Plane extends _Primitive {
+ size: number;
+ side: number;
+ constructor(id: string, scene: Scene, size: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ class TorusKnot extends _Primitive {
+ radius: number;
+ tube: number;
+ radialSegments: number;
+ tubularSegments: number;
+ p: number;
+ q: number;
+ side: number;
+ constructor(id: string, scene: Scene, radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, canBeRegenerated?: boolean, mesh?: Mesh, side?: number);
+ _regenerateVertexData(): VertexData;
+ copy(id: string): Geometry;
+ }
+ }
+}
+
+declare module BABYLON {
+ class GroundMesh extends Mesh {
+ generateOctree: boolean;
+ private _worldInverse;
+ _subdivisions: number;
+ constructor(name: string, scene: Scene);
+ subdivisions: number;
+ optimize(chunksCount: number, octreeBlocksSize?: number): void;
+ getHeightAtCoordinates(x: number, z: number): number;
+ }
+}
+
+declare module BABYLON {
+ /**
+ * Creates an instance based on a source mesh.
+ */
+ class InstancedMesh extends AbstractMesh {
+ private _sourceMesh;
+ private _currentLOD;
+ constructor(name: string, source: Mesh);
+ receiveShadows: boolean;
+ material: Material;
+ visibility: number;
+ skeleton: Skeleton;
+ getTotalVertices(): number;
+ sourceMesh: Mesh;
+ getVerticesData(kind: string): number[];
+ isVerticesDataPresent(kind: string): boolean;
+ getIndices(): number[];
+ _positions: Vector3[];
+ refreshBoundingInfo(): void;
+ _preActivate(): void;
+ _activate(renderId: number): void;
+ getLOD(camera: Camera): AbstractMesh;
+ _syncSubMeshes(): void;
+ _generatePointsArray(): boolean;
+ clone(name: string, newParent: Node, doNotCloneChildren?: boolean): InstancedMesh;
+ dispose(doNotRecurse?: boolean): void;
+ }
+}
+
+declare module BABYLON {
+ class LinesMesh extends Mesh {
+ color: Color3;
+ alpha: number;
+ private _colorShader;
+ constructor(name: string, scene: Scene, parent?: Node, source?: Mesh, doNotCloneChildren?: boolean);
+ material: Material;
+ isPickable: boolean;
+ checkCollisions: boolean;
+ _bind(subMesh: SubMesh, effect: Effect, fillMode: number): void;
+ _draw(subMesh: SubMesh, fillMode: number, instancesCount?: number): void;
+ intersects(ray: Ray, fastCheck?: boolean): any;
+ dispose(doNotRecurse?: boolean): void;
+ clone(name: string, newParent?: Node, doNotCloneChildren?: boolean): LinesMesh;
+ }
+}
+
+declare module BABYLON {
+ class _InstancesBatch {
+ mustReturn: boolean;
+ visibleInstances: InstancedMesh[][];
+ renderSelf: boolean[];
+ }
+ class Mesh extends AbstractMesh implements IGetSetVerticesData {
+ static _FRONTSIDE: number;
+ static _BACKSIDE: number;
+ static _DOUBLESIDE: number;
+ static _DEFAULTSIDE: number;
+ static _NO_CAP: number;
+ static _CAP_START: number;
+ static _CAP_END: number;
+ static _CAP_ALL: number;
+ static FRONTSIDE: number;
+ static BACKSIDE: number;
+ static DOUBLESIDE: number;
+ static DEFAULTSIDE: number;
+ static NO_CAP: number;
+ static CAP_START: number;
+ static CAP_END: number;
+ static CAP_ALL: number;
+ delayLoadState: number;
+ instances: InstancedMesh[];
+ delayLoadingFile: string;
+ _binaryInfo: any;
+ private _LODLevels;
+ onLODLevelSelection: (distance: number, mesh: Mesh, selectedLevel: Mesh) => void;
+ _geometry: Geometry;
+ private _onBeforeRenderCallbacks;
+ private _onAfterRenderCallbacks;
+ _delayInfo: any;
+ _delayLoadingFunction: (any: any, mesh: Mesh) => void;
+ _visibleInstances: any;
+ private _renderIdForInstances;
+ private _batchCache;
+ private _worldMatricesInstancesBuffer;
+ private _worldMatricesInstancesArray;
+ private _instancesBufferSize;
+ _shouldGenerateFlatShading: boolean;
+ private _preActivateId;
+ private _sideOrientation;
+ private _areNormalsFrozen;
+ private _sourcePositions;
+ private _sourceNormals;
+ /**
+ * @constructor
+ * @param {string} name - The value used by scene.getMeshByName() to do a lookup.
+ * @param {Scene} scene - The scene to add this mesh to.
+ * @param {Node} parent - The parent of this mesh, if it has one
+ * @param {Mesh} source - An optional Mesh from which geometry is shared, cloned.
+ * @param {boolean} doNotCloneChildren - When cloning, skip cloning child meshes of source, default False.
+ * When false, achieved by calling a clone(), also passing False.
+ * This will make creation of children, recursive.
+ */
+ constructor(name: string, scene: Scene, parent?: Node, source?: Mesh, doNotCloneChildren?: boolean);
+ hasLODLevels: boolean;
+ private _sortLODLevels();
+ /**
+ * Add a mesh as LOD level triggered at the given distance.
+ * @param {number} distance - the distance from the center of the object to show this level
+ * @param {BABYLON.Mesh} mesh - the mesh to be added as LOD level
+ * @return {BABYLON.Mesh} this mesh (for chaining)
+ */
+ addLODLevel(distance: number, mesh: Mesh): Mesh;
+ getLODLevelAtDistance(distance: number): Mesh;
+ /**
+ * Remove a mesh from the LOD array
+ * @param {BABYLON.Mesh} mesh - the mesh to be removed.
+ * @return {BABYLON.Mesh} this mesh (for chaining)
+ */
+ removeLODLevel(mesh: Mesh): Mesh;
+ getLOD(camera: Camera, boundingSphere?: BoundingSphere): AbstractMesh;
+ geometry: Geometry;
+ getTotalVertices(): number;
+ getVerticesData(kind: string, copyWhenShared?: boolean): number[];
+ getVertexBuffer(kind: any): VertexBuffer;
+ isVerticesDataPresent(kind: string): boolean;
+ getVerticesDataKinds(): string[];
+ getTotalIndices(): number;
+ getIndices(copyWhenShared?: boolean): number[];
+ isBlocked: boolean;
+ isReady(): boolean;
+ isDisposed(): boolean;
+ sideOrientation: number;
+ areNormalsFrozen: boolean;
+ /** This function affects parametric shapes on update only : ribbons, tubes, etc. It has no effect at all on other shapes */
+ freezeNormals(): void;
+ /** This function affects parametric shapes on update only : ribbons, tubes, etc. It has no effect at all on other shapes */
+ unfreezeNormals(): void;
+ _preActivate(): void;
+ _registerInstanceForRenderId(instance: InstancedMesh, renderId: number): void;
+ refreshBoundingInfo(): void;
+ _createGlobalSubMesh(): SubMesh;
+ subdivide(count: number): void;
+ setVerticesData(kind: any, data: any, updatable?: boolean, stride?: number): void;
+ updateVerticesData(kind: string, data: number[], updateExtends?: boolean, makeItUnique?: boolean): void;
+ updateVerticesDataDirectly(kind: string, data: Float32Array, offset?: number, makeItUnique?: boolean): void;
+ updateMeshPositions(positionFunction: any, computeNormals?: boolean): void;
+ makeGeometryUnique(): void;
+ setIndices(indices: number[], totalVertices?: number): void;
+ _bind(subMesh: SubMesh, effect: Effect, fillMode: number): void;
+ _draw(subMesh: SubMesh, fillMode: number, instancesCount?: number): void;
+ registerBeforeRender(func: (mesh: AbstractMesh) => void): void;
+ unregisterBeforeRender(func: (mesh: AbstractMesh) => void): void;
+ registerAfterRender(func: (mesh: AbstractMesh) => void): void;
+ unregisterAfterRender(func: (mesh: AbstractMesh) => void): void;
+ _getInstancesRenderList(subMeshId: number): _InstancesBatch;
+ _renderWithInstances(subMesh: SubMesh, fillMode: number, batch: _InstancesBatch, effect: Effect, engine: Engine): void;
+ _processRendering(subMesh: SubMesh, effect: Effect, fillMode: number, batch: _InstancesBatch, hardwareInstancedRendering: boolean, onBeforeDraw: (isInstance: boolean, world: Matrix) => void): void;
+ render(subMesh: SubMesh, enableAlphaMode: boolean): void;
+ getEmittedParticleSystems(): ParticleSystem[];
+ getHierarchyEmittedParticleSystems(): ParticleSystem[];
+ getChildren(): Node[];
+ _checkDelayState(): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ setMaterialByID(id: string): void;
+ getAnimatables(): IAnimatable[];
+ bakeTransformIntoVertices(transform: Matrix): void;
+ bakeCurrentTransformIntoVertices(): void;
+ _resetPointsArrayCache(): void;
+ _generatePointsArray(): boolean;
+ clone(name: string, newParent?: Node, doNotCloneChildren?: boolean): Mesh;
+ dispose(doNotRecurse?: boolean): void;
+ applyDisplacementMap(url: string, minHeight: number, maxHeight: number, onSuccess?: (mesh: Mesh) => void): void;
+ applyDisplacementMapFromBuffer(buffer: Uint8Array, heightMapWidth: number, heightMapHeight: number, minHeight: number, maxHeight: number): void;
+ convertToFlatShadedMesh(): void;
+ flipFaces(flipNormals?: boolean): void;
+ createInstance(name: string): InstancedMesh;
+ synchronizeInstances(): void;
+ /**
+ * Simplify the mesh according to the given array of settings.
+ * Function will return immediately and will simplify async.
+ * @param settings a collection of simplification settings.
+ * @param parallelProcessing should all levels calculate parallel or one after the other.
+ * @param type the type of simplification to run.
+ * @param successCallback optional success callback to be called after the simplification finished processing all settings.
+ */
+ simplify(settings: Array, parallelProcessing?: boolean, simplificationType?: SimplificationType, successCallback?: (mesh?: Mesh, submeshIndex?: number) => void): void;
+ /**
+ * Optimization of the mesh's indices, in case a mesh has duplicated vertices.
+ * The function will only reorder the indices and will not remove unused vertices to avoid problems with submeshes.
+ * This should be used together with the simplification to avoid disappearing triangles.
+ * @param successCallback an optional success callback to be called after the optimization finished.
+ */
+ optimizeIndices(successCallback?: (mesh?: Mesh) => void): void;
+ static CreateRibbon(name: string, pathArray: Vector3[][], closeArray: boolean, closePath: boolean, offset: number, scene: Scene, updatable?: boolean, sideOrientation?: number, ribbonInstance?: Mesh): Mesh;
+ static CreateDisc(name: string, radius: number, tessellation: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreateBox(name: string, size: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreateBox(name: string, options: {
+ width?: number;
+ height?: number;
+ depth?: number;
+ faceUV?: Vector4[];
+ faceColors?: Color4[];
+ sideOrientation?: number;
+ updatable?: boolean;
+ }, scene: Scene): Mesh;
+ static CreateSphere(name: string, segments: number, diameter: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreateSphere(name: string, options: {
+ segments?: number;
+ diameterX?: number;
+ diameterY?: number;
+ diameterZ?: number;
+ sideOrientation?: number;
+ updatable?: boolean;
+ }, scene: any): Mesh;
+ static CreateCylinder(name: string, height: number, diameterTop: number, diameterBottom: number, tessellation: number, subdivisions: any, scene: Scene, updatable?: any, sideOrientation?: number): Mesh;
+ static CreateTorus(name: string, diameter: number, thickness: number, tessellation: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreateTorusKnot(name: string, radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreateLines(name: string, points: Vector3[], scene: Scene, updatable?: boolean, linesInstance?: LinesMesh): LinesMesh;
+ static CreateDashedLines(name: string, points: Vector3[], dashSize: number, gapSize: number, dashNb: number, scene: Scene, updatable?: boolean, linesInstance?: LinesMesh): LinesMesh;
+ static ExtrudeShape(name: string, shape: Vector3[], path: Vector3[], scale: number, rotation: number, cap: number, scene: Scene, updatable?: boolean, sideOrientation?: number, extrudedInstance?: Mesh): Mesh;
+ static ExtrudeShapeCustom(name: string, shape: Vector3[], path: Vector3[], scaleFunction: any, rotationFunction: any, ribbonCloseArray: boolean, ribbonClosePath: boolean, cap: number, scene: Scene, updatable?: boolean, sideOrientation?: number, extrudedInstance?: Mesh): Mesh;
+ private static _ExtrudeShapeGeneric(name, shape, curve, scale, rotation, scaleFunction, rotateFunction, rbCA, rbCP, cap, custom, scene, updtbl, side, instance);
+ static CreateLathe(name: string, shape: Vector3[], radius: number, tessellation: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreatePlane(name: string, size: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh;
+ static CreatePlane(name: string, options: {
+ width?: number;
+ height?: number;
+ sideOrientation?: number;
+ updatable?: boolean;
+ }, scene: Scene): Mesh;
+ static CreateGround(name: string, width: number, height: number, subdivisions: number, scene: Scene, updatable?: boolean): Mesh;
+ static CreateGround(name: string, options: {
+ width?: number;
+ height?: number;
+ subdivisions?: number;
+ sideOrientation?: number;
+ updatable?: boolean;
+ }, scene: any): Mesh;
+ static CreateTiledGround(name: string, xmin: number, zmin: number, xmax: number, zmax: number, subdivisions: {
+ w: number;
+ h: number;
+ }, precision: {
+ w: number;
+ h: number;
+ }, scene: Scene, updatable?: boolean): Mesh;
+ static CreateGroundFromHeightMap(name: string, url: string, width: number, height: number, subdivisions: number, minHeight: number, maxHeight: number, scene: Scene, updatable?: boolean, onReady?: (mesh: GroundMesh) => void): GroundMesh;
+ static CreateTube(name: string, path: Vector3[], radius: number, tessellation: number, radiusFunction: {
+ (i: number, distance: number): number;
+ }, cap: number, scene: Scene, updatable?: boolean, sideOrientation?: number, tubeInstance?: Mesh): Mesh;
+ static CreateDecal(name: string, sourceMesh: AbstractMesh, position: Vector3, normal: Vector3, size: Vector3, angle?: number): Mesh;
+ /**
+ * Update the vertex buffers by applying transformation from the bones
+ * @param {skeleton} skeleton to apply
+ */
+ applySkeleton(skeleton: Skeleton): Mesh;
+ static MinMax(meshes: AbstractMesh[]): {
+ min: Vector3;
+ max: Vector3;
+ };
+ static Center(meshesOrMinMaxVector: any): Vector3;
+ /**
+ * Merge the array of meshes into a single mesh for performance reasons.
+ * @param {Array} meshes - The vertices source. They should all be of the same material. Entries can empty
+ * @param {boolean} disposeSource - When true (default), dispose of the vertices from the source meshes
+ * @param {boolean} allow32BitsIndices - When the sum of the vertices > 64k, this must be set to true.
+ * @param {Mesh} meshSubclass - When set, vertices inserted into this Mesh. Meshes can then be merged into a Mesh sub-class.
+ */
+ static MergeMeshes(meshes: Array, disposeSource?: boolean, allow32BitsIndices?: boolean, meshSubclass?: Mesh): Mesh;
+ }
+}
+
+declare module BABYLON {
+ interface IGetSetVerticesData {
+ isVerticesDataPresent(kind: string): boolean;
+ getVerticesData(kind: string, copyWhenShared?: boolean): number[];
+ getIndices(copyWhenShared?: boolean): number[];
+ setVerticesData(kind: string, data: number[], updatable?: boolean): void;
+ updateVerticesData(kind: string, data: number[], updateExtends?: boolean, makeItUnique?: boolean): void;
+ setIndices(indices: number[]): void;
+ }
+ class VertexData {
+ positions: number[];
+ normals: number[];
+ uvs: number[];
+ uvs2: number[];
+ uvs3: number[];
+ uvs4: number[];
+ uvs5: number[];
+ uvs6: number[];
+ colors: number[];
+ matricesIndices: number[];
+ matricesWeights: number[];
+ indices: number[];
+ set(data: number[], kind: string): void;
+ applyToMesh(mesh: Mesh, updatable?: boolean): void;
+ applyToGeometry(geometry: Geometry, updatable?: boolean): void;
+ updateMesh(mesh: Mesh, updateExtends?: boolean, makeItUnique?: boolean): void;
+ updateGeometry(geometry: Geometry, updateExtends?: boolean, makeItUnique?: boolean): void;
+ private _applyTo(meshOrGeometry, updatable?);
+ private _update(meshOrGeometry, updateExtends?, makeItUnique?);
+ transform(matrix: Matrix): void;
+ merge(other: VertexData): void;
+ static ExtractFromMesh(mesh: Mesh, copyWhenShared?: boolean): VertexData;
+ static ExtractFromGeometry(geometry: Geometry, copyWhenShared?: boolean): VertexData;
+ private static _ExtractFrom(meshOrGeometry, copyWhenShared?);
+ static CreateRibbon(pathArray: Vector3[][], closeArray: boolean, closePath: boolean, offset: number, sideOrientation?: number): VertexData;
+ static CreateBox(options: {
+ width?: number;
+ height?: number;
+ depth?: number;
+ faceUV?: Vector4[];
+ faceColors?: Color4[];
+ sideOrientation?: number;
+ }): VertexData;
+ static CreateBox(size: number, sideOrientation?: number): VertexData;
+ static CreateSphere(options: {
+ segments?: number;
+ diameterX?: number;
+ diameterY?: number;
+ diameterZ?: number;
+ sideOrientation?: number;
+ }): VertexData;
+ static CreateSphere(segments: number, diameter?: number, sideOrientation?: number): VertexData;
+ static CreateCylinder(height: number, diameterTop: number, diameterBottom: number, tessellation: number, subdivisions?: number, sideOrientation?: number): VertexData;
+ static CreateTorus(diameter: any, thickness: any, tessellation: any, sideOrientation?: number): VertexData;
+ static CreateLines(points: Vector3[]): VertexData;
+ static CreateDashedLines(points: Vector3[], dashSize: number, gapSize: number, dashNb: number): VertexData;
+ static CreateGround(options: {
+ width?: number;
+ height?: number;
+ subdivisions?: number;
+ sideOrientation?: number;
+ }): VertexData;
+ static CreateGround(width: number, height: number, subdivisions?: number): VertexData;
+ static CreateTiledGround(xmin: number, zmin: number, xmax: number, zmax: number, subdivisions?: {
+ w: number;
+ h: number;
+ }, precision?: {
+ w: number;
+ h: number;
+ }): VertexData;
+ static CreateGroundFromHeightMap(width: number, height: number, subdivisions: number, minHeight: number, maxHeight: number, buffer: Uint8Array, bufferWidth: number, bufferHeight: number): VertexData;
+ static CreatePlane(options: {
+ width?: number;
+ height?: number;
+ sideOrientation?: number;
+ }): VertexData;
+ static CreatePlane(size: number, sideOrientation?: number): VertexData;
+ static CreateDisc(radius: number, tessellation: number, sideOrientation?: number): VertexData;
+ static CreateTorusKnot(radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, sideOrientation?: number): VertexData;
+ /**
+ * @param {any} - positions (number[] or Float32Array)
+ * @param {any} - indices (number[] or Uint16Array)
+ * @param {any} - normals (number[] or Float32Array)
+ */
+ static ComputeNormals(positions: any, indices: any, normals: any): void;
+ private static _ComputeSides(sideOrientation, positions, indices, normals, uvs);
+ }
+}
+
+declare module BABYLON.Internals {
+ class MeshLODLevel {
+ distance: number;
+ mesh: Mesh;
+ constructor(distance: number, mesh: Mesh);
+ }
+}
+
+declare module BABYLON {
+ /**
+ * A simplifier interface for future simplification implementations.
+ */
+ interface ISimplifier {
+ /**
+ * Simplification of a given mesh according to the given settings.
+ * Since this requires computation, it is assumed that the function runs async.
+ * @param settings The settings of the simplification, including quality and distance
+ * @param successCallback A callback that will be called after the mesh was simplified.
+ * @param errorCallback in case of an error, this callback will be called. optional.
+ */
+ simplify(settings: ISimplificationSettings, successCallback: (simplifiedMeshes: Mesh) => void, errorCallback?: () => void): void;
+ }
+ /**
+ * Expected simplification settings.
+ * Quality should be between 0 and 1 (1 being 100%, 0 being 0%);
+ */
+ interface ISimplificationSettings {
+ quality: number;
+ distance: number;
+ optimizeMesh?: boolean;
+ }
+ class SimplificationSettings implements ISimplificationSettings {
+ quality: number;
+ distance: number;
+ optimizeMesh: boolean;
+ constructor(quality: number, distance: number, optimizeMesh?: boolean);
+ }
+ interface ISimplificationTask {
+ settings: Array;
+ simplificationType: SimplificationType;
+ mesh: Mesh;
+ successCallback?: () => void;
+ parallelProcessing: boolean;
+ }
+ class SimplificationQueue {
+ private _simplificationArray;
+ running: any;
+ constructor();
+ addTask(task: ISimplificationTask): void;
+ executeNext(): void;
+ runSimplification(task: ISimplificationTask): void;
+ private getSimplifier(task);
+ }
+ /**
+ * The implemented types of simplification.
+ * At the moment only Quadratic Error Decimation is implemented.
+ */
+ enum SimplificationType {
+ QUADRATIC = 0,
+ }
+ class DecimationTriangle {
+ vertices: Array;
+ normal: Vector3;
+ error: Array;
+ deleted: boolean;
+ isDirty: boolean;
+ borderFactor: number;
+ deletePending: boolean;
+ originalOffset: number;
+ constructor(vertices: Array);
+ }
+ class DecimationVertex {
+ position: Vector3;
+ id: any;
+ q: QuadraticMatrix;
+ isBorder: boolean;
+ triangleStart: number;
+ triangleCount: number;
+ originalOffsets: Array;
+ constructor(position: Vector3, id: any);
+ updatePosition(newPosition: Vector3): void;
+ }
+ class QuadraticMatrix {
+ data: Array;
+ constructor(data?: Array);
+ det(a11: any, a12: any, a13: any, a21: any, a22: any, a23: any, a31: any, a32: any, a33: any): number;
+ addInPlace(matrix: QuadraticMatrix): void;
+ addArrayInPlace(data: Array): void;
+ add(matrix: QuadraticMatrix): QuadraticMatrix;
+ static FromData(a: number, b: number, c: number, d: number): QuadraticMatrix;
+ static DataFromNumbers(a: number, b: number, c: number, d: number): number[];
+ }
+ class Reference {
+ vertexId: number;
+ triangleId: number;
+ constructor(vertexId: number, triangleId: number);
+ }
+ /**
+ * An implementation of the Quadratic Error simplification algorithm.
+ * Original paper : http://www1.cs.columbia.edu/~cs4162/html05s/garland97.pdf
+ * Ported mostly from QSlim and http://voxels.blogspot.de/2014/05/quadric-mesh-simplification-with-source.html to babylon JS
+ * @author RaananW
+ */
+ class QuadraticErrorSimplification implements ISimplifier {
+ private _mesh;
+ private triangles;
+ private vertices;
+ private references;
+ private initialized;
+ private _reconstructedMesh;
+ syncIterations: number;
+ aggressiveness: number;
+ decimationIterations: number;
+ boundingBoxEpsilon: number;
+ constructor(_mesh: Mesh);
+ simplify(settings: ISimplificationSettings, successCallback: (simplifiedMesh: Mesh) => void): void;
+ private isTriangleOnBoundingBox(triangle);
+ private runDecimation(settings, submeshIndex, successCallback);
+ private initWithMesh(submeshIndex, callback, optimizeMesh?);
+ private init(callback);
+ private reconstructMesh(submeshIndex);
+ private initDecimatedMesh();
+ private isFlipped(vertex1, vertex2, point, deletedArray, borderFactor, delTr);
+ private updateTriangles(origVertex, vertex, deletedArray, deletedTriangles);
+ private identifyBorder();
+ private updateMesh(identifyBorders?);
+ private vertexError(q, point);
+ private calculateError(vertex1, vertex2, pointResult?, normalResult?, uvResult?, colorResult?);
+ }
+}
+
+declare module BABYLON {
+ class Polygon {
+ static Rectangle(xmin: number, ymin: number, xmax: number, ymax: number): Vector2[];
+ static Circle(radius: number, cx?: number, cy?: number, numberOfSides?: number): Vector2[];
+ static Parse(input: string): Vector2[];
+ static StartingAt(x: number, y: number): Path2;
+ }
+ class PolygonMeshBuilder {
+ private _swctx;
+ private _points;
+ private _outlinepoints;
+ private _holes;
+ private _name;
+ private _scene;
+ constructor(name: string, contours: Path2, scene: Scene);
+ constructor(name: string, contours: Vector2[], scene: Scene);
+ addHole(hole: Vector2[]): PolygonMeshBuilder;
+ build(updatable?: boolean, depth?: number): Mesh;
+ private addSide(positions, normals, uvs, indices, bounds, points, depth, flip);
+ }
+}
+
+declare module BABYLON {
+ class SubMesh {
+ materialIndex: number;
+ verticesStart: number;
+ verticesCount: number;
+ indexStart: any;
+ indexCount: number;
+ linesIndexCount: number;
+ private _mesh;
+ private _renderingMesh;
+ private _boundingInfo;
+ private _linesIndexBuffer;
+ _lastColliderWorldVertices: Vector3[];
+ _trianglePlanes: Plane[];
+ _lastColliderTransformMatrix: Matrix;
+ _renderId: number;
+ _alphaIndex: number;
+ _distanceToCamera: number;
+ _id: number;
+ constructor(materialIndex: number, verticesStart: number, verticesCount: number, indexStart: any, indexCount: number, mesh: AbstractMesh, renderingMesh?: Mesh, createBoundingBox?: boolean);
+ getBoundingInfo(): BoundingInfo;
+ getMesh(): AbstractMesh;
+ getRenderingMesh(): Mesh;
+ getMaterial(): Material;
+ refreshBoundingInfo(): void;
+ _checkCollision(collider: Collider): boolean;
+ updateBoundingInfo(world: Matrix): void;
+ isInFrustum(frustumPlanes: Plane[]): boolean;
+ render(enableAlphaMode: boolean): void;
+ getLinesIndexBuffer(indices: number[], engine: any): WebGLBuffer;
+ canIntersects(ray: Ray): boolean;
+ intersects(ray: Ray, positions: Vector3[], indices: number[], fastCheck?: boolean): IntersectionInfo;
+ clone(newMesh: AbstractMesh, newRenderingMesh?: Mesh): SubMesh;
+ dispose(): void;
+ static CreateFromIndices(materialIndex: number, startIndex: number, indexCount: number, mesh: AbstractMesh, renderingMesh?: Mesh): SubMesh;
+ }
+}
+
+declare module BABYLON {
+ class VertexBuffer {
+ private _mesh;
+ private _engine;
+ private _buffer;
+ private _data;
+ private _updatable;
+ private _kind;
+ private _strideSize;
+ constructor(engine: any, data: number[], kind: string, updatable: boolean, postponeInternalCreation?: boolean, stride?: number);
+ isUpdatable(): boolean;
+ getData(): number[];
+ getBuffer(): WebGLBuffer;
+ getStrideSize(): number;
+ create(data?: number[]): void;
+ update(data: number[]): void;
+ updateDirectly(data: Float32Array, offset: number): void;
+ dispose(): void;
+ private static _PositionKind;
+ private static _NormalKind;
+ private static _UVKind;
+ private static _UV2Kind;
+ private static _UV3Kind;
+ private static _UV4Kind;
+ private static _UV5Kind;
+ private static _UV6Kind;
+ private static _ColorKind;
+ private static _MatricesIndicesKind;
+ private static _MatricesWeightsKind;
+ static PositionKind: string;
+ static NormalKind: string;
+ static UVKind: string;
+ static UV2Kind: string;
+ static UV3Kind: string;
+ static UV4Kind: string;
+ static UV5Kind: string;
+ static UV6Kind: string;
+ static ColorKind: string;
+ static MatricesIndicesKind: string;
+ static MatricesWeightsKind: string;
+ }
+}
+
+declare module BABYLON {
+ class Particle {
+ position: Vector3;
+ direction: Vector3;
+ color: Color4;
+ colorStep: Color4;
+ lifeTime: number;
+ age: number;
+ size: number;
+ angle: number;
+ angularSpeed: number;
+ copyTo(other: Particle): void;
+ }
+}
+
+declare module BABYLON {
+ class ParticleSystem implements IDisposable {
+ name: string;
+ static BLENDMODE_ONEONE: number;
+ static BLENDMODE_STANDARD: number;
+ id: string;
+ renderingGroupId: number;
+ emitter: any;
+ emitRate: number;
+ manualEmitCount: number;
+ updateSpeed: number;
+ targetStopDuration: number;
+ disposeOnStop: boolean;
+ minEmitPower: number;
+ maxEmitPower: number;
+ minLifeTime: number;
+ maxLifeTime: number;
+ minSize: number;
+ maxSize: number;
+ minAngularSpeed: number;
+ maxAngularSpeed: number;
+ particleTexture: Texture;
+ layerMask: number;
+ onDispose: () => void;
+ updateFunction: (particles: Particle[]) => void;
+ blendMode: number;
+ forceDepthWrite: boolean;
+ gravity: Vector3;
+ direction1: Vector3;
+ direction2: Vector3;
+ minEmitBox: Vector3;
+ maxEmitBox: Vector3;
+ color1: Color4;
+ color2: Color4;
+ colorDead: Color4;
+ textureMask: Color4;
+ startDirectionFunction: (emitPower: number, worldMatrix: Matrix, directionToUpdate: Vector3) => void;
+ startPositionFunction: (worldMatrix: Matrix, positionToUpdate: Vector3) => void;
+ private particles;
+ private _capacity;
+ private _scene;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _stockParticles;
+ private _newPartsExcess;
+ private _vertexBuffer;
+ private _indexBuffer;
+ private _vertices;
+ private _effect;
+ private _customEffect;
+ private _cachedDefines;
+ private _scaledColorStep;
+ private _colorDiff;
+ private _scaledDirection;
+ private _scaledGravity;
+ private _currentRenderId;
+ private _alive;
+ private _started;
+ private _stopped;
+ private _actualFrame;
+ private _scaledUpdateSpeed;
+ constructor(name: string, capacity: number, scene: Scene, customEffect?: Effect);
+ recycleParticle(particle: Particle): void;
+ getCapacity(): number;
+ isAlive(): boolean;
+ isStarted(): boolean;
+ start(): void;
+ stop(): void;
+ _appendParticleVertex(index: number, particle: Particle, offsetX: number, offsetY: number): void;
+ private _update(newParticles);
+ private _getEffect();
+ animate(): void;
+ render(): number;
+ dispose(): void;
+ clone(name: string, newEmitter: any): ParticleSystem;
+ }
+}
+
+declare module BABYLON {
+ interface IPhysicsEnginePlugin {
+ initialize(iterations?: number): any;
+ setGravity(gravity: Vector3): void;
+ runOneStep(delta: number): void;
+ registerMesh(mesh: AbstractMesh, impostor: number, options: PhysicsBodyCreationOptions): any;
+ registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
+ unregisterMesh(mesh: AbstractMesh): any;
+ applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
+ createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3, options?: any): boolean;
+ dispose(): void;
+ isSupported(): boolean;
+ updateBodyPosition(mesh: AbstractMesh): void;
+ }
+ interface PhysicsBodyCreationOptions {
+ mass: number;
+ friction: number;
+ restitution: number;
+ }
+ interface PhysicsCompoundBodyPart {
+ mesh: Mesh;
+ impostor: number;
+ }
+ class PhysicsEngine {
+ gravity: Vector3;
+ private _currentPlugin;
+ constructor(plugin?: IPhysicsEnginePlugin);
+ _initialize(gravity?: Vector3): void;
+ _runOneStep(delta: number): void;
+ _setGravity(gravity: Vector3): void;
+ _registerMesh(mesh: AbstractMesh, impostor: number, options: PhysicsBodyCreationOptions): any;
+ _registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
+ _unregisterMesh(mesh: AbstractMesh): void;
+ _applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
+ _createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3, options?: any): boolean;
+ _updateBodyPosition(mesh: AbstractMesh): void;
+ dispose(): void;
+ isSupported(): boolean;
+ static NoImpostor: number;
+ static SphereImpostor: number;
+ static BoxImpostor: number;
+ static PlaneImpostor: number;
+ static MeshImpostor: number;
+ static CapsuleImpostor: number;
+ static ConeImpostor: number;
+ static CylinderImpostor: number;
+ static ConvexHullImpostor: number;
+ static Epsilon: number;
+ }
+}
+
+declare module BABYLON {
+ class BoundingBoxRenderer {
+ frontColor: Color3;
+ backColor: Color3;
+ showBackLines: boolean;
+ renderList: SmartArray;
+ private _scene;
+ private _colorShader;
+ private _vb;
+ private _ib;
+ constructor(scene: Scene);
+ private _prepareRessources();
+ reset(): void;
+ render(): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class DepthRenderer {
+ private _scene;
+ private _depthMap;
+ private _effect;
+ private _viewMatrix;
+ private _projectionMatrix;
+ private _transformMatrix;
+ private _worldViewProjection;
+ private _cachedDefines;
+ constructor(scene: Scene, type?: number);
+ isReady(subMesh: SubMesh, useInstances: boolean): boolean;
+ getDepthMap(): RenderTargetTexture;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class EdgesRenderer {
+ private _source;
+ private _linesPositions;
+ private _linesNormals;
+ private _linesIndices;
+ private _epsilon;
+ private _indicesCount;
+ private _lineShader;
+ private _vb0;
+ private _vb1;
+ private _ib;
+ private _buffers;
+ private _checkVerticesInsteadOfIndices;
+ constructor(source: AbstractMesh, epsilon?: number, checkVerticesInsteadOfIndices?: boolean);
+ private _prepareRessources();
+ dispose(): void;
+ private _processEdgeForAdjacencies(pa, pb, p0, p1, p2);
+ private _processEdgeForAdjacenciesWithVertices(pa, pb, p0, p1, p2);
+ private _checkEdge(faceIndex, edge, faceNormals, p0, p1);
+ _generateEdgesLines(): void;
+ render(): void;
+ }
+}
+
+declare module BABYLON {
+ class OutlineRenderer {
+ private _scene;
+ private _effect;
+ private _cachedDefines;
+ constructor(scene: Scene);
+ render(subMesh: SubMesh, batch: _InstancesBatch, useOverlay?: boolean): void;
+ isReady(subMesh: SubMesh, useInstances: boolean): boolean;
+ }
+}
+
+declare module BABYLON {
+ class RenderingGroup {
+ index: number;
+ private _scene;
+ private _opaqueSubMeshes;
+ private _transparentSubMeshes;
+ private _alphaTestSubMeshes;
+ private _activeVertices;
+ constructor(index: number, scene: Scene);
+ render(customRenderFunction: (opaqueSubMeshes: SmartArray, transparentSubMeshes: SmartArray, alphaTestSubMeshes: SmartArray) => void): boolean;
+ prepare(): void;
+ dispatch(subMesh: SubMesh): void;
+ }
+}
+
+declare module BABYLON {
+ class RenderingManager {
+ static MAX_RENDERINGGROUPS: number;
+ private _scene;
+ private _renderingGroups;
+ private _depthBufferAlreadyCleaned;
+ constructor(scene: Scene);
+ private _renderParticles(index, activeMeshes);
+ private _renderSprites(index);
+ private _clearDepthBuffer();
+ render(customRenderFunction: (opaqueSubMeshes: SmartArray, transparentSubMeshes: SmartArray, alphaTestSubMeshes: SmartArray) => void, activeMeshes: AbstractMesh[], renderParticles: boolean, renderSprites: boolean): void;
+ reset(): void;
+ dispatch(subMesh: SubMesh): void;
+ }
+}
+
+declare module BABYLON {
+ class AnaglyphPostProcess extends PostProcess {
+ constructor(name: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class BlackAndWhitePostProcess extends PostProcess {
+ constructor(name: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class BlurPostProcess extends PostProcess {
+ direction: Vector2;
+ blurWidth: number;
+ constructor(name: string, direction: Vector2, blurWidth: number, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class ColorCorrectionPostProcess extends PostProcess {
+ private _colorTableTexture;
+ constructor(name: string, colorTableUrl: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class ConvolutionPostProcess extends PostProcess {
+ kernel: number[];
+ constructor(name: string, kernel: number[], ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ static EdgeDetect0Kernel: number[];
+ static EdgeDetect1Kernel: number[];
+ static EdgeDetect2Kernel: number[];
+ static SharpenKernel: number[];
+ static EmbossKernel: number[];
+ static GaussianKernel: number[];
+ }
+}
+
+declare module BABYLON {
+ class DisplayPassPostProcess extends PostProcess {
+ constructor(name: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class FilterPostProcess extends PostProcess {
+ kernelMatrix: Matrix;
+ constructor(name: string, kernelMatrix: Matrix, ratio: number, camera?: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class FxaaPostProcess extends PostProcess {
+ texelWidth: number;
+ texelHeight: number;
+ constructor(name: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class HDRRenderingPipeline extends PostProcessRenderPipeline implements IDisposable {
+ /**
+ * Public members
+ */
+ /**
+ * Gaussian blur coefficient
+ * @type {number}
+ */
+ gaussCoeff: number;
+ /**
+ * Gaussian blur mean
+ * @type {number}
+ */
+ gaussMean: number;
+ /**
+ * Gaussian blur standard deviation
+ * @type {number}
+ */
+ gaussStandDev: number;
+ /**
+ * Exposure, controls the overall intensity of the pipeline
+ * @type {number}
+ */
+ exposure: number;
+ /**
+ * Minimum luminance that the post-process can output. Luminance is >= 0
+ * @type {number}
+ */
+ minimumLuminance: number;
+ /**
+ * Maximum luminance that the post-process can output. Must be suprerior to minimumLuminance
+ * @type {number}
+ */
+ maximumLuminance: number;
+ /**
+ * Increase rate for luminance: eye adaptation speed to dark
+ * @type {number}
+ */
+ luminanceIncreaserate: number;
+ /**
+ * Decrease rate for luminance: eye adaptation speed to bright
+ * @type {number}
+ */
+ luminanceDecreaseRate: number;
+ /**
+ * Minimum luminance needed to compute HDR
+ * @type {number}
+ */
+ brightThreshold: number;
+ /**
+ * Private members
+ */
+ private _guassianBlurHPostProcess;
+ private _guassianBlurVPostProcess;
+ private _brightPassPostProcess;
+ private _textureAdderPostProcess;
+ private _downSampleX4PostProcess;
+ private _originalPostProcess;
+ private _hdrPostProcess;
+ private _hdrCurrentLuminance;
+ private _hdrOutputLuminance;
+ static LUM_STEPS: number;
+ private _downSamplePostProcesses;
+ private _scene;
+ private _needUpdate;
+ /**
+ * @constructor
+ * @param {string} name - The rendering pipeline name
+ * @param {BABYLON.Scene} scene - The scene linked to this pipeline
+ * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
+ * @param {BABYLON.PostProcess} originalPostProcess - the custom original color post-process. Must be "reusable". Can be null.
+ * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+ */
+ constructor(name: string, scene: Scene, ratio: number, originalPostProcess?: PostProcess, cameras?: Camera[]);
+ /**
+ * Tells the pipeline to update its post-processes
+ */
+ update(): void;
+ /**
+ * Returns the current calculated luminance
+ */
+ getCurrentLuminance(): number;
+ /**
+ * Returns the currently drawn luminance
+ */
+ getOutputLuminance(): number;
+ /**
+ * Releases the rendering pipeline and its internal effects. Detaches pipeline from cameras
+ */
+ dispose(): void;
+ /**
+ * Creates the HDR post-process and computes the luminance adaptation
+ */
+ private _createHDRPostProcess(scene, ratio);
+ /**
+ * Texture Adder post-process
+ */
+ private _createTextureAdderPostProcess(scene, ratio);
+ /**
+ * Down sample X4 post-process
+ */
+ private _createDownSampleX4PostProcess(scene, ratio);
+ /**
+ * Bright pass post-process
+ */
+ private _createBrightPassPostProcess(scene, ratio);
+ /**
+ * Luminance generator. Creates the luminance post-process and down sample post-processes
+ */
+ private _createLuminanceGeneratorPostProcess(scene);
+ /**
+ * Gaussian blur post-processes. Horizontal and Vertical
+ */
+ private _createGaussianBlurPostProcess(scene, ratio);
+ }
+}
+
+declare module BABYLON {
+ class LensRenderingPipeline extends PostProcessRenderPipeline {
+ /**
+ * The chromatic aberration PostProcess id in the pipeline
+ * @type {string}
+ */
+ LensChromaticAberrationEffect: string;
+ /**
+ * The highlights enhancing PostProcess id in the pipeline
+ * @type {string}
+ */
+ HighlightsEnhancingEffect: string;
+ /**
+ * The depth-of-field PostProcess id in the pipeline
+ * @type {string}
+ */
+ LensDepthOfFieldEffect: string;
+ private _scene;
+ private _depthTexture;
+ private _grainTexture;
+ private _chromaticAberrationPostProcess;
+ private _highlightsPostProcess;
+ private _depthOfFieldPostProcess;
+ private _edgeBlur;
+ private _grainAmount;
+ private _chromaticAberration;
+ private _distortion;
+ private _highlightsGain;
+ private _highlightsThreshold;
+ private _dofDistance;
+ private _dofAperture;
+ private _dofDarken;
+ private _dofPentagon;
+ private _blurNoise;
+ /**
+ * @constructor
+ *
+ * Effect parameters are as follow:
+ * {
+ * chromatic_aberration: number; // from 0 to x (1 for realism)
+ * edge_blur: number; // from 0 to x (1 for realism)
+ * distortion: number; // from 0 to x (1 for realism)
+ * grain_amount: number; // from 0 to 1
+ * grain_texture: BABYLON.Texture; // texture to use for grain effect; if unset, use random B&W noise
+ * dof_focus_distance: number; // depth-of-field: focus distance; unset to disable (disabled by default)
+ * dof_aperture: number; // depth-of-field: focus blur bias (default: 1)
+ * dof_darken: number; // depth-of-field: darken that which is out of focus (from 0 to 1, disabled by default)
+ * dof_pentagon: boolean; // depth-of-field: makes a pentagon-like "bokeh" effect
+ * dof_gain: number; // depth-of-field: highlights gain; unset to disable (disabled by default)
+ * dof_threshold: number; // depth-of-field: highlights threshold (default: 1)
+ * blur_noise: boolean; // add a little bit of noise to the blur (default: true)
+ * }
+ * Note: if an effect parameter is unset, effect is disabled
+ *
+ * @param {string} name - The rendering pipeline name
+ * @param {object} parameters - An object containing all parameters (see above)
+ * @param {BABYLON.Scene} scene - The scene linked to this pipeline
+ * @param {number} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
+ * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+ */
+ constructor(name: string, parameters: any, scene: Scene, ratio?: number, cameras?: Camera[]);
+ setEdgeBlur(amount: number): void;
+ disableEdgeBlur(): void;
+ setGrainAmount(amount: number): void;
+ disableGrain(): void;
+ setChromaticAberration(amount: number): void;
+ disableChromaticAberration(): void;
+ setEdgeDistortion(amount: number): void;
+ disableEdgeDistortion(): void;
+ setFocusDistance(amount: number): void;
+ disableDepthOfField(): void;
+ setAperture(amount: number): void;
+ setDarkenOutOfFocus(amount: number): void;
+ enablePentagonBokeh(): void;
+ disablePentagonBokeh(): void;
+ enableNoiseBlur(): void;
+ disableNoiseBlur(): void;
+ setHighlightsGain(amount: number): void;
+ setHighlightsThreshold(amount: number): void;
+ disableHighlights(): void;
+ /**
+ * Removes the internal pipeline assets and detaches the pipeline from the scene cameras
+ */
+ dispose(disableDepthRender?: boolean): void;
+ private _createChromaticAberrationPostProcess(ratio);
+ private _createHighlightsPostProcess(ratio);
+ private _createDepthOfFieldPostProcess(ratio);
+ private _createGrainTexture();
+ }
+}
+
+declare module BABYLON {
+ class PassPostProcess extends PostProcess {
+ constructor(name: string, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ }
+}
+
+declare module BABYLON {
+ class PostProcess {
+ name: string;
+ onApply: (effect: Effect) => void;
+ onBeforeRender: (effect: Effect) => void;
+ onAfterRender: (effect: Effect) => void;
+ onSizeChanged: () => void;
+ onActivate: (camera: Camera) => void;
+ width: number;
+ height: number;
+ renderTargetSamplingMode: number;
+ clearColor: Color4;
+ private _camera;
+ private _scene;
+ private _engine;
+ private _renderRatio;
+ private _reusable;
+ private _textureType;
+ _textures: SmartArray;
+ _currentRenderTextureInd: number;
+ private _effect;
+ constructor(name: string, fragmentUrl: string, parameters: string[], samplers: string[], ratio: number | any, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean, defines?: string, textureType?: number);
+ isReusable(): boolean;
+ activate(camera: Camera, sourceTexture?: WebGLTexture): void;
+ apply(): Effect;
+ dispose(camera?: Camera): void;
+ }
+}
+
+declare module BABYLON {
+ class PostProcessManager {
+ private _scene;
+ private _indexBuffer;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _vertexBuffer;
+ constructor(scene: Scene);
+ private _prepareBuffers();
+ _prepareFrame(sourceTexture?: WebGLTexture): boolean;
+ directRender(postProcesses: PostProcess[], targetTexture?: WebGLTexture): void;
+ _finalizeFrame(doNotPresent?: boolean, targetTexture?: WebGLTexture, postProcesses?: PostProcess[]): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class RefractionPostProcess extends PostProcess {
+ color: Color3;
+ depth: number;
+ colorLevel: number;
+ private _refRexture;
+ constructor(name: string, refractionTextureUrl: string, color: Color3, depth: number, colorLevel: number, ratio: number, camera: Camera, samplingMode?: number, engine?: Engine, reusable?: boolean);
+ dispose(camera: Camera): void;
+ }
+}
+
+declare module BABYLON {
+ class SSAORenderingPipeline extends PostProcessRenderPipeline {
+ /**
+ * The PassPostProcess id in the pipeline that contains the original scene color
+ * @type {string}
+ */
+ SSAOOriginalSceneColorEffect: string;
+ /**
+ * The SSAO PostProcess id in the pipeline
+ * @type {string}
+ */
+ SSAORenderEffect: string;
+ /**
+ * The horizontal blur PostProcess id in the pipeline
+ * @type {string}
+ */
+ SSAOBlurHRenderEffect: string;
+ /**
+ * The vertical blur PostProcess id in the pipeline
+ * @type {string}
+ */
+ SSAOBlurVRenderEffect: string;
+ /**
+ * The PostProcess id in the pipeline that combines the SSAO-Blur output with the original scene color (SSAOOriginalSceneColorEffect)
+ * @type {string}
+ */
+ SSAOCombineRenderEffect: string;
+ /**
+ * The output strength of the SSAO post-process. Default value is 1.0.
+ * @type {number}
+ */
+ totalStrength: number;
+ /**
+ * The radius around the analyzed pixel used by the SSAO post-process. Default value is 0.0002
+ * @type {number}
+ */
+ radius: number;
+ /**
+ * Related to fallOff, used to interpolate SSAO samples (first interpolate function input) based on the occlusion difference of each pixel
+ * Must not be equal to fallOff and superior to fallOff.
+ * Default value is 0.0075
+ * @type {number}
+ */
+ area: number;
+ /**
+ * Related to area, used to interpolate SSAO samples (second interpolate function input) based on the occlusion difference of each pixel
+ * Must not be equal to area and inferior to area.
+ * Default value is 0.0002
+ * @type {number}
+ */
+ fallOff: number;
+ private _scene;
+ private _depthTexture;
+ private _randomTexture;
+ private _originalColorPostProcess;
+ private _ssaoPostProcess;
+ private _blurHPostProcess;
+ private _blurVPostProcess;
+ private _ssaoCombinePostProcess;
+ private _firstUpdate;
+ /**
+ * @constructor
+ * @param {string} name - The rendering pipeline name
+ * @param {BABYLON.Scene} scene - The scene linked to this pipeline
+ * @param {any} ratio - The size of the postprocesses. Can be a number shared between passes or an object for more precision: { ssaoRatio: 0.5, combineRatio: 1.0 }
+ * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+ */
+ constructor(name: string, scene: Scene, ratio: any, cameras?: Camera[]);
+ /**
+ * Returns the horizontal blur PostProcess
+ * @return {BABYLON.BlurPostProcess} The horizontal blur post-process
+ */
+ getBlurHPostProcess(): BlurPostProcess;
+ /**
+ * Returns the vertical blur PostProcess
+ * @return {BABYLON.BlurPostProcess} The vertical blur post-process
+ */
+ getBlurVPostProcess(): BlurPostProcess;
+ /**
+ * Removes the internal pipeline assets and detatches the pipeline from the scene cameras
+ */
+ dispose(disableDepthRender?: boolean): void;
+ private _createSSAOPostProcess(ratio);
+ private _createSSAOCombinePostProcess(ratio);
+ private _createRandomTexture();
+ }
+}
+
+declare module BABYLON {
+ class StereoscopicInterlacePostProcess extends PostProcess {
+ private _stepSize;
+ constructor(name: string, camB: Camera, postProcessA: PostProcess, isStereoscopicHoriz: boolean, samplingMode?: number);
+ }
+}
+
+declare module BABYLON {
+ enum TonemappingOperator {
+ Hable = 0,
+ Reinhard = 1,
+ HejiDawson = 2,
+ Photographic = 3,
+ }
+ class TonemapPostProcess extends PostProcess {
+ private _operator;
+ private _exposureAdjustment;
+ constructor(name: string, operator: TonemappingOperator, exposureAdjustment: number, camera: Camera, samplingMode?: number, engine?: Engine, textureFormat?: number);
+ }
+}
+
+declare module BABYLON {
+ class VolumetricLightScatteringPostProcess extends PostProcess {
+ private _volumetricLightScatteringPass;
+ private _volumetricLightScatteringRTT;
+ private _viewPort;
+ private _screenCoordinates;
+ private _cachedDefines;
+ private _customMeshPosition;
+ /**
+ * Set if the post-process should use a custom position for the light source (true) or the internal mesh position (false)
+ * @type {boolean}
+ */
+ useCustomMeshPosition: boolean;
+ /**
+ * If the post-process should inverse the light scattering direction
+ * @type {boolean}
+ */
+ invert: boolean;
+ /**
+ * The internal mesh used by the post-process
+ * @type {boolean}
+ */
+ mesh: Mesh;
+ /**
+ * Set to true to use the diffuseColor instead of the diffuseTexture
+ * @type {boolean}
+ */
+ useDiffuseColor: boolean;
+ /**
+ * Array containing the excluded meshes not rendered in the internal pass
+ */
+ excludedMeshes: AbstractMesh[];
+ /**
+ * Controls the overall intensity of the post-process
+ * @type {number}
+ */
+ exposure: number;
+ /**
+ * Dissipates each sample's contribution in range [0, 1]
+ * @type {number}
+ */
+ decay: number;
+ /**
+ * Controls the overall intensity of each sample
+ * @type {number}
+ */
+ weight: number;
+ /**
+ * Controls the density of each sample
+ * @type {number}
+ */
+ density: number;
+ /**
+ * @constructor
+ * @param {string} name - The post-process name
+ * @param {any} ratio - The size of the post-process and/or internal pass (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
+ * @param {BABYLON.Camera} camera - The camera that the post-process will be attached to
+ * @param {BABYLON.Mesh} mesh - The mesh used to create the light scattering
+ * @param {number} samples - The post-process quality, default 100
+ * @param {number} samplingMode - The post-process filtering mode
+ * @param {BABYLON.Engine} engine - The babylon engine
+ * @param {boolean} reusable - If the post-process is reusable
+ * @param {BABYLON.Scene} scene - The constructor needs a scene reference to initialize internal components. If "camera" is null (RenderPipelineà, "scene" must be provided
+ */
+ constructor(name: string, ratio: any, camera: Camera, mesh?: Mesh, samples?: number, samplingMode?: number, engine?: Engine, reusable?: boolean, scene?: Scene);
+ isReady(subMesh: SubMesh, useInstances: boolean): boolean;
+ /**
+ * Sets the new light position for light scattering effect
+ * @param {BABYLON.Vector3} The new custom light position
+ */
+ setCustomMeshPosition(position: Vector3): void;
+ /**
+ * Returns the light position for light scattering effect
+ * @return {BABYLON.Vector3} The custom light position
+ */
+ getCustomMeshPosition(): Vector3;
+ /**
+ * Disposes the internal assets and detaches the post-process from the camera
+ */
+ dispose(camera: Camera): void;
+ /**
+ * Returns the render target texture used by the post-process
+ * @return {BABYLON.RenderTargetTexture} The render target texture used by the post-process
+ */
+ getPass(): RenderTargetTexture;
+ private _meshExcluded(mesh);
+ private _createPass(scene, ratio);
+ private _updateMeshScreenCoordinates(scene);
+ /**
+ * Creates a default mesh for the Volumeric Light Scattering post-process
+ * @param {string} The mesh name
+ * @param {BABYLON.Scene} The scene where to create the mesh
+ * @return {BABYLON.Mesh} the default mesh
+ */
+ static CreateDefaultMesh(name: string, scene: Scene): Mesh;
+ }
+}
+
+declare module BABYLON {
+ class VRDistortionCorrectionPostProcess extends PostProcess {
+ aspectRatio: number;
+ private _isRightEye;
+ private _distortionFactors;
+ private _postProcessScaleFactor;
+ private _lensCenterOffset;
+ private _scaleIn;
+ private _scaleFactor;
+ private _lensCenter;
+ constructor(name: string, camera: Camera, isRightEye: boolean, vrMetrics: VRCameraMetrics);
+ }
+}
+
+declare module BABYLON {
+ class Sprite {
+ name: string;
+ position: Vector3;
+ color: Color4;
+ width: number;
+ height: number;
+ angle: number;
+ cellIndex: number;
+ invertU: number;
+ invertV: number;
+ disposeWhenFinishedAnimating: boolean;
+ animations: Animation[];
+ private _animationStarted;
+ private _loopAnimation;
+ private _fromIndex;
+ private _toIndex;
+ private _delay;
+ private _direction;
+ private _frameCount;
+ private _manager;
+ private _time;
+ size: number;
+ constructor(name: string, manager: SpriteManager);
+ playAnimation(from: number, to: number, loop: boolean, delay: number): void;
+ stopAnimation(): void;
+ _animate(deltaTime: number): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class SpriteManager {
+ name: string;
+ cellSize: number;
+ sprites: Sprite[];
+ renderingGroupId: number;
+ layerMask: number;
+ onDispose: () => void;
+ fogEnabled: boolean;
+ private _capacity;
+ private _spriteTexture;
+ private _epsilon;
+ private _scene;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _vertexBuffer;
+ private _indexBuffer;
+ private _vertices;
+ private _effectBase;
+ private _effectFog;
+ constructor(name: string, imgUrl: string, capacity: number, cellSize: number, scene: Scene, epsilon?: number, samplingMode?: number);
+ private _appendSpriteVertex(index, sprite, offsetX, offsetY, rowSize);
+ render(): void;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON.Internals {
+ class AndOrNotEvaluator {
+ static Eval(query: string, evaluateCallback: (val: any) => boolean): boolean;
+ private static _HandleParenthesisContent(parenthesisContent, evaluateCallback);
+ private static _SimplifyNegation(booleanString);
+ }
+}
+
+declare module BABYLON {
+ interface IAssetTask {
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ run(scene: Scene, onSuccess: () => void, onError: () => void): any;
+ }
+ class MeshAssetTask implements IAssetTask {
+ name: string;
+ meshesNames: any;
+ rootUrl: string;
+ sceneFilename: string;
+ loadedMeshes: Array;
+ loadedParticleSystems: Array;
+ loadedSkeletons: Array;
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ constructor(name: string, meshesNames: any, rootUrl: string, sceneFilename: string);
+ run(scene: Scene, onSuccess: () => void, onError: () => void): void;
+ }
+ class TextFileAssetTask implements IAssetTask {
+ name: string;
+ url: string;
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ text: string;
+ constructor(name: string, url: string);
+ run(scene: Scene, onSuccess: () => void, onError: () => void): void;
+ }
+ class BinaryFileAssetTask implements IAssetTask {
+ name: string;
+ url: string;
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ data: ArrayBuffer;
+ constructor(name: string, url: string);
+ run(scene: Scene, onSuccess: () => void, onError: () => void): void;
+ }
+ class ImageAssetTask implements IAssetTask {
+ name: string;
+ url: string;
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ image: HTMLImageElement;
+ constructor(name: string, url: string);
+ run(scene: Scene, onSuccess: () => void, onError: () => void): void;
+ }
+ class TextureAssetTask implements IAssetTask {
+ name: string;
+ url: string;
+ noMipmap: boolean;
+ invertY: boolean;
+ samplingMode: number;
+ onSuccess: (task: IAssetTask) => void;
+ onError: (task: IAssetTask) => void;
+ isCompleted: boolean;
+ texture: Texture;
+ constructor(name: string, url: string, noMipmap?: boolean, invertY?: boolean, samplingMode?: number);
+ run(scene: Scene, onSuccess: () => void, onError: () => void): void;
+ }
+ class AssetsManager {
+ private _tasks;
+ private _scene;
+ private _waitingTasksCount;
+ onFinish: (tasks: IAssetTask[]) => void;
+ onTaskSuccess: (task: IAssetTask) => void;
+ onTaskError: (task: IAssetTask) => void;
+ useDefaultLoadingScreen: boolean;
+ constructor(scene: Scene);
+ addMeshTask(taskName: string, meshesNames: any, rootUrl: string, sceneFilename: string): IAssetTask;
+ addTextFileTask(taskName: string, url: string): IAssetTask;
+ addBinaryFileTask(taskName: string, url: string): IAssetTask;
+ addImageTask(taskName: string, url: string): IAssetTask;
+ addTextureTask(taskName: string, url: string, noMipmap?: boolean, invertY?: boolean, samplingMode?: number): IAssetTask;
+ private _decreaseWaitingTasksCount();
+ private _runTask(task);
+ reset(): AssetsManager;
+ load(): AssetsManager;
+ }
+}
+
+declare module BABYLON {
+ class Database {
+ private callbackManifestChecked;
+ private currentSceneUrl;
+ private db;
+ private enableSceneOffline;
+ private enableTexturesOffline;
+ private manifestVersionFound;
+ private mustUpdateRessources;
+ private hasReachedQuota;
+ private isSupported;
+ private idbFactory;
+ static IsUASupportingBlobStorage: boolean;
+ static IDBStorageEnabled: boolean;
+ constructor(urlToScene: string, callbackManifestChecked: (checked: boolean) => any);
+ static parseURL: (url: string) => string;
+ static ReturnFullUrlLocation: (url: string) => string;
+ checkManifestFile(): void;
+ openAsync(successCallback: any, errorCallback: any): void;
+ loadImageFromDB(url: string, image: HTMLImageElement): void;
+ private _loadImageFromDBAsync(url, image, notInDBCallback);
+ private _saveImageIntoDBAsync(url, image);
+ private _checkVersionFromDB(url, versionLoaded);
+ private _loadVersionFromDBAsync(url, callback, updateInDBCallback);
+ private _saveVersionIntoDBAsync(url, callback);
+ private loadFileFromDB(url, sceneLoaded, progressCallBack, errorCallback, useArrayBuffer?);
+ private _loadFileFromDBAsync(url, callback, notInDBCallback, useArrayBuffer?);
+ private _saveFileIntoDBAsync(url, callback, progressCallback, useArrayBuffer?);
+ }
+}
+
+declare module BABYLON {
+ class FilesInput {
+ private _engine;
+ private _currentScene;
+ private _canvas;
+ private _sceneLoadedCallback;
+ private _progressCallback;
+ private _additionnalRenderLoopLogicCallback;
+ private _textureLoadingCallback;
+ private _startingProcessingFilesCallback;
+ private _elementToMonitor;
+ static FilesTextures: any[];
+ static FilesToLoad: any[];
+ private _sceneFileToLoad;
+ private _filesToLoad;
+ constructor(p_engine: Engine, p_scene: Scene, p_canvas: HTMLCanvasElement, p_sceneLoadedCallback: any, p_progressCallback: any, p_additionnalRenderLoopLogicCallback: any, p_textureLoadingCallback: any, p_startingProcessingFilesCallback: any);
+ monitorElementForDragNDrop(p_elementToMonitor: HTMLElement): void;
+ private renderFunction();
+ private drag(e);
+ private drop(eventDrop);
+ loadFiles(event: any): void;
+ reload(): void;
+ }
+}
+
+declare module BABYLON {
+ class Gamepads {
+ private babylonGamepads;
+ private oneGamepadConnected;
+ private isMonitoring;
+ private gamepadEventSupported;
+ private gamepadSupportAvailable;
+ private _callbackGamepadConnected;
+ private buttonADataURL;
+ private static gamepadDOMInfo;
+ constructor(ongamedpadconnected: (gamepad: Gamepad) => void);
+ private _insertGamepadDOMInstructions();
+ private _insertGamepadDOMNotSupported();
+ dispose(): void;
+ private _onGamepadConnected(evt);
+ private _addNewGamepad(gamepad);
+ private _onGamepadDisconnected(evt);
+ private _startMonitoringGamepads();
+ private _stopMonitoringGamepads();
+ private _checkGamepadsStatus();
+ private _updateGamepadObjects();
+ }
+ class StickValues {
+ x: any;
+ y: any;
+ constructor(x: any, y: any);
+ }
+ class Gamepad {
+ id: string;
+ index: number;
+ browserGamepad: any;
+ private _leftStick;
+ private _rightStick;
+ private _onleftstickchanged;
+ private _onrightstickchanged;
+ constructor(id: string, index: number, browserGamepad: any);
+ onleftstickchanged(callback: (values: StickValues) => void): void;
+ onrightstickchanged(callback: (values: StickValues) => void): void;
+ leftStick: StickValues;
+ rightStick: StickValues;
+ update(): void;
+ }
+ class GenericPad extends Gamepad {
+ id: string;
+ index: number;
+ gamepad: any;
+ private _buttons;
+ private _onbuttondown;
+ private _onbuttonup;
+ onbuttondown(callback: (buttonPressed: number) => void): void;
+ onbuttonup(callback: (buttonReleased: number) => void): void;
+ constructor(id: string, index: number, gamepad: any);
+ private _setButtonValue(newValue, currentValue, buttonIndex);
+ update(): void;
+ }
+ enum Xbox360Button {
+ A = 0,
+ B = 1,
+ X = 2,
+ Y = 3,
+ Start = 4,
+ Back = 5,
+ LB = 6,
+ RB = 7,
+ LeftStick = 8,
+ RightStick = 9,
+ }
+ enum Xbox360Dpad {
+ Up = 0,
+ Down = 1,
+ Left = 2,
+ Right = 3,
+ }
+ class Xbox360Pad extends Gamepad {
+ private _leftTrigger;
+ private _rightTrigger;
+ private _onlefttriggerchanged;
+ private _onrighttriggerchanged;
+ private _onbuttondown;
+ private _onbuttonup;
+ private _ondpaddown;
+ private _ondpadup;
+ private _buttonA;
+ private _buttonB;
+ private _buttonX;
+ private _buttonY;
+ private _buttonBack;
+ private _buttonStart;
+ private _buttonLB;
+ private _buttonRB;
+ private _buttonLeftStick;
+ private _buttonRightStick;
+ private _dPadUp;
+ private _dPadDown;
+ private _dPadLeft;
+ private _dPadRight;
+ onlefttriggerchanged(callback: (value: number) => void): void;
+ onrighttriggerchanged(callback: (value: number) => void): void;
+ leftTrigger: number;
+ rightTrigger: number;
+ onbuttondown(callback: (buttonPressed: Xbox360Button) => void): void;
+ onbuttonup(callback: (buttonReleased: Xbox360Button) => void): void;
+ ondpaddown(callback: (dPadPressed: Xbox360Dpad) => void): void;
+ ondpadup(callback: (dPadReleased: Xbox360Dpad) => void): void;
+ private _setButtonValue(newValue, currentValue, buttonType);
+ private _setDPadValue(newValue, currentValue, buttonType);
+ buttonA: number;
+ buttonB: number;
+ buttonX: number;
+ buttonY: number;
+ buttonStart: number;
+ buttonBack: number;
+ buttonLB: number;
+ buttonRB: number;
+ buttonLeftStick: number;
+ buttonRightStick: number;
+ dPadUp: number;
+ dPadDown: number;
+ dPadLeft: number;
+ dPadRight: number;
+ update(): void;
+ }
+}
+interface Navigator {
+ getGamepads(func?: any): any;
+ webkitGetGamepads(func?: any): any;
+ msGetGamepads(func?: any): any;
+ webkitGamepads(func?: any): any;
+}
+
+declare module BABYLON {
+ class SceneOptimization {
+ priority: number;
+ apply: (scene: Scene) => boolean;
+ constructor(priority?: number);
+ }
+ class TextureOptimization extends SceneOptimization {
+ priority: number;
+ maximumSize: number;
+ constructor(priority?: number, maximumSize?: number);
+ apply: (scene: Scene) => boolean;
+ }
+ class HardwareScalingOptimization extends SceneOptimization {
+ priority: number;
+ maximumScale: number;
+ private _currentScale;
+ constructor(priority?: number, maximumScale?: number);
+ apply: (scene: Scene) => boolean;
+ }
+ class ShadowsOptimization extends SceneOptimization {
+ apply: (scene: Scene) => boolean;
+ }
+ class PostProcessesOptimization extends SceneOptimization {
+ apply: (scene: Scene) => boolean;
+ }
+ class LensFlaresOptimization extends SceneOptimization {
+ apply: (scene: Scene) => boolean;
+ }
+ class ParticlesOptimization extends SceneOptimization {
+ apply: (scene: Scene) => boolean;
+ }
+ class RenderTargetsOptimization extends SceneOptimization {
+ apply: (scene: Scene) => boolean;
+ }
+ class MergeMeshesOptimization extends SceneOptimization {
+ static _UpdateSelectionTree: boolean;
+ static UpdateSelectionTree: boolean;
+ private _canBeMerged;
+ apply: (scene: Scene, updateSelectionTree?: boolean) => boolean;
+ }
+ class SceneOptimizerOptions {
+ targetFrameRate: number;
+ trackerDuration: number;
+ optimizations: SceneOptimization[];
+ constructor(targetFrameRate?: number, trackerDuration?: number);
+ static LowDegradationAllowed(targetFrameRate?: number): SceneOptimizerOptions;
+ static ModerateDegradationAllowed(targetFrameRate?: number): SceneOptimizerOptions;
+ static HighDegradationAllowed(targetFrameRate?: number): SceneOptimizerOptions;
+ }
+ class SceneOptimizer {
+ static _CheckCurrentState(scene: Scene, options: SceneOptimizerOptions, currentPriorityLevel: number, onSuccess?: () => void, onFailure?: () => void): void;
+ static OptimizeAsync(scene: Scene, options?: SceneOptimizerOptions, onSuccess?: () => void, onFailure?: () => void): void;
+ }
+}
+
+declare module BABYLON {
+ class SceneSerializer {
+ static Serialize(scene: Scene): any;
+ static SerializeMesh(toSerialize: any, withParents?: boolean, withChildren?: boolean): any;
+ }
+}
+
+declare module BABYLON {
+ class SmartArray {
+ data: Array;
+ length: number;
+ private _id;
+ private _duplicateId;
+ constructor(capacity: number);
+ push(value: any): void;
+ pushNoDuplicate(value: any): void;
+ sort(compareFn: any): void;
+ reset(): void;
+ concat(array: any): void;
+ concatWithNoDuplicate(array: any): void;
+ indexOf(value: any): number;
+ private static _GlobalId;
+ }
+}
+
+declare module BABYLON {
+ class SmartCollection {
+ count: number;
+ items: any;
+ private _keys;
+ private _initialCapacity;
+ constructor(capacity?: number);
+ add(key: any, item: any): number;
+ remove(key: any): number;
+ removeItemOfIndex(index: number): number;
+ indexOf(key: any): number;
+ item(key: any): any;
+ getAllKeys(): any[];
+ getKeyByIndex(index: number): any;
+ getItemByIndex(index: number): any;
+ empty(): void;
+ forEach(block: (item: any) => void): void;
+ }
+}
+
+declare module BABYLON {
+ class Tags {
+ static EnableFor(obj: any): void;
+ static DisableFor(obj: any): void;
+ static HasTags(obj: any): boolean;
+ static GetTags(obj: any): any;
+ static AddTagsTo(obj: any, tagsString: string): void;
+ static _AddTagTo(obj: any, tag: string): void;
+ static RemoveTagsFrom(obj: any, tagsString: string): void;
+ static _RemoveTagFrom(obj: any, tag: string): void;
+ static MatchesQuery(obj: any, tagsQuery: string): boolean;
+ }
+}
+
+declare module BABYLON.Internals {
+ interface DDSInfo {
+ width: number;
+ height: number;
+ mipmapCount: number;
+ isFourCC: boolean;
+ isRGB: boolean;
+ isLuminance: boolean;
+ isCube: boolean;
+ }
+ class DDSTools {
+ static GetDDSInfo(arrayBuffer: any): DDSInfo;
+ private static GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer);
+ private static GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer);
+ private static GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer);
+ static UploadDDSLevels(gl: WebGLRenderingContext, ext: any, arrayBuffer: any, info: DDSInfo, loadMipmaps: boolean, faces: number): void;
+ }
+}
+
+declare module BABYLON.Internals {
+ class TGATools {
+ private static _TYPE_NO_DATA;
+ private static _TYPE_INDEXED;
+ private static _TYPE_RGB;
+ private static _TYPE_GREY;
+ private static _TYPE_RLE_INDEXED;
+ private static _TYPE_RLE_RGB;
+ private static _TYPE_RLE_GREY;
+ private static _ORIGIN_MASK;
+ private static _ORIGIN_SHIFT;
+ private static _ORIGIN_BL;
+ private static _ORIGIN_BR;
+ private static _ORIGIN_UL;
+ private static _ORIGIN_UR;
+ static GetTGAHeader(data: Uint8Array): any;
+ static UploadContent(gl: WebGLRenderingContext, data: Uint8Array): void;
+ static _getImageData8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ static _getImageData16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ static _getImageData24bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ static _getImageData32bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ static _getImageDataGrey8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ static _getImageDataGrey16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
+ }
+}
+
+declare module BABYLON {
+ interface IAnimatable {
+ animations: Array;
+ }
+ interface ISize {
+ width: number;
+ height: number;
+ }
+ class Tools {
+ static BaseUrl: string;
+ static ToHex(i: number): string;
+ static SetImmediate(action: () => void): void;
+ static IsExponantOfTwo(value: number): boolean;
+ static GetExponantOfTwo(value: number, max: number): number;
+ static GetFilename(path: string): string;
+ static GetDOMTextContent(element: HTMLElement): string;
+ static ToDegrees(angle: number): number;
+ static ToRadians(angle: number): number;
+ static ExtractMinAndMaxIndexed(positions: number[], indices: number[], indexStart: number, indexCount: number): {
+ minimum: Vector3;
+ maximum: Vector3;
+ };
+ static ExtractMinAndMax(positions: number[], start: number, count: number): {
+ minimum: Vector3;
+ maximum: Vector3;
+ };
+ static MakeArray(obj: any, allowsNullUndefined?: boolean): Array;
+ static GetPointerPrefix(): string;
+ static QueueNewFrame(func: any): void;
+ static RequestFullscreen(element: any): void;
+ static ExitFullscreen(): void;
+ static CleanUrl(url: string): string;
+ static LoadImage(url: string, onload: any, onerror: any, database: any): HTMLImageElement;
+ static LoadFile(url: string, callback: (data: any) => void, progressCallBack?: () => void, database?: any, useArrayBuffer?: boolean, onError?: () => void): void;
+ static ReadFileAsDataURL(fileToLoad: any, callback: any, progressCallback: any): void;
+ static ReadFile(fileToLoad: any, callback: any, progressCallBack: any, useArrayBuffer?: boolean): void;
+ static Clamp(value: number, min?: number, max?: number): number;
+ static Sign(value: number): number;
+ static Format(value: number, decimals?: number): string;
+ static CheckExtends(v: Vector3, min: Vector3, max: Vector3): void;
+ static WithinEpsilon(a: number, b: number, epsilon?: number): boolean;
+ static DeepCopy(source: any, destination: any, doNotCopyList?: string[], mustCopyList?: string[]): void;
+ static IsEmpty(obj: any): boolean;
+ static RegisterTopRootEvents(events: {
+ name: string;
+ handler: EventListener;
+ }[]): void;
+ static UnregisterTopRootEvents(events: {
+ name: string;
+ handler: EventListener;
+ }[]): void;
+ static DumpFramebuffer(width: number, height: number, engine: Engine, successCallback?: (data: String) => void): void;
+ static CreateScreenshot(engine: Engine, camera: Camera, size: any, successCallback?: (data: String) => void): void;
+ static ValidateXHRData(xhr: XMLHttpRequest, dataType?: number): boolean;
+ private static _NoneLogLevel;
+ private static _MessageLogLevel;
+ private static _WarningLogLevel;
+ private static _ErrorLogLevel;
+ private static _LogCache;
+ static errorsCount: number;
+ static OnNewCacheEntry: (entry: string) => void;
+ static NoneLogLevel: number;
+ static MessageLogLevel: number;
+ static WarningLogLevel: number;
+ static ErrorLogLevel: number;
+ static AllLogLevel: number;
+ private static _AddLogEntry(entry);
+ private static _FormatMessage(message);
+ static Log: (message: string) => void;
+ private static _LogDisabled(message);
+ private static _LogEnabled(message);
+ static Warn: (message: string) => void;
+ private static _WarnDisabled(message);
+ private static _WarnEnabled(message);
+ static Error: (message: string) => void;
+ private static _ErrorDisabled(message);
+ private static _ErrorEnabled(message);
+ static LogCache: string;
+ static ClearLogCache(): void;
+ static LogLevels: number;
+ private static _PerformanceNoneLogLevel;
+ private static _PerformanceUserMarkLogLevel;
+ private static _PerformanceConsoleLogLevel;
+ private static _performance;
+ static PerformanceNoneLogLevel: number;
+ static PerformanceUserMarkLogLevel: number;
+ static PerformanceConsoleLogLevel: number;
+ static PerformanceLogLevel: number;
+ static _StartPerformanceCounterDisabled(counterName: string, condition?: boolean): void;
+ static _EndPerformanceCounterDisabled(counterName: string, condition?: boolean): void;
+ static _StartUserMark(counterName: string, condition?: boolean): void;
+ static _EndUserMark(counterName: string, condition?: boolean): void;
+ static _StartPerformanceConsole(counterName: string, condition?: boolean): void;
+ static _EndPerformanceConsole(counterName: string, condition?: boolean): void;
+ static StartPerformanceCounter: (counterName: string, condition?: boolean) => void;
+ static EndPerformanceCounter: (counterName: string, condition?: boolean) => void;
+ static Now: number;
+ static GetFps(): number;
+ }
+ /**
+ * An implementation of a loop for asynchronous functions.
+ */
+ class AsyncLoop {
+ iterations: number;
+ private _fn;
+ private _successCallback;
+ index: number;
+ private _done;
+ /**
+ * Constroctor.
+ * @param iterations the number of iterations.
+ * @param _fn the function to run each iteration
+ * @param _successCallback the callback that will be called upon succesful execution
+ * @param offset starting offset.
+ */
+ constructor(iterations: number, _fn: (asyncLoop: AsyncLoop) => void, _successCallback: () => void, offset?: number);
+ /**
+ * Execute the next iteration. Must be called after the last iteration was finished.
+ */
+ executeNext(): void;
+ /**
+ * Break the loop and run the success callback.
+ */
+ breakLoop(): void;
+ /**
+ * Helper function
+ */
+ static Run(iterations: number, _fn: (asyncLoop: AsyncLoop) => void, _successCallback: () => void, offset?: number): AsyncLoop;
+ /**
+ * A for-loop that will run a given number of iterations synchronous and the rest async.
+ * @param iterations total number of iterations
+ * @param syncedIterations number of synchronous iterations in each async iteration.
+ * @param fn the function to call each iteration.
+ * @param callback a success call back that will be called when iterating stops.
+ * @param breakFunction a break condition (optional)
+ * @param timeout timeout settings for the setTimeout function. default - 0.
+ * @constructor
+ */
+ static SyncAsyncForLoop(iterations: number, syncedIterations: number, fn: (iteration: number) => void, callback: () => void, breakFunction?: () => boolean, timeout?: number): void;
+ }
+}
+
+declare module BABYLON {
+ enum JoystickAxis {
+ X = 0,
+ Y = 1,
+ Z = 2,
+ }
+ class VirtualJoystick {
+ reverseLeftRight: boolean;
+ reverseUpDown: boolean;
+ deltaPosition: Vector3;
+ pressed: boolean;
+ private static _globalJoystickIndex;
+ private static vjCanvas;
+ private static vjCanvasContext;
+ private static vjCanvasWidth;
+ private static vjCanvasHeight;
+ private static halfWidth;
+ private static halfHeight;
+ private _action;
+ private _axisTargetedByLeftAndRight;
+ private _axisTargetedByUpAndDown;
+ private _joystickSensibility;
+ private _inversedSensibility;
+ private _rotationSpeed;
+ private _inverseRotationSpeed;
+ private _rotateOnAxisRelativeToMesh;
+ private _joystickPointerID;
+ private _joystickColor;
+ private _joystickPointerPos;
+ private _joystickPreviousPointerPos;
+ private _joystickPointerStartPos;
+ private _deltaJoystickVector;
+ private _leftJoystick;
+ private _joystickIndex;
+ private _touches;
+ private _onPointerDownHandlerRef;
+ private _onPointerMoveHandlerRef;
+ private _onPointerUpHandlerRef;
+ private _onPointerOutHandlerRef;
+ private _onResize;
+ constructor(leftJoystick?: boolean);
+ setJoystickSensibility(newJoystickSensibility: number): void;
+ private _onPointerDown(e);
+ private _onPointerMove(e);
+ private _onPointerUp(e);
+ /**
+ * Change the color of the virtual joystick
+ * @param newColor a string that must be a CSS color value (like "red") or the hexa value (like "#FF0000")
+ */
+ setJoystickColor(newColor: string): void;
+ setActionOnTouch(action: () => any): void;
+ setAxisForLeftRight(axis: JoystickAxis): void;
+ setAxisForUpDown(axis: JoystickAxis): void;
+ private _clearCanvas();
+ private _drawVirtualJoystick();
+ releaseCanvas(): void;
+ }
+}
+
+declare module BABYLON {
+ class VRDeviceOrientationFreeCamera extends FreeCamera {
+ _alpha: number;
+ _beta: number;
+ _gamma: number;
+ private _offsetOrientation;
+ private _deviceOrientationHandler;
+ constructor(name: string, position: Vector3, scene: Scene, compensateDistorsion?: boolean);
+ _onOrientationEvent(evt: DeviceOrientationEvent): void;
+ attachControl(element: HTMLElement, noPreventDefault?: boolean): void;
+ detachControl(element: HTMLElement): void;
+ }
+}
+
+declare var HMDVRDevice: any;
+declare var PositionSensorVRDevice: any;
+declare module BABYLON {
+ class WebVRFreeCamera extends FreeCamera {
+ _hmdDevice: any;
+ _sensorDevice: any;
+ _cacheState: any;
+ _cacheQuaternion: Quaternion;
+ _cacheRotation: Vector3;
+ _vrEnabled: boolean;
+ constructor(name: string, position: Vector3, scene: Scene, compensateDistorsion?: boolean);
+ private _getWebVRDevices(devices);
+ _checkInputs(): void;
+ attachControl(element: HTMLElement, noPreventDefault?: boolean): void;
+ detachControl(element: HTMLElement): void;
+ }
+}
+
+declare module BABYLON {
+ interface IOctreeContainer {
+ blocks: Array>;
+ }
+ class Octree {
+ maxDepth: number;
+ blocks: Array>;
+ dynamicContent: T[];
+ private _maxBlockCapacity;
+ private _selectionContent;
+ private _creationFunc;
+ constructor(creationFunc: (entry: T, block: OctreeBlock) => void, maxBlockCapacity?: number, maxDepth?: number);
+ update(worldMin: Vector3, worldMax: Vector3, entries: T[]): void;
+ addMesh(entry: T): void;
+ select(frustumPlanes: Plane[], allowDuplicate?: boolean): SmartArray;
+ intersects(sphereCenter: Vector3, sphereRadius: number, allowDuplicate?: boolean): SmartArray;
+ intersectsRay(ray: Ray): SmartArray;
+ static _CreateBlocks(worldMin: Vector3, worldMax: Vector3, entries: T[], maxBlockCapacity: number, currentDepth: number, maxDepth: number, target: IOctreeContainer, creationFunc: (entry: T, block: OctreeBlock) => void): void;
+ static CreationFuncForMeshes: (entry: AbstractMesh, block: OctreeBlock) => void;
+ static CreationFuncForSubMeshes: (entry: SubMesh, block: OctreeBlock) => void;
+ }
+}
+
+declare module BABYLON {
+ class OctreeBlock {
+ entries: T[];
+ blocks: Array>;
+ private _depth;
+ private _maxDepth;
+ private _capacity;
+ private _minPoint;
+ private _maxPoint;
+ private _boundingVectors;
+ private _creationFunc;
+ constructor(minPoint: Vector3, maxPoint: Vector3, capacity: number, depth: number, maxDepth: number, creationFunc: (entry: T, block: OctreeBlock) => void);
+ capacity: number;
+ minPoint: Vector3;
+ maxPoint: Vector3;
+ addEntry(entry: T): void;
+ addEntries(entries: T[]): void;
+ select(frustumPlanes: Plane[], selection: SmartArray, allowDuplicate?: boolean): void;
+ intersects(sphereCenter: Vector3, sphereRadius: number, selection: SmartArray, allowDuplicate?: boolean): void;
+ intersectsRay(ray: Ray, selection: SmartArray): void;
+ createInnerBlocks(): void;
+ }
+}
+
+declare module BABYLON {
+ class ShadowGenerator {
+ private static _FILTER_NONE;
+ private static _FILTER_VARIANCESHADOWMAP;
+ private static _FILTER_POISSONSAMPLING;
+ private static _FILTER_BLURVARIANCESHADOWMAP;
+ static FILTER_NONE: number;
+ static FILTER_VARIANCESHADOWMAP: number;
+ static FILTER_POISSONSAMPLING: number;
+ static FILTER_BLURVARIANCESHADOWMAP: number;
+ private _filter;
+ blurScale: number;
+ private _blurBoxOffset;
+ private _bias;
+ private _lightDirection;
+ bias: number;
+ blurBoxOffset: number;
+ filter: number;
+ useVarianceShadowMap: boolean;
+ usePoissonSampling: boolean;
+ useBlurVarianceShadowMap: boolean;
+ private _light;
+ private _scene;
+ private _shadowMap;
+ private _shadowMap2;
+ private _darkness;
+ private _transparencyShadow;
+ private _effect;
+ private _viewMatrix;
+ private _projectionMatrix;
+ private _transformMatrix;
+ private _worldViewProjection;
+ private _cachedPosition;
+ private _cachedDirection;
+ private _cachedDefines;
+ private _currentRenderID;
+ private _downSamplePostprocess;
+ private _boxBlurPostprocess;
+ private _mapSize;
+ constructor(mapSize: number, light: IShadowLight);
+ isReady(subMesh: SubMesh, useInstances: boolean): boolean;
+ getShadowMap(): RenderTargetTexture;
+ getShadowMapForRendering(): RenderTargetTexture;
+ getLight(): IShadowLight;
+ getTransformMatrix(): Matrix;
+ getDarkness(): number;
+ setDarkness(darkness: number): void;
+ setTransparencyShadow(hasShadow: boolean): void;
+ private _packHalf(depth);
+ dispose(): void;
+ }
+}
+
+declare module BABYLON.Internals {
+}
+
+declare module BABYLON {
+ class BaseTexture {
+ name: string;
+ delayLoadState: number;
+ hasAlpha: boolean;
+ getAlphaFromRGB: boolean;
+ level: number;
+ isCube: boolean;
+ isRenderTarget: boolean;
+ animations: Animation[];
+ onDispose: () => void;
+ coordinatesIndex: number;
+ coordinatesMode: number;
+ wrapU: number;
+ wrapV: number;
+ uScale: number;
+ vScale: number;
+ anisotropicFilteringLevel: number;
+ _cachedAnisotropicFilteringLevel: number;
+ private _scene;
+ _texture: WebGLTexture;
+ constructor(scene: Scene);
+ getScene(): Scene;
+ getTextureMatrix(): Matrix;
+ getReflectionTextureMatrix(): Matrix;
+ getInternalTexture(): WebGLTexture;
+ isReady(): boolean;
+ getSize(): ISize;
+ getBaseSize(): ISize;
+ scale(ratio: number): void;
+ canRescale: boolean;
+ _removeFromCache(url: string, noMipmap: boolean): void;
+ _getFromCache(url: string, noMipmap: boolean, sampling?: number): WebGLTexture;
+ delayLoad(): void;
+ releaseInternalTexture(): void;
+ clone(): BaseTexture;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class CubeTexture extends BaseTexture {
+ url: string;
+ coordinatesMode: number;
+ private _noMipmap;
+ private _extensions;
+ private _textureMatrix;
+ constructor(rootUrl: string, scene: Scene, extensions?: string[], noMipmap?: boolean);
+ clone(): CubeTexture;
+ delayLoad(): void;
+ getReflectionTextureMatrix(): Matrix;
+ }
+}
+
+declare module BABYLON {
+ class DynamicTexture extends Texture {
+ private _generateMipMaps;
+ private _canvas;
+ private _context;
+ constructor(name: string, options: any, scene: Scene, generateMipMaps: boolean, samplingMode?: number);
+ canRescale: boolean;
+ scale(ratio: number): void;
+ getContext(): CanvasRenderingContext2D;
+ clear(): void;
+ update(invertY?: boolean): void;
+ drawText(text: string, x: number, y: number, font: string, color: string, clearColor: string, invertY?: boolean, update?: boolean): void;
+ clone(): DynamicTexture;
+ }
+}
+
+declare module BABYLON {
+ class MirrorTexture extends RenderTargetTexture {
+ mirrorPlane: Plane;
+ private _transformMatrix;
+ private _mirrorMatrix;
+ private _savedViewMatrix;
+ constructor(name: string, size: number, scene: Scene, generateMipMaps?: boolean);
+ clone(): MirrorTexture;
+ }
+}
+
+declare module BABYLON {
+ class RawTexture extends Texture {
+ format: number;
+ constructor(data: ArrayBufferView, width: number, height: number, format: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number);
+ update(data: ArrayBufferView): void;
+ static CreateLuminanceTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
+ static CreateLuminanceAlphaTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
+ static CreateAlphaTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
+ static CreateRGBTexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
+ static CreateRGBATexture(data: ArrayBufferView, width: number, height: number, scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number): RawTexture;
+ }
+}
+
+declare module BABYLON {
+ class RenderTargetTexture extends Texture {
+ renderList: AbstractMesh[];
+ renderParticles: boolean;
+ renderSprites: boolean;
+ coordinatesMode: number;
+ onBeforeRender: () => void;
+ onAfterRender: () => void;
+ onAfterUnbind: () => void;
+ onClear: (engine: Engine) => void;
+ activeCamera: Camera;
+ customRenderFunction: (opaqueSubMeshes: SmartArray, transparentSubMeshes: SmartArray, alphaTestSubMeshes: SmartArray, beforeTransparents?: () => void) => void;
+ private _size;
+ _generateMipMaps: boolean;
+ private _renderingManager;
+ _waitingRenderList: string[];
+ private _doNotChangeAspectRatio;
+ private _currentRefreshId;
+ private _refreshRate;
+ constructor(name: string, size: any, scene: Scene, generateMipMaps?: boolean, doNotChangeAspectRatio?: boolean, type?: number);
+ resetRefreshCounter(): void;
+ refreshRate: number;
+ _shouldRender(): boolean;
+ isReady(): boolean;
+ getRenderSize(): number;
+ canRescale: boolean;
+ scale(ratio: number): void;
+ resize(size: any, generateMipMaps?: boolean): void;
+ render(useCameraPostProcess?: boolean, dumpForDebug?: boolean): void;
+ clone(): RenderTargetTexture;
+ }
+}
+
+declare module BABYLON {
+ class Texture extends BaseTexture {
+ static NEAREST_SAMPLINGMODE: number;
+ static BILINEAR_SAMPLINGMODE: number;
+ static TRILINEAR_SAMPLINGMODE: number;
+ static EXPLICIT_MODE: number;
+ static SPHERICAL_MODE: number;
+ static PLANAR_MODE: number;
+ static CUBIC_MODE: number;
+ static PROJECTION_MODE: number;
+ static SKYBOX_MODE: number;
+ static CLAMP_ADDRESSMODE: number;
+ static WRAP_ADDRESSMODE: number;
+ static MIRROR_ADDRESSMODE: number;
+ url: string;
+ uOffset: number;
+ vOffset: number;
+ uScale: number;
+ vScale: number;
+ uAng: number;
+ vAng: number;
+ wAng: number;
+ private _noMipmap;
+ _invertY: boolean;
+ private _rowGenerationMatrix;
+ private _cachedTextureMatrix;
+ private _projectionModeMatrix;
+ private _t0;
+ private _t1;
+ private _t2;
+ private _cachedUOffset;
+ private _cachedVOffset;
+ private _cachedUScale;
+ private _cachedVScale;
+ private _cachedUAng;
+ private _cachedVAng;
+ private _cachedWAng;
+ private _cachedCoordinatesMode;
+ _samplingMode: number;
+ private _buffer;
+ private _deleteBuffer;
+ constructor(url: string, scene: Scene, noMipmap?: boolean, invertY?: boolean, samplingMode?: number, onLoad?: () => void, onError?: () => void, buffer?: any, deleteBuffer?: boolean);
+ delayLoad(): void;
+ updateSamplingMode(samplingMode: number): void;
+ private _prepareRowForTextureGeneration(x, y, z, t);
+ getTextureMatrix(): Matrix;
+ getReflectionTextureMatrix(): Matrix;
+ clone(): Texture;
+ static CreateFromBase64String(data: string, name: string, scene: Scene, noMipmap?: boolean, invertY?: boolean, samplingMode?: number, onLoad?: () => void, onError?: () => void): Texture;
+ }
+}
+
+declare module BABYLON {
+ class VideoTexture extends Texture {
+ video: HTMLVideoElement;
+ private _autoLaunch;
+ private _lastUpdate;
+ constructor(name: string, urls: string[], scene: Scene, generateMipMaps?: boolean, invertY?: boolean, samplingMode?: number);
+ update(): boolean;
+ }
+}
+
+declare module BABYLON {
+ class CannonJSPlugin implements IPhysicsEnginePlugin {
+ checkWithEpsilon: (value: number) => number;
+ private _world;
+ private _registeredMeshes;
+ private _physicsMaterials;
+ initialize(iterations?: number): void;
+ private _checkWithEpsilon(value);
+ runOneStep(delta: number): void;
+ setGravity(gravity: Vector3): void;
+ registerMesh(mesh: AbstractMesh, impostor: number, options?: PhysicsBodyCreationOptions): any;
+ private _createSphere(radius, mesh, options?);
+ private _createBox(x, y, z, mesh, options?);
+ private _createPlane(mesh, options?);
+ private _createConvexPolyhedron(rawVerts, rawFaces, mesh, options?);
+ private _addMaterial(friction, restitution);
+ private _createRigidBodyFromShape(shape, mesh, mass, friction, restitution);
+ registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
+ private _unbindBody(body);
+ unregisterMesh(mesh: AbstractMesh): void;
+ applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
+ updateBodyPosition: (mesh: AbstractMesh) => void;
+ createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3): boolean;
+ dispose(): void;
+ isSupported(): boolean;
+ }
+}
+
+declare module BABYLON {
+ class OimoJSPlugin implements IPhysicsEnginePlugin {
+ private _world;
+ private _registeredMeshes;
+ private _checkWithEpsilon(value);
+ initialize(iterations?: number): void;
+ setGravity(gravity: Vector3): void;
+ registerMesh(mesh: AbstractMesh, impostor: number, options: PhysicsBodyCreationOptions): any;
+ registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
+ private _createBodyAsCompound(part, options, initialMesh);
+ unregisterMesh(mesh: AbstractMesh): void;
+ private _unbindBody(body);
+ /**
+ * Update the body position according to the mesh position
+ * @param mesh
+ */
+ updateBodyPosition: (mesh: AbstractMesh) => void;
+ applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
+ createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3, options?: any): boolean;
+ dispose(): void;
+ isSupported(): boolean;
+ private _getLastShape(body);
+ runOneStep(time: number): void;
+ }
+}
+
+declare module BABYLON {
+ class PostProcessRenderEffect {
+ private _engine;
+ private _postProcesses;
+ private _getPostProcess;
+ private _singleInstance;
+ private _cameras;
+ private _indicesForCamera;
+ private _renderPasses;
+ private _renderEffectAsPasses;
+ _name: string;
+ applyParameters: (postProcess: PostProcess) => void;
+ constructor(engine: Engine, name: string, getPostProcess: () => PostProcess, singleInstance?: boolean);
+ _update(): void;
+ addPass(renderPass: PostProcessRenderPass): void;
+ removePass(renderPass: PostProcessRenderPass): void;
+ addRenderEffectAsPass(renderEffect: PostProcessRenderEffect): void;
+ getPass(passName: string): void;
+ emptyPasses(): void;
+ _attachCameras(cameras: Camera): any;
+ _attachCameras(cameras: Camera[]): any;
+ _detachCameras(cameras: Camera): any;
+ _detachCameras(cameras: Camera[]): any;
+ _enable(cameras: Camera): any;
+ _enable(cameras: Camera[]): any;
+ _disable(cameras: Camera): any;
+ _disable(cameras: Camera[]): any;
+ getPostProcess(camera?: Camera): PostProcess;
+ private _linkParameters();
+ private _linkTextures(effect);
+ }
+}
+
+declare module BABYLON {
+ class PostProcessRenderPass {
+ private _enabled;
+ private _renderList;
+ private _renderTexture;
+ private _scene;
+ private _refCount;
+ _name: string;
+ constructor(scene: Scene, name: string, size: number, renderList: Mesh[], beforeRender: () => void, afterRender: () => void);
+ _incRefCount(): number;
+ _decRefCount(): number;
+ _update(): void;
+ setRenderList(renderList: Mesh[]): void;
+ getRenderTexture(): RenderTargetTexture;
+ }
+}
+
+declare module BABYLON {
+ class PostProcessRenderPipeline {
+ private _engine;
+ private _renderEffects;
+ private _renderEffectsForIsolatedPass;
+ private _cameras;
+ _name: string;
+ private static PASS_EFFECT_NAME;
+ private static PASS_SAMPLER_NAME;
+ constructor(engine: Engine, name: string);
+ addEffect(renderEffect: PostProcessRenderEffect): void;
+ _enableEffect(renderEffectName: string, cameras: Camera): any;
+ _enableEffect(renderEffectName: string, cameras: Camera[]): any;
+ _disableEffect(renderEffectName: string, cameras: Camera): any;
+ _disableEffect(renderEffectName: string, cameras: Camera[]): any;
+ _attachCameras(cameras: Camera, unique: boolean): any;
+ _attachCameras(cameras: Camera[], unique: boolean): any;
+ _detachCameras(cameras: Camera): any;
+ _detachCameras(cameras: Camera[]): any;
+ _enableDisplayOnlyPass(passName: any, cameras: Camera): any;
+ _enableDisplayOnlyPass(passName: any, cameras: Camera[]): any;
+ _disableDisplayOnlyPass(cameras: Camera): any;
+ _disableDisplayOnlyPass(cameras: Camera[]): any;
+ _update(): void;
+ }
+}
+
+declare module BABYLON {
+ class PostProcessRenderPipelineManager {
+ private _renderPipelines;
+ constructor();
+ addPipeline(renderPipeline: PostProcessRenderPipeline): void;
+ attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera, unique?: boolean): any;
+ attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera[], unique?: boolean): any;
+ detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera): any;
+ detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera[]): any;
+ enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera): any;
+ enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[]): any;
+ disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera): any;
+ disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[]): any;
+ enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera): any;
+ enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera[]): any;
+ disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera): any;
+ disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera[]): any;
+ update(): void;
+ }
+}
+
+declare module BABYLON {
+ class CustomProceduralTexture extends ProceduralTexture {
+ private _animate;
+ private _time;
+ private _config;
+ private _texturePath;
+ constructor(name: string, texturePath: any, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ private loadJson(jsonUrl);
+ isReady(): boolean;
+ render(useCameraPostProcess?: boolean): void;
+ updateTextures(): void;
+ updateShaderUniforms(): void;
+ animate: boolean;
+ }
+}
+
+declare module BABYLON {
+ class ProceduralTexture extends Texture {
+ private _size;
+ _generateMipMaps: boolean;
+ isEnabled: boolean;
+ private _doNotChangeAspectRatio;
+ private _currentRefreshId;
+ private _refreshRate;
+ private _vertexBuffer;
+ private _indexBuffer;
+ private _effect;
+ private _vertexDeclaration;
+ private _vertexStrideSize;
+ private _uniforms;
+ private _samplers;
+ private _fragment;
+ _textures: Texture[];
+ private _floats;
+ private _floatsArrays;
+ private _colors3;
+ private _colors4;
+ private _vectors2;
+ private _vectors3;
+ private _matrices;
+ private _fallbackTexture;
+ private _fallbackTextureUsed;
+ constructor(name: string, size: any, fragment: any, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ reset(): void;
+ isReady(): boolean;
+ resetRefreshCounter(): void;
+ setFragment(fragment: any): void;
+ refreshRate: number;
+ _shouldRender(): boolean;
+ getRenderSize(): number;
+ resize(size: any, generateMipMaps: any): void;
+ private _checkUniform(uniformName);
+ setTexture(name: string, texture: Texture): ProceduralTexture;
+ setFloat(name: string, value: number): ProceduralTexture;
+ setFloats(name: string, value: number[]): ProceduralTexture;
+ setColor3(name: string, value: Color3): ProceduralTexture;
+ setColor4(name: string, value: Color4): ProceduralTexture;
+ setVector2(name: string, value: Vector2): ProceduralTexture;
+ setVector3(name: string, value: Vector3): ProceduralTexture;
+ setMatrix(name: string, value: Matrix): ProceduralTexture;
+ render(useCameraPostProcess?: boolean): void;
+ clone(): ProceduralTexture;
+ dispose(): void;
+ }
+}
+
+declare module BABYLON {
+ class WoodProceduralTexture extends ProceduralTexture {
+ private _ampScale;
+ private _woodColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ ampScale: number;
+ woodColor: Color3;
+ }
+ class FireProceduralTexture extends ProceduralTexture {
+ private _time;
+ private _speed;
+ private _autoGenerateTime;
+ private _fireColors;
+ private _alphaThreshold;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ render(useCameraPostProcess?: boolean): void;
+ static PurpleFireColors: Color3[];
+ static GreenFireColors: Color3[];
+ static RedFireColors: Color3[];
+ static BlueFireColors: Color3[];
+ fireColors: Color3[];
+ time: number;
+ speed: Vector2;
+ alphaThreshold: number;
+ }
+ class CloudProceduralTexture extends ProceduralTexture {
+ private _skyColor;
+ private _cloudColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ skyColor: Color4;
+ cloudColor: Color4;
+ }
+ class GrassProceduralTexture extends ProceduralTexture {
+ private _grassColors;
+ private _herb1;
+ private _herb2;
+ private _herb3;
+ private _groundColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ grassColors: Color3[];
+ groundColor: Color3;
+ }
+ class RoadProceduralTexture extends ProceduralTexture {
+ private _roadColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ roadColor: Color3;
+ }
+ class BrickProceduralTexture extends ProceduralTexture {
+ private _numberOfBricksHeight;
+ private _numberOfBricksWidth;
+ private _jointColor;
+ private _brickColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ numberOfBricksHeight: number;
+ numberOfBricksWidth: number;
+ jointColor: Color3;
+ brickColor: Color3;
+ }
+ class MarbleProceduralTexture extends ProceduralTexture {
+ private _numberOfTilesHeight;
+ private _numberOfTilesWidth;
+ private _amplitude;
+ private _marbleColor;
+ private _jointColor;
+ constructor(name: string, size: number, scene: Scene, fallbackTexture?: Texture, generateMipMaps?: boolean);
+ updateShaderUniforms(): void;
+ numberOfTilesHeight: number;
+ numberOfTilesWidth: number;
+ jointColor: Color3;
+ marbleColor: Color3;
+ }
+}
diff --git a/backbone-relational/backbone-relational.d.ts b/backbone-relational/backbone-relational.d.ts
index 4f4aa45cc..af8e4e31f 100644
--- a/backbone-relational/backbone-relational.d.ts
+++ b/backbone-relational/backbone-relational.d.ts
@@ -35,15 +35,15 @@ declare module Backbone {
toJSON():any;
- setup();
+ static setup();
- build(attributes:any, options?:any);
+ static build(attributes:any, options?:any);
- findOrCreate(attributes:string, options?:any);
+ static findOrCreate(attributes:string, options?:any);
- findOrCreate(attributes:number, options?:any);
+ static findOrCreate(attributes:number, options?:any);
- findOrCreate(attributes:any, options?:any);
+ static findOrCreate(attributes:any, options?:any);
}
export class Relation extends Model {
@@ -147,13 +147,13 @@ declare module Backbone {
resolveIdForItem(type:any, item:any):any;
- find(type:any, item:string):RelationalModel;
+ static find(type:any, item:string):RelationalModel;
- find(type:any, item:number):RelationalModel;
+ static find(type:any, item:number):RelationalModel;
- find(type:any, item:RelationalModel):RelationalModel;
+ static find(type:any, item:RelationalModel):RelationalModel;
- find(type:any, item:any):RelationalModel;
+ static find(type:any, item:any):RelationalModel;
register(model:RelationalModel):void;
@@ -169,3 +169,4 @@ declare module Backbone {
}
}
+
diff --git a/backbone.localstorage/backbone.localstorage-tests.ts b/backbone.localstorage/backbone.localstorage-tests.ts
new file mode 100644
index 000000000..0d44897a8
--- /dev/null
+++ b/backbone.localstorage/backbone.localstorage-tests.ts
@@ -0,0 +1,6 @@
+///
+
+var store: Store = new Store('testStore');
+store.findAll();
+
+store.save();
diff --git a/backbone.localstorage/backbone.localstorage.d.ts b/backbone.localstorage/backbone.localstorage.d.ts
new file mode 100644
index 000000000..122c47587
--- /dev/null
+++ b/backbone.localstorage/backbone.localstorage.d.ts
@@ -0,0 +1,51 @@
+// Type definitions for backbone.localStorage 1.0.0
+// Project: https://github.com/jeromegn/Backbone.localStorage
+// Definitions by: Louis Grignon
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module Backbone {
+ interface Serializer {
+ serialize(item: any): any;
+ deserialize(data: any): any;
+ }
+
+ class LocalStorage {
+ name: string;
+ serializer: Serializer;
+ records: string[];
+
+ constructor(name: string, serializer?: Serializer);
+
+ save(): void;
+
+ // Add a model, giving it a (hopefully)-unique GUID, if it doesn't already
+ // have an id of it's own.
+ create(model: any): any;
+
+ // Update a model by replacing its copy in `this.data`.
+ update(model: any): any;
+
+ // Retrieve a model from `this.data` by id.
+ find(model: any): any;
+
+ // Return the array of all models currently in storage.
+ findAll(): any;
+
+ // Delete a model from `this.data`, returning it.
+ destroy(model: T): T;
+
+ localStorage(): any;
+
+ // Clear localStorage for specific collection.
+ _clear(): void;
+
+ _storageSize(): number;
+
+ _itemName(id: any): string;
+ }
+}
+
+import Store = Backbone.LocalStorage;
+
diff --git a/backbone/backbone-global.d.ts b/backbone/backbone-global.d.ts
index 764aa83d7..c16e1a59e 100644
--- a/backbone/backbone-global.d.ts
+++ b/backbone/backbone-global.d.ts
@@ -43,6 +43,7 @@ declare module Backbone {
interface PersistenceOptions {
url?: string;
+ data?: any;
beforeSend?: (jqxhr: JQueryXHR) => void;
success?: (modelOrCollection?: any, response?: any, options?: any) => void;
error?: (modelOrCollection?: any, jqxhr?: JQueryXHR, options?: any) => void;
diff --git a/bcrypt-nodejs/bcrypt-nodejs-tests.ts b/bcrypt-nodejs/bcrypt-nodejs-tests.ts
new file mode 100644
index 000000000..2a151c1c7
--- /dev/null
+++ b/bcrypt-nodejs/bcrypt-nodejs-tests.ts
@@ -0,0 +1,30 @@
+///
+
+import bCrypt = require("bcrypt-nodejs");
+
+function test_sync() {
+ var salt1 = bCrypt.genSaltSync();
+ var salt2 = bCrypt.genSaltSync(8);
+
+ var hash1 = bCrypt.hashSync('super secret');
+ var hash2 = bCrypt.hashSync('super secret', salt1);
+
+ var compare1 = bCrypt.compareSync('super secret', hash1);
+
+ var rounds1 = bCrypt.getRounds(hash2);
+}
+
+function test_async() {
+ var cbString = (error: Error, result: string) => {};
+ var cbVoid = () => {};
+ var cbBoolean = (error: Error, result: boolean) => {};
+
+ bCrypt.genSalt(8, cbString);
+
+ var salt = bCrypt.genSaltSync();
+ bCrypt.hash('super secret', salt, cbString);
+ bCrypt.hash('super secret', salt, cbVoid, cbString);
+
+ var hash = bCrypt.hashSync('super secret');
+ bCrypt.compare('super secret', hash, cbBoolean);
+}
\ No newline at end of file
diff --git a/bcrypt-nodejs/bcrypt-nodejs.d.ts b/bcrypt-nodejs/bcrypt-nodejs.d.ts
new file mode 100644
index 000000000..32b735d68
--- /dev/null
+++ b/bcrypt-nodejs/bcrypt-nodejs.d.ts
@@ -0,0 +1,68 @@
+// Type definitions for bcrypt-nodejs
+// Project: https://github.com/shaneGirish/bcrypt-nodejs
+// Definitions by: David Broder-Rodgers
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "bcrypt-nodejs" {
+ /**
+ * Generate a salt synchronously
+ * @param rounds Number of rounds to process the data for (default - 10)
+ * @return Generated salt
+ */
+ export function genSaltSync(rounds?: number): string;
+
+ /**
+ * Generate a salt asynchronously
+ * @param rounds Number of rounds to process the data for (default - 10)
+ * @param callback Callback with error and resulting salt, to be fired once the salt has been generated
+ */
+ export function genSalt(rounds: number, callback: (error: Error, result: string) => void): void;
+
+ /**
+ * Generate a hash synchronously
+ * @param data Data to be encrypted
+ * @param salt Salt to be used in encryption (default - new salt generated with 10 rounds)
+ * @return Generated hash
+ */
+ export function hashSync(data: string, salt?: string): string;
+
+ /**
+ * Generate a hash asynchronously
+ * @param data Data to be encrypted
+ * @param salt Salt to be used in encryption
+ * @param callback Callback with error and hashed result, to be fired once the data has been encrypted
+ */
+ export function hash(data: string, salt: string, callback: (error: Error, result: string) => void): void;
+
+ /**
+ * Generate a hash asynchronously
+ * @param data Data to be encrypted
+ * @param salt Salt to be used in encryption
+ * @param progressCallback Callback to be fired multiple times during the hash calculation to signify progress
+ * @param callback Callback with error and hashed result, to be fired once the data has been encrypted
+ */
+ export function hash(data: string, salt: string, progressCallback: () => void, callback: (error: Error, result: string) => void): void;
+
+ /**
+ * Compares data with a hash synchronously
+ * @param data Data to be compared
+ * @param hash Hash to be compared to
+ * @return true if matching, false otherwise
+ */
+ export function compareSync(data: string, hash: string): boolean;
+
+ /**
+ * Compares data with a hash asynchronously
+ * @param data Data to be compared
+ * @param hash Hash to be compared to
+ * @param callback Callback with error and match result, to be fired once the data has been compared
+ */
+ export function compare(data: string, hash: string, callback: (error: Error, result: boolean) => void): void;
+
+ /**
+ * Get number of rounds used for hash
+ * @param hash Hash from which the number of rounds used should be extracted
+ * @return number of rounds used to encrypt a given hash
+ */
+ export function getRounds(hash: string): number;
+}
diff --git a/bezier-easing/bezier-easing-tests.ts b/bezier-easing/bezier-easing-tests.ts
new file mode 100644
index 000000000..eab1fb4f1
--- /dev/null
+++ b/bezier-easing/bezier-easing-tests.ts
@@ -0,0 +1,21 @@
+///
+
+function test_create_from_array() {
+ let easing: BezierEasing = BezierEasing([0, 0, 1, 0.5]);
+}
+
+function test_create_from_params() {
+ let easing: BezierEasing = BezierEasing(0, 0, 1, 0.5);
+}
+
+function test_create_from_builtins() {
+ let easing: BezierEasing = BezierEasing.css['ease-in'];
+}
+
+function test_methods() {
+ let easing: BezierEasing = BezierEasing.css['ease-in'];
+ let easedRatio: number = easing.get(0.5);
+ let points: Array = easing.getPoints();
+ let stringified: string = easing.toString();
+ let asCSS: string = easing.toCSS();
+}
diff --git a/bezier-easing/bezier-easing.d.ts b/bezier-easing/bezier-easing.d.ts
new file mode 100644
index 000000000..695368e7a
--- /dev/null
+++ b/bezier-easing/bezier-easing.d.ts
@@ -0,0 +1,24 @@
+// Type definitions for bezier-easing
+// Project: https://github.com/gre/bezier-easing
+// Definitions by: brian ridley
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare interface BezierEasing {
+ get(ratio: number): number;
+ getPoints(): Array;
+ toString(): string;
+ toCSS(): string;
+}
+
+declare function BezierEasing(points: Array): BezierEasing;
+declare function BezierEasing(a: number, b: number, c: number, d: number): BezierEasing;
+
+declare namespace BezierEasing {
+ let css: {
+ 'ease': BezierEasing,
+ 'linear': BezierEasing,
+ 'ease-in': BezierEasing,
+ 'ease-out': BezierEasing,
+ 'ease-in-out': BezierEasing
+ };
+}
diff --git a/bluebird/bluebird-tests.ts b/bluebird/bluebird-tests.ts
index bd4f46fc4..b1829c52e 100644
--- a/bluebird/bluebird-tests.ts
+++ b/bluebird/bluebird-tests.ts
@@ -85,15 +85,15 @@ var bazProm: Promise;
// - - - - - - - - - - - - - - - - -
-var numThen: Promise.Thenable;
-var strThen: Promise.Thenable;
-var anyThen: Promise.Thenable;
-var boolThen: Promise.Thenable;
-var objThen: Promise.Thenable