New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fohlen/node experimental #291

Closed
wants to merge 44 commits into
base: master
from

Conversation

Projects
None yet
6 participants
@Fohlen
Copy link
Member

Fohlen commented Mar 4, 2016

This brings a new, from scratch written webserver to Inexor.

Why, has there been anything wrong with the current one?

Well, partly. koraa did a good job, but the obscure level of abstraction is simply not what we need currently and was a huge obstacle at this point of the development, rather than an improvement.

What does it do?

See the readme.md. I've transcoded the old CoffeeScript library, so it is now statically usable with JavaScript (runs nicely).

@aschaeffer has added a nice example using AngularJS and jq-console to replace the current CubeScript GUI.
It comes along with a RESTfull web service and uses RPC/IPC to interact with Inexor.
Everything is working and comes auto-installable, just run npm install

What's the plans for Inexor? What do we have in mind?

Since the REST server offers us capabilities for versioned API routing, the plan is as following

  • Add support for that stuff in 0.6 release
  • Migrate the standard-output to jq-console for 0.6 release
  • Drop and replace any GUI written in CubeScript for 0.7
  • Integrate and add an extended REST using karo/treegen and the Tree-API for 0.7
  • Start moving everything away from CubeScript and ban it finally in 0.8, 0.9 or 1.0

So much stuff. In what order should we merge everything?

Since we've added a lot of things, they will probably collapse when not done in the right way.
So, what's the idea for 0.6? Where can you help? What needs to be done?

Anything else we should consider?

Yes. We've noted some stuff down in the following pads

koraa and others added some commits Dec 20, 2015

Fix min/max with Observables
Since we no longer pull std::min/max into the global
namespace and use a function alias instead it would not
resolve the overloads for observables either.
Fix key being printed in chat
In the startup procedure of the engine SDL_StartTextInput() was called.
That enabled the SDL_TEXTINPUT events that are needed to type text in
chat. The problem with that is that SDL_TEXTINPUT events are not needed
unless one types text, which is the case right at the beginning.

Fixes #279
Renamed the platform_windows submodule to platform
(It really is for multiple targets)
Make 64bit default and set X32 if on 32 bits
Also always prints a message when a default arch is used.
Get rid entirely of the OSX config
There is no support for osx in the moment, because we lack
someone to do this.
When OSX will be readded, the configuration should be set
based on the gcc/clang configs.
@Croydon

This comment has been minimized.

Copy link
Member

Croydon commented on tool/travis.sh in 9e5880b Dec 21, 2015

Why did you change that at all?

This comment has been minimized.

Copy link
Contributor

koraa replied Dec 21, 2015

Dual abi support. The packages from wily use the new abi and clang has no proper support for that yet in the wily packages. And this seems to work…

@Croydon

This comment has been minimized.

Copy link
Member

Croydon commented on e529854 Dec 21, 2015

Do we really need an own CMake folder? o.O

@Fohlen

This comment has been minimized.

Copy link
Member

Fohlen commented on e66a56e Dec 28, 2015

👍 but could you please explain why this choice has been made?

@koraa

This comment has been minimized.

Copy link
Contributor

koraa commented on 05674c7 Jan 4, 2016

Typo "ingnore".

a-teammate and others added some commits Dec 21, 2015

ao: disable ao by default, faster rotation, fix intendiation, use std…
…::array

* we disable ambient occlusion for a new map and the content creator has to opt-in to use it now.
* we fix the intendation and remove some dead code.
* std::arrays have been introduced too simplify the code.
* new faster rotation algorithm

we add a new (faster) rotation alorithm (as member function to matrix3 called rotationalign) than provided by sauer thanks to some mathematical simplifications:

http://www.iquilezles.org/www/articles/noacos/noacos.htm
ambient occlusion: fix skytextures get lit
if you specify skytexturelight 0 we wont occlude skytextures anymore
fix debugao, clamp lm diffuse color better
(it displayes ambient occlusion now correctly in red)
remaining bugs are only that some faces with normal to the bottom dont get calced correctly + weird packaging fuckups (resulting in artifacts) caused by the way sauerbraten packs its lightmaps (based on the assumptation it can clamp anything below the diffuse color, which it cant anymore)
Added, updated, sanitized and cleaned the master server.
you can now build a masterserver with our normal build system.

Fohlen and others added some commits Feb 28, 2016

First implementation of the single page application user interface
(angularjs, requirejs, bootstrap, fontawesome)
Fohlen
Fohlen
Fohlen
Fohlen
Fohlen
It's going down. Start to migrate to restify and use bower + bowcat t…
…o deliver files within the browser (requireJS might be better)
Fohlen
Fohlen
@Croydon

This comment has been minimized.

Copy link
Member

Croydon commented Mar 4, 2016

The planned release date for 0.6 is in two days. Is this stable enough to get merged that quickly?

@Fohlen

This comment has been minimized.

Copy link
Member

Fohlen commented Mar 4, 2016

CEF is not as far, but the rest is very fine.

@Fohlen Fohlen force-pushed the master branch from 5f9b023 to 732a224 Mar 5, 2016

@Fohlen Fohlen closed this Mar 5, 2016

@Fohlen Fohlen removed the org:in progress label Mar 5, 2016

@Fohlen Fohlen deleted the fohlen/node-experimental branch Mar 5, 2016

@Croydon

This comment has been minimized.

Copy link
Member

Croydon commented Mar 5, 2016

How did you make it to merge old already merged commits again? o.O

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment