Lumin Framework - A lightning fast & efficient framework

Lumin logo

Lumin Framework


Lumin Framework is a lightning fast & amazing game framework, made with complete customization and compatibility in mind


Easily Create Controllers

local Framework = require(Packages.framework)

local function Explode()
    print("KABOOM!!!")
end

return Framework.New {
    Explode = Explode,
}

Efficient and not verbose controller API, is very similar to vanilla modules and does not add any bloat.

Organized Dependencies

local Framework = require(Packages.framework)
local Dependency = require(Modules.Dependency)

-- Init is called after other dependencies the module uses are loaded
local function Init()
    Dependency.NuclearExplosion() -- This dependency loads first and in result is usable!
end

return Framework.New {
    Uses = { Dependency },
    Init = Init,
}

Organizes your dependencies in an understandable way, so you can easily keep track of what your module uses.

Simple Worker Design

local Framework = require(Packages.framework)

local function Init()
    Framework.Cycle("PostSimulation", function()
        print("I print every frame!")
    end)
end

return Framework.New {
    Init = Init,
}

Has a simple worker/lifecycle design that is readable and accessible at a glance.

Finally…

Try it out and see if you love it! It comes in a very small size and is easily embeddable into already existing game architecture; no extra dependencies are required. With built-in plugin support, a thriving community, and type safety, what’s truly not to like about it?


Intrigued?

Check out our documentation and socials to dive deeper into our projects and join our growing community!


Links

DocumentationWallyGitHubDiscord


Made with :heart: by the developers and contributors at Lumin Labs

66 Likes
GitHub issue:
  • src/Debugger has no file type, so syntax highlighting is disabled

This seems like a lightweight yet solid framework, and I’m glad to see it’s fully type-safe. Is there a page/readme for documentation? I’d like to read the API ref before I use it.

2 Likes

Not right now, but if you look at src/CanaryEngine.lua you can find documentation above each function and type. I am not the best documentation writer, but a website is shipping (probably tomorrow) that will host documentation and tutorials. Thanks for using my framework!

GitHub issue fixed

2 Likes

I personally don’t like using frameworks, but this looks pretty promising and I’m probably going to look into it later. Thanks for the resource!

2 Likes

No problem, I’m going to be adding an actual docs site soon. And yes, I felt the way same way about using frameworks when I was a beginner. I always felt they were too complicated and still do. I made CanaryEngine just like any other framework out there, but lightweight, easy to understand, and just overall better without all this weird declaring through the self keyword, which I feel like is being heavily misused. Another great plus is being type safe, as I love Roblox’s intellisense as a beginner and still think it’s an absolute godsend to implement typing.

3 Likes

Just wanted to let all of you know that a plugin for a coming soon to make your experience while using CanaryEngine easier. It will include package creating, lists, and a module to keep track of all packages and to keep intellisense enabled at all times. Hope you’re looking forward to it :eyes:

4 Likes

If this framework is basically just knit but bridgenet and datastore modules, I will actually try this!

The biggest reason what flinged me away from using bridgenet was because it had no support for knit. Thanks.

And, will there be a ts version too? I would also like a Flamework with bridgenet

3 Likes

I would add typescript support, but I have no idea how.

4 Likes

If you know some ts, you can add a .d.ts file and set the types.

2 Likes

Framework Update

@R0bl0x10501050
@1DiamondBor
@commitblue


The framework has been updated:

  • Added plugin that helps you migrate from older versions
  • Updated main module to include utility functions
  • Removed function from debug module
  • Docs coming at least by this weekend

Changes will be pushed to GitHub by at most 5 PM tomorrow due to school. Get the plugin: https://create.roblox.com/marketplace/asset/12591143042/Canary-Studio

4 Likes

I threw together a framework using a modified version of BridgetNet2 that is also very similar to Knit called Flux. You can try it if you want, but the documentation is lacking and its probably full of bugs. I think my ts works for the most part at least.

FluxFrameworkStandAlone@0.0.1.rbxl (309.6 KB)

1 Like

i prefer a pretty stable framework for this kinda stuff. hopefully youll release it

1 Like

I’ll try to work on it a little more, but as of right now, BridgeNet2 is not giving a performance increase I would’ve liked. Additionally, it’s missing InvokeFunctions, and the developer of BridgeNet2 doesn’t plan to add it himself.

2 Likes

It’s preffered that you don’t self-advertise on someone else’s post. Please move this to DM’s, thank you.

5 Likes

It’s not self-advertisement, but sure.

1 Like

Framework Update


The framework has been updated:

  • Added install and uninstall to plugin
  • Added Utility, Benchmark, and Serialize (BlueSerializer by @commitblue) libs to the main module
  • Better NetworkSignal typing
  • Removed intellisense from plugin, it’s sadly impossible
  • A few QOL fixes
  • Add support for checking framework version automatically with GetLatestPackageVersionAsync, it is now an attribute under the main module.
  • Bug fixes
4 Likes

Small update to squeeze in here: Finished docs in 2 hours :partying_face:, now linked in main post.

2 Likes

Any update suggestions? I would like to take in some feedback.

1 Like

I don’t know if it’s a good suggestion but can you add replicaservice on the framework?

2 Likes

Well, what can ReplicaService do that BridgeNet can’t? I’m not really in for 2 networking systems.

1 Like