The Future of Browsers & OimoJS in BJS

Hi kids! @sebavan and I have been mulling the future… of using OimoJS in BJS. We have been talking in the ES6 Announcement thread… a little off-topic, thanks to me. :slight_smile:

I wouldn’t mind moving a few posts, to this thread. Not sure I have power or knowledge of how.

Quick brief… it looks like Oimo playgrounds have been failing for Internet Explorer… for some time… likely before ES6 introduction. We have also had some problems getting Oimo setMotor() to rotate.

I, personally, am a bit worried about leaving Oimo behind… due to the long period of BJS history… when Oimo was the default physics engine. In fact, it was our FIRST physics engine. I believe there are lots of demos and projects that use Oimo, and I am reluctant to say goodbye.

The problem with IE… might be able to be fixed… if we hack-up our own version of OimoJS. I believe OimoJS is pure, clean JS… and easy to hack-on. Docs are weak or none, but when JS is easily readable at github site, learning CAN be done. Oimo.js/src at gh-pages · lo-th/Oimo.js · GitHub

Does anyone know a way… to determine when we activated Oimo, and also when we changed to CannonJS as our default physics engine? I would love to know that time-span. That might help us learn HOW MUCH backward compat and breaking-change fallout… could be expected.

RaananW and Temechon… two historical Oimo superstars… aren’t around much these days. I’m not qualified to be a physics engine custodian, but I try to help-out where I can.

I HAVE done deep-diggings into Oimo’s formulas and joints, and I loved it all the way. It is a pretty good teacher… of “How physics engines do what they do”. The clean-reading JS is one of the main reasons.

SO, let’s throw-out a hypothetical. Let’s say WE take-over Oimo dev… and then just keeping hacking on it, forever, to keep it compatible with BJS. We even think about renaming it… because it will start to wander FAR AWAY from original Oimo… yet we strive to ALWAYS keep our early Oimo demos and projects… running fine.

If it takes glue code, we write glue code. AND… we make Oimo into our “beginner-level physics engine”… and then we start teaching how to use physics engines with BJS… aggressively. (ok, ok, then between naps) :smiley:

That’s just a thought. R-OWN-OIMO, Inc. :slight_smile:

I dunno. I bet there’s 1000 Oimo scenes, right now. I made 994 of 'em. heh

Meantime, give opinions, info, thoughts, you name it.

1 Like

I personally won’t support taking over OIMO as this is a LOT of work and I’m not sure we have all the math skills :slight_smile:

babylon.js provides “drivers” on top on exisiting physics engine and that is already a lot of work (see all that @trevordev did for Ammo). We should get back to OIMO author and let him/her know that there is a bug with IE

Yeah, we wouldn’t active “dev” it… but we’d maintain a wrapper. ANYTHING to try to keep our old Oimo demos working. We COULD dev a meshImpostor for it, someday, if someone got bored.

I dunno. :slight_smile: We need more custodians. Too much workload on too few.

I hope we can save it.

Our old oimo demo should continue to work as they did ?

oimo did not change since 2 years so it is at least this time with ie issue except if we were already using a custom version.

I see Ranaan submitted a fix here: Removing duplicate multiplyScalar · lo-th/Oimo.js@6f2929d · GitHub :slight_smile:

but it has simply never been released. Let see if we could build and release this one.

1 Like

PR on oimo done, I ll use this dist file in babylon: New Build by sebavan · Pull Request #82 · lo-th/Oimo.js · GitHub

3 Likes

OIMO has kindly merged the PR and works again in PG in IE: Babylon.js Playground

Ok, thx for work, gang. https://www.babylonjs-playground.com/#1PVBTF#6

That is one of the original OimoCar demos - loads in IE - ok. Rear drive wheels still broken (expected) but front wheels steer excessively slow. (steer with left/right arrows) (possibly detach camera to see it easier).

The “wheel sagging” at scene start… is also very slow.

@sebavanthat playground you reffed is a CannonJS playground.

I adjusted it to be Oimo… https://www.babylonjs-playground.com/#BEFOO#329 … and it works fine in IE… good speeds… but no joints in that one.

Basic Oimo paddlewheel… https://playground.babylonjs.com/#5W5B6W#22 … not loading in IE.

Often, when I get a syntax error in IE, I need to remove all occurrences of =>. There were two… I removed them. After that, the Syntax Error changed to ; expected error… which I hope I didn’t add when I removed the => stuff.

Still, we have Oimo in IE progress! YAY! (Wingy dances around, spilling his peach schnapps)

It seems a bit difficult to test in IE. Playground errors don’t seem to “clear”. Often, after a PG error, I need to edit… then SAVE the PG, then close IE, then re-open IE, then paste new PG URL. Old error cleared. Erf.

