Another fluxbox user here. I've basically ran the same configuration for nearly 15 years now. Everything is in muscle memory and never changes. Totally the best UX
And the sunset calculator doesn't need a location provider. All it needs are location coordinates which can be given to the calculate function.
In fact the whole thing then becomes a standalone function which takes Location and other relevant parameters and returns the computer sunrise/sunset values. Pure function and super easy to unit test.
If one needs to do a lot of "mockups" for your unit tests then maybe one needs to consider the API and class design. Removing needless coupling helps testability by removing the need to use mocks in the first place.
But that's sort of moving the goal posts now. Original claim for WASM was that it allows hot reloading. Which is a thing you can do with DLLs just fine.
But you can already do this with DLLs or with SOs files. You can keep your network logic for example inside another module (perhaps the host app) and then load the logic that acts on the received data as a dll.
Process separation and IPC natively using a library such as Qt is literally a few hundred lines of code.
Yeah this is impossible because code that isn't written cannot document itself and then the only option is to have a comment. And sometimes the meaningful thing is exactly what doesn't exist. For example here we're not doing X because of Y.
Well, ... the Qt3D is a higher level framework that isn't really relevant to the stuff I'm doing considering that I'm basically running my own "framework", i.e. my game engine that renders to my rendering surface.
In my use case what I really need is just to have Qt provide me a rendering surface with good performance (and ideally with working integration with the rest of the widget system) and then get out of the way.
Hi, thanks. Honestly.. I haven't compared. I've built this as a passion project not as a "product" with a product/market fit or competitive landscape in mind. I mean there are already so many engines out there that you can't even give them away for free. So i built it with the features that i had in mind and what i have needed for my demos and what i need for my games.
The demo games have Emscripten filesystem images that vary from 6mb to 100mb. These sizes reflect the combined size of the raw game resources (i.e. fonts, textures, audio files etc)
Hi, you're absolutely correct. Tooling and the whole content pipeline is super important.
I chose Qt because I'm already very familiar with it and I know that it can do so much stuff out of the box and I want the editor to work as any other app as much as possible, i.e. tooltips, shortcuts, cut/copy/paste keyboard focus etc.
So everything works fine (as long as you know Qt's quirks) except that:
OpenGL support is kind of a mess. You have QOpenGLWidget, QGLWidget,QOpenGLWindow, QGLwindow which can all support OpenGL rendering. The problem is that while QOpenGLWidget works nicely with the rest of the toolkit ( context menus etc) the Performance is very suboptimal. I found it to be an magnitude of order worse than just using a window. I'm sure there's something else going other than just FBO overhead.
Another problem related to this but not unique to Qt is how to render to multiple window surfaces but to keep to a nice framerate. If you use vsync on each surface your framerate will be your display sync divided by the # of your surfaces. If you don't vsync then you're running a busy loop and burn cycles in a busy loop. I've tried many ways to do this nicely and haven't found a perfect solution yet. Would be very happy to hear some suggestions. Currently I'm just adding a little thread delay to cap the CPU use but this creates little hiccups in animation sometimes.
Years ago I hikes around Annapurna in Nepal. Going through Thorong La (spelling) pass goes up to 5400m and can have snow any time of year. I saw several unprepared hikers who had simple summer gear with them only. The locals hike this route in flip flops sometimes. Fee years after that there was the big earthquake which killed ppl at Mt. Everest and around the same time that Annapurna area got around 2m of snow in 24h. Several ill prepared hikers got lost and died in the snow storm.
Fasting isn't starving. It's living off of the food and energy you ate before. I.e. done properly you're tapping i to your bodyfat for energy and there's absolutely no hunger.
But you can always just use a different layout for your keyboard. So eve with a keyboard with physical key engravings in Japanese you could just use a US layout.
Haha that's the rabbit hole. Two weeks later you're compiling your own kernel from sources just to be able to get that specific version of libc so that you can get libfoo working so that you can get libbar working so that you can get... You get the idea.