Skip to content
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

Why does this library need to depend on AntTweakBar? #22

Open
psigen opened this issue Nov 27, 2015 · 7 comments
Open

Why does this library need to depend on AntTweakBar? #22

psigen opened this issue Nov 27, 2015 · 7 comments

Comments

@psigen
Copy link

psigen commented Nov 27, 2015

It seems like an uncommon library, and I have to build it from source on most of my platforms, which is fairly inconvenient.

Is this dependency just so for adding simple GUI elements to some of the examples? It's only used in a handful of places in the source. It seems like this would make more sense as a separate dependent package. Or there are a number of pure JS libraries for configuration GUIs.

@mikeseven
Copy link
Owner

When I did the binding, years ago, it was very useful to have a little GUI for demo purpose, a bit like having a browser ui. But I didn't want to make a compositor to the level of a browser! AntTweakBar is a simple lightweight and fast library for that.

I just checked on linux again and pushed fixes. I also realized that library isn'taintained anymore, even though lots of projects use it. But worse are libraries like glfw3 whose pkg-config is missing or screwed.

Instead of requiring people to install these dependencies, I could maintain them on github clones and thus build node bindings automatically if not already present in the system. I think this might be the best way to ensure an easy install experience and to maintain cross-platform features.

Any thoughts?

--mike

On Fri, Nov 27, 2015 at 1:11 PM -0800, "Pras Velagapudi" <[email protected]mailto:[email protected]> wrote:

It seems like an uncommon library, and I have to build it from source on most of my platforms, which is fairly inconvenient.

Is this dependency just so for adding simple GUI elements to some of the examples? It's only used in a handful of places in the source. It seems like this would make more sense as a separate dependent package. Or there are a number of pure JS libraries for configuration GUIs.

Reply to this email directly or view it on GitHubhttps://github.com//issues/22.

@psigen
Copy link
Author

psigen commented Dec 1, 2015

Thanks for the response. It seems like two options might be useful in this case:

  1. Can you use a pure JS library to do this? Since you've already implemented a WebGL interface (node-webgl), it seems like there might be some Three.JS or similar libraries that would get what you need.

  2. Can you package AntTweakBar separately as a dependent node-anttweakbar? It sounds like you originally needed it for your demos, so your demos could depend on both node-glfw and node-anttweakbar, while most other users can simply depend on node-glfw. I think this is similar to how node-webgl is set up right now. I think it should be possible to get the node-gyp build to compile against the libraries used in node-glfw, if they are exported appropriately.

@mikeseven
Copy link
Owner

These are good suggestions, thanks.
Indeed, I tried node-anttweakbar but dependencies on the rendering loop with glfw makes it not possible and indeed it might be better to reimplement it in pure js on top of node-webgl.

The difficulty with a pure webgl implementation is that AntTweakBar was written for desktop GL not GL ES. That would be a project perfect for an internship. Anybody interested?

--mike

On Tue, Dec 1, 2015 at 8:33 AM -0800, "Pras Velagapudi" <[email protected]mailto:[email protected]> wrote:

Thanks for the response. It seems like two options might be useful in this case:

  1. Can you use a pure JS library to do this? Since you've already implemented a WebGL interface (node-webgl), it seems like there might be some Three.JS or similar libraries that would get what you need.

  2. Can you package AntTweakBar separately as a dependent node-anttweakbar? It sounds like you originally needed it for your demos, so your demos could depend on both node-glfw and node-anttweakbar, while most other users can simple depend on node-glfw. I think this is similar to how node-webgl is set up right now.

Reply to this email directly or view it on GitHubhttps://github.com//issues/22#issuecomment-161023415.

@peoro
Copy link

peoro commented Jul 10, 2016

I'd like to try node-webgl, but don't feel like manually installing AntTweakBar: that would make my project very hard to redistribute, and anyways I don't feel like installing software not tracked by the package manager.

Would you accept a patch that reimplements the AntTweakBar functions you're using in the node-glfw source code? I might try and quickly do that (by copying and pasting some code, adapting what needed) if you're interested.

@mikeseven
Copy link
Owner

That would be awesome.

-- mike

On Sat, Jul 9, 2016 at 7:42 PM -0700, "peoronoob" <[email protected]mailto:[email protected]> wrote:

I'd like to try node-webgl, but don't feel like manually installing AntTweakBar: that would make my project very hard to redistribute, and anyways I don't feel like installing software not tracked by the package manager.

Would you accept a patch that reimplements the AntTweakBar functions you're using in the node-glfw source code? I might try and quickly do that (by copying and pasting some code, adapting what needed) if you're interested.

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/22#issuecomment-231567425, or mute the threadhttps://github.com/notifications/unsubscribe/AAxYLNQBKulepVJ9mWVHWaF5r4s2k1kGks5qUFwLgaJpZM4GqsPB.

@peoro
Copy link

peoro commented Jul 13, 2016

I thought ATB was just used to translate some events or something (function names like TwEventKeyGLFW and the scarcity of documentation fooled me), while node-glfw actually uses ATB to its full extents.

I'm not interested in supporting ATB and I think it shouldn't belong to this repository.

If you're interested in ever dropping ATB you can use peoro@703fb25

In the meanwhile, for whoever wants to use node-webgl but doesn't want to deal with ATB: you can use my fork of node-glfw, which should also allow you to install node-webgl.

npm install 'git://github.com/peoronoob/node-glfw' && npm install node-webgl

@psigen
Copy link
Author

psigen commented Jul 13, 2016

Thanks @peoronoob! I'll check your branch out.

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

No branches or pull requests

3 participants