Does anyone have a PG url to an ALL-NATIVE Oimo demo? (no OimoPlugin usage, no BJS PhysicsEngine usage, no BJS PhysicsImpostor usage). We might be able to learn more… with that. Perhaps @Raggar will make an all-native Oimo paddlewheel demo for us. @raggar is GOOD at native stuff.

Update: https://playground.babylonjs.com/#5W5B6W#25

Ok, Oimo paddlewheel, using @trevordev x2500 over-powered version… working in my IE (after clicking RUN a few extra times after load-in finishes).

Here’s a funny Wingnut-is-an-idiot story. I was cleaning-out the occurrences of => (that arrow thing used as an abbreviation for function)… but I was replacing them with ‘of’. ie. for (mesh OF meshes) { do }

Well guess what! My IE HATES ‘of’, too. Wingnut, inserting new errors with each old error removed. :slight_smile:

So, I needed to change those ‘of’… and the Oimo-In-IE paddle-wheel started coming to life. (yay)

I wonder if I have my IE set to some strange ‘mode’… some compatibility mode or something. hmm.

I don’t know if others will need extra clicks on RUN after the loading stops, but I needed them… so far. Still testing. Party on.

(Wingy gently shakes the forum. “Wake up!” :slight_smile: Set dark theme, control-mousewheel the forum fonts BIG… make it a high-contrast easy-read.) (Wingy hears some grumbles from those who think communities are suppose to be ‘professional’ and all-busyness, and he throws a rubber chicken at them.)

The funny thing for me is mixing “future” in the title and “IE” in the issue :slight_smile:

2 Likes

hahaha. So, tell us what ya know… about that… if ya want.

What the hell is “Edge”? Is that some kind of ‘mode’ or different browser? Know? (I guess I could read about it)

Should we set our IE to “Edge” mode or something? Where am I? Windows OS is doing my IE auto-updates.

It seems, as long as IE is packaged with Windows… it is a force to be respected, into the future. New computer users will “go with” the built-in browser… as opposed to learning how to install a different browser and setting it as their default browser.

Do you see a “battle” between old-style for-desktops browser design, and newer “ready-for-mobile” designs? For example, i completely rejected Firefox Quantum, because it looked like Chrome… tabbed browsing, hardly any pulldown choices, etc. De-powered. Size-puffed-up GUI.

I hang-out in ESR land, now, and I think many others do, as well.

Something/someone is just SHOVING “tabbed browsing” up our butts and down our throats, in my opinion. They need to be beat up, and a cease’n’desist order… issued. :slight_smile:

Mobile browsers can’t even do pulldown menus. The Safari browser in my Ipad (I’m very new to mobile devices)… is just a pile of crap. I can’t do anything with it… feels like my hands are tied.

Thoughts? Are mobiles killing the power of desk-topping? Any other thoughts? Know some insider info about the future of IE? We want to hear it/read-about it… from everyone/anyone. thx! :slight_smile:

https://developer.microsoft.com/en-us/microsoft-edge/platform/faq/

in the IE part: “The latest features and platform updates will only be available in Microsoft Edge. We will continue to deliver security updates to Internet Explorer 11 through its supported lifespan. To ensure consistent behavior across Windows versions, we will evaluate Internet Explorer 11 bugs for servicing on a case by case basis.”

Edge is the standard built in browser on Win 10.

1 Like

For me Edge and IE are less browser optimized for WebGL.

When I use eg Chrome or Opera, many scenes are at 50/60 FPS, but if I use IE or Edge, I am 10/15 FPS.

I deduce that they are crappy browsers (IE and Edge).

Installing another browser is very easy, and for the browser by default.You just have to click yes or no, So no problem.

The best browsers I’ve tested for 3D scenes are Chrome and Opera.

Long ago when I was developing with IE, my website still had compatibility issues with other browsers. Because of the standards of IE.

I do not even understand that there are still users of IE. it’s a shit. That’s why Edge appeared to replace it, but Edge also has some problems.

After that, it’s my opinion.

1 Like

From what I can read on GitHub and Twitter, the author of Oimo is currently rather maintaining Ammo (another great physics engine) :



Ammo.lab have a look at all the demos, they’re impressive

1 Like

[EDIT] actually, he doesn’t maintain Ammo but does the Ammo (and Sam Girardin’s Energy.js) connectors to 3JS GitHub - lo-th/Energy.lab: 3d physics for three.js
Anyway, Oimo seems to be not maintained any longer and his author focuses on 3JS connectors to other physics engines.

1 Like