Hey all, 650 is out the door!
Funny how only one of the listed items is marked as Live.
Is it just me or the selecting objects feels really weird now.
Are you sometimes clicking but getting no selection depending where you click? Are you on Mac?
do you know when the genre update is coming out?
No I’m on windows. I’d say the issue is if I miss click while using the move tool It drags an object in the background what’s kind of annoying.
More information on RFCs can be found here: https://rfcs.luau.org/
This one in particular is mostly based on the idea that you couldn’t use vectors in non-Roblox settings without jumping through some hoops. A bit niche (especially since we’re on Roblox) but a valid concern since people use Luau outside of Roblox all the time.
The performance improvements are just a result of them being static builtins rather than methods on a user data. That allows a lot more optimization on the VM side of things.
Would the new Vector be compatible when assigning to Vector3 properties (e.g. part.Size = vector.one
), or using it where a Vector3 is expected (e.g. CFrame.lookAt
)?
Depending on the details, would there potentially be problems when reading from a Vector3 property and expecting it to work like a Vector (e.g. vector.magnitude(partA.Position - partB.Position)
)?
Vector3 and the underlying vector type are synonymous in the engine, they are one and the same and thus can be used in all the same ways.
When the native Luau vector type was first introduced the existing Vector3 implementation was replaced with it. The only visible change at the time was that type(Vector3.new())
used to be userdata
historically but changed to vector
.
TL;DR: Yes, you can replace all your Vector3.new(...)
with vector.create(...)
if you really want to show off the shiny new thing in your code.
Will there be any tutorial explaining which are the new methods and which will run faster?
Unless you’re trying to micro-optimize low level collision math / bounding box computations or something like that, you should probably stick to what you’re familiar with. The primary purpose of the new methods is to expose the vector type better to other Luau code used outside of Roblox rather than change things up for Roblox code.
Why has there been so many updates on Editable Meshs
lately? Not complaining, just curious. I forgot they even existed until I read the release notes.
There was a lot of internal deliberation on what approach should be used to enable resource sharing between multiple consumers of Editable* content. It took a few rounds design to settle on the Object / Content approach.
Once all that was decided the implementation could move relatively quickly hence all the changes coming down the pipe now that the period of deliberation is past.
Fyi, this started popping up on new servers
I got that pop-up yesterday. Wonder why it doesn’t load the Player’s name.
I’m really excited for native vectors! I’m also glad they chose vector.create(X, Y, Z)
instead of vector(X, Y, Z)
. Seemed jarring in the RFC.
I was wondering, though, if it would be possible to implement vectors for the Color3
datatype? It has a very unloved API, and it acts basically the same as a vector (it’s not even clamped). It would speed things up and also give us Color3 math.
what makes the vector library different from the vector3 library in terms of performance? is it a similar situation with using the colon operator on strings instead of the string library
Yes, just different plumbing.
Keep in mind, when you’re talking about an operation like min/max, such a large portion of the time is spent in the plumbing rather than the actual math operation that minor differences in the plumbing will have a relatively large impact on the total time.