BabylonChat : my tribute to the BabylonJS GUI!

Hello everyone ! :slight_smile:

I have been working on this project for a few weeks already. Today I’m happy to release the BabylonChat 1.0.0 … 100% Based on the BabylonJS GUI ! :smiley:

:arrow_right: Babylon Chat :arrow_left:

I would have a lot to say about it, and also I expect a lot of questions / suggestions, but here is a first overview of what it is :


  • A few years ago I released the Blender Tchat Addon (link) which is a Python Addon for Blender, which create an OpenGL based UI on top of viewport, for online tchating, asset, material, meshes exchange, etc, etc…
  • It was free by default, and also I had setup a “pro” subscription which unlocks some limitations on the file sharing (I cannot afford big file share myself, even if I would love to ! )
  • Then a few months later I released the same addon for Houdini, which is based on the same OpenGL UI, and also connected to the same server. Abling the users to Drag&Drop procedural Node patterns from a room to another
  • The server is also 100% homemade, based on NodeJS, using AWS DynamoDB for database, AWS S3 for file hosting.
  • It’s using a custom version of HTTPS Long Pooling, a nice trick for doing push notifications based on HTTP GET requests, that I discovered thanks to Telegram Messenger, which uses it as well.

NOW : This project is a 3rd version of the Client Interface, this time 100% based on the BabylonJS GUI ! Still connected to the same server, so you can chat between Blender, Houdini, and this BJS web interface.


Here are a few features I worked on for this project : (Sorry the mouse doesn’t appear on the record)


Grid based layout for icons, with dynamic search :
flags


Dynamic hovering and controls tooltips :
tootips


Unicode Based Emoji implementation :
emojis


And a few other stuffs that I’ll be happy to let you discover (toasts, etc…)


Working on this project I struggled with some bugs on the BabylonJS GUI, that I’m about to report, as I discussed with @RaananW already.


TODO : (to be released in the next days)

  • ( :heavy_check_mark: ) Fix some textWrapping issues
  • ( :heavy_check_mark: ) Rebuild on resize
  • Picture crop, resize & edit for profile pic. NB: Please upload squared images for Profile Pic, not too large (max 300 px). Auto resize is not done yet
  • Update profile picture from Github or BabylonForum user link
  • User params (colors, sounds, etc)
  • Display images, gifs, video within the chat
  • Clickable links from the chat
  • Drag & Drop files directly in the chat window
  • Emoji reactions attached to messages
  • Any ideas or suggestions I’ll be given later on…

Ok, that’s it, I hope you will love it, I hope it won’t crash too fast as well :grin:

Don’t hesitate to give it a try, see you soon in the chat ! :smiley:
++
Tricotou

16 Likes

Congratulations on the launch! I’ll try this out. It looks great.

3 Likes

Seems to work ! :grin:

crazy shit! Love it

1 Like

Holy (insert whatever you think here)! This is beautiful! :slight_smile:

Well done :slight_smile: Now I can’t wait to see the list of issues :wink:

1 Like

Ahah :grin: same ! On my side already I have done some stress testing such as add friend → decline invite → add again → accept → remove friend → add → accept → remove → add → decline, etc, etc… Same on editing a message. deleting. New message. Delete. Change room while editing… This kind of shit :joy:

Like @PatrickRyan said in the code generator topic : “never assume user intent”. So I’m waiting for whatever stuff I didn’t think about :grin:

3 Likes

7 Likes

The textWrapping has been fixed :heavy_check_mark:
Welcome @onekit and @RavenARound :slight_smile:

3 Likes

Any chance this is open source? I’d love to add it to awesome-babylonjs.

So cool! Would be great if we could just login with github