v0.2.0 has released!
Version 0.2.0 of Seam is here! Included in this update is:
- Signifigantly improved typechecking
- Added StageGui preset component
- Removed ScaledUIStroke preset component
- Bug fixes and more backend changes
The improved typechecking
There are a lot of added types, as well as improvements to the way types are implemented behind the scenes.
Let's create an example where we are making a new Value state. Before, the best you could do would be something like this:
local MyValue = Value(5) -- ok
local Foo : number = MyValue.Value -- ok
local Bar : string = MyValue.Value -- ok
Or if you wanted to be really fancy, maybe:
type MyValue = {Value : number}
local MyValue : MyValue = Value(5) -- not ok
local Foo : number = MyValue.Value -- ok
local Bar : string = MyValue.Value -- not ok
But now, we have the Value
type in Seam, so we can do this:
local MyValue : Seam.Value<number> = Value(5) -- ok
local Foo : number = MyValue.Value -- ok
local Bar : string = MyValue.Value -- not ok
Which is great for when you need to be explicit! Feel free to mess around with this and let me know how you feel about it.
Changes to preset components
To start, I removed ScaledUIStroke
. Roblox recently made updates to the UIStroke
instance, making this preset component useless.
Replacing it is StageGui
, a preconfigured ScreenGui
. If you were to do this:
local MyGui = New("ScreenGui", {}, From "StageGui")
MyGui would have the following properties set:
ResetOnSpawn
will be falseIgnoreGuiInset
will be trueParent
will be the player's GUI
Which makes it easy to create, well, stage GUIs.
The small changes
I made a bunch of small changes behind the scenes, and you shouldn't care about them.
That being said, I did find and fix a memory leak with Tween
; turns out I suck at variable names when I'm tired and that bit me in the ass.
Is Seam production-ready yet?
Maybe? I don't want to say yes yet, simply because it hasn't been used on a large-scale project (except for a single component in Slap Battles). For now I'll say no, but I am using it in an upcoming large-scale project of mine, so hey, we'll see.
If you use Seam in a big project, let me know! I need to see what issues exist in niche cases so that I can patch them up as soon as possible.
That's it though, enjoy v0.2.0! :3