#Are there any plans for moving away from QuickJS anytime soon?
1 messages Β· Page 1 of 1 (latest)
also, where did globalThis.__date_clock() came from?
from QuickJS as other additional methods on string and object
We currently don't have any plans to move away from QuickJS any time soon.
are there any particular painpoints or issues with QuickJS you're seeing?
No JIT optimization mostly
itβs a bit slow
yeah
The challenge is that even with JS engines which do support JIT (like V8), it is not supported on all of our target devices.
hmm
are you talking about ios?
I bet consoles too
Personally it's more about long-term concerns. The engine development has been stale for a while and there's a possibility it won't support future additions to the ECMA specification
why console log gui in-game only shows what's passed in console.warn?
even without jit v8 is faster than quickjs
I'm very curious to hear about the use case scenarios here actually! Stuff like this are things we can think about depending on the needs and gaps and functionality based on what y'all want to do.
im pretty sure console.error works as well but its weird that console.log doesnt work
indeed
it does
it logs into the log file
This is something we are aware of and are tracking
it doesnt show in the in game on screen log though
Happy to hear that!
spam is not inneed thats why only errors and warns are displayex
for example, i have stuff that takes a bit of time to run (structure terrain generation) and it's slowing my main thread so everything lags, instead if we had threads we could run more time costly operations there
ticking of custom blocks and running complex computations on them
In those worker threads, is your expectation is that you'd be able to write the same type of code, and just move it to another thread?
basically, yes
i'm hoping the js scripting is going to get on the same level as java modding in customizability and performance but currently it's just slow. as it sais it's a scripting api not a hole modding framework like forge or fabric
^^
it alot faster than base java
Use case that I have where I'd like to use another thread is with saving data on a timed interval. Pushing this to a worker thread or another thread entirely would help free up my runtime loop.
Block placement is another use case for me. I currently have to push data through server-net for performance improvements
We do aim to make scripting cover as many scenarios as possible, and yes getting the right performance baseline is an important part of that and something we hope to continue improving. There are two halves two this: ensuring the API paradigms we create are performant for the common use case and improvements to the fundamental QJS integration (and bedrock engine itself).
We are a sharp contrast to Java modding frameworks though, especially things like fabric, because at the end of the day we are a versioned contract on top of the engine and not a way to modify the engine directly. But we hope it is easy to use and powerful as well!
Give us the ability to mod the client and I'll consider it as powerful π
lol
(IObit Unlocker time)
lol
full ui support and custom entity, and block ticking functions with custom entity and block storage
and the ability to define blocks, entities and other using the scripting engine
thats powerful
on load time would be great
eh that last part isn't as necessary I think
What scenarios are you thinking here?
Well for example, I would like to change how a player moves. Doing it on the server would be nigh impossible
create and interact with UI I think π
Imagine I could reverse a player's movement, or make them fall faster
There's also being able to summon local particles
And maybe, just maybe custom textures and geometry on the fly
full support on modifying the ui while playing, client side camera control
Or even interface with renderdragon
thats when bedrock becomes a game engine
but isn't this what modding is ment for? creating anything you want in the game?
being able to detect the inputs of all devices
Not just keyboard
Think about other devices
all devices
General custom input polling
If not inputs at least on screen custom buttons for mobile players that are doable
controller too!
The api that get the devices player using
That can be both server and client
keyboard inputs would be nice to allow us to have more binds for triggering events and/or running scripts
Many possibilities on the client side
Yes!!
Tab key list of players like Java would be cool
useless, look at the pause screen
system.getKeyboard()
system.getPlatform()
Yeah but rather have tab list like java
Something more general would make sense.
then I can actually make ponder
Tab list would be nice
but you need to pause for that which is inconvenient
Like registering custom input and allowing the player to bind it to their controls
not really related to the question but showing players ping in the pause screen player list would be nice
From settings
I made custom Babel/swc build processes for that. It is, indeed, unfortuante.
That's the thing of Keyboard imo
Imagine being able to render anything you want via a Renderdragon API
Or just make a Input class
including keyboard and other input devices
or maybe extends
immersive portals
Mind moving client side scripting chat off to a different question π
You got me riled up pal
we cant even make new questions...
lol
I'll find somewhere else
There are two such questions already.
nvm it seems someone asked already
We need a thread to just talk about client scripting π
speaking on client my oreui post would be great
Moving out!
rush B
Yeah, it really is. I'd like to see a future move to JavaScriptCore perhaps, assuming it can support all platforms