2D Canvas and 3D GL - sgml/signature GitHub Wiki
3D
WebGL
- https://stephaneginier.com/
- https://helpx.adobe.com/animate/kb/unsupported-features-html5-canvas-webgl.html
- https://mrdoob.com/
- https://www.highcharts.com/blog/tutorials/highcharts-high-performance-boost-module/
Unity
- https://docs.unity3d.com/Manual/class-VideoPlayer.html
- https://docs.unity3d.com/Manual/class-AudioSource.html
2D
Roblox
- https://create.roblox.com/docs/reference/engine/classes/ScreenGui
- https://create.roblox.com/docs/reference/engine/classes/GuiBase2d
Roblox SDK Toolchain
Comprehensive Libraries and Licenses
The Roblox SDK toolchain comprises two primary categories:
- Scripting Libraries โ used for in-game logic, UI construction, state management, and more.
- Toolchain Utilities โ employed for project management, code formatting, dependency management, and other development tasks.
Scripting Libraries
Library | Description | License | Repository / URL |
---|---|---|---|
Cryo | Immutable data utility for Roblox Lua, enabling functional-style state updates. | MIT | Cryo on GitHub |
Dash | A collection of utility functions that complements UI libraries (e.g., Roact) and streamlines code tasks. | MIT | Dash on GitHub |
Luau RegExp | A regular expression library specifically tailored for Roblox's Luau language. | MIT | Luau RegExp on GitHub |
Luau Polyfill | Provides JavaScript-like polyfills to supply missing features in Luau. | MIT | Luau Polyfill on GitHub |
Picomatch Lua | An adaptation of the Picomatch glob pattern matcher for Luau, enabling complex pattern matching. | MIT | Picomatch Lua on GitHub |
LuauSignal | A lightweight event signaling library, useful for managing custom events in Roblox scripts. | MIT | LuauSignal on GitHub |
ZenObservable | Implements the Observable pattern in Roblox Lua, supporting reactive programming. | MIT | ZenObservable on GitHub |
GraphQL Lua | A reference implementation of GraphQL for Roblox, allowing GraphQL queries within Lua scripts. | MIT | GraphQL Lua on GitHub |
Roact | A UI library inspired by React for building declarative, modular interfaces in Roblox. | MIT | Roact on GitHub |
Rodux | A state management library inspired by Redux, for handling application state in Roblox experiences. | MIT | Rodux on GitHub |
Knit | An MVC framework that helps organize Roblox code by separating concerns and promoting modularity. | MIT | Knit on GitHub |
Maid | A utility library for cleaning up resources (like event connections) reliably to avoid memory leaks. | MIT | Maid on GitHub |
Flamework | A dependency injection framework designed for scalable Roblox game development. | MIT | Flamework on GitHub |
Toolchain Utilities
Tool | Description | License | Repository / URL |
---|---|---|---|
Rojo | Synchronizes code and assets between external editors and Roblox Studio to enable modern development workflows. | MIT | Rojo on GitHub |
Wally | A package manager for Roblox Lua projects that manages dependencies and versioning seamlessly. | MIT | Wally on GitHub |
Foreman | A task runner and process orchestrator, inspired by systems like Rustโs rustup , for managing multi-component projects. |
MIT | Foreman on GitHub |
StyLua | A code formatter for Lua that enforces style consistency across Roblox projects. | MPL 2.0 | StyLua on GitHub |
Selene | A static analysis tool (linter) for Lua, aiding developers in catching errors and enforcing coding best practices. | MPL 2.0 | Selene on GitHub |
Additional Notes
-
Licensing Highlights:
- MIT License: Offers significant freedom for reuse and modification, favored by most libraries in the Roblox ecosystem.
- MPL 2.0 (Mozilla Public License 2.0): A weak copyleft license used by projects like StyLua and Selene, allowing integration with proprietary code while keeping modifications public.
-
Community-Driven Ecosystem:
Many projects are maintained by the Roblox community and are actively updated on GitHub. Developers benefit from a rich ecosystem that continuously evolves, adding new libraries and utilities to enhance game development workflows.
This comprehensive listing should serve as a reference point for the core components of the Roblox SDK toolchain, their purposes, licenses, and where to find them. If you need further details or updated information on any specific component, feel free to ask!
Roku
- https://blog.roku.com/developer/2012/09/07/sprites-and-animations-using-the-2d-api
- https://blog.roku.com/developer/2012/09/15/colliding-sprites
- https://blog.roku.com/developer/2012/09/29/creating-custom-brightscript-uis-with-image-canvas
Android
- https://developer.android.com/develop/ui/views/animations/drawable-animation
- https://developer.android.com/develop/ui/views/graphics/vector-drawable-resources
- https://developer.android.com/reference/android/graphics/Canvas.html
- https://developer.android.com/courses/advanced-training/toc
Apache Royale
- https://royale.apache.org/asdoc/index.html#!org.apache.royale.createjs.core/UIBase
- https://royale.apache.org/asdoc/index.html#!org.apache.royale.core/WrappedSprite
Installation
# Flash
[flash]
name = "Lightspark"
description = "An open-source Flash Player alternative."
commands = [
"sudo apt-get update",
"sudo apt-get install lightspark"
]
# Flex
[flex]
name = "Apache Flex SDK"
description = "An open-source software development kit for the development of cross-platform rich Internet applications."
java_install = [
"sudo apt-get update",
"sudo apt-get install default-jdk"
]
download_link = "https://flex.apache.org/download-binaries.html"
installation_steps = [
"tar -xzf apache-flex-sdk.tar.gz",
"sudo mv apache-flex-sdk /opt/"
]
environment_variables = [
"echo 'export PATH=$PATH:/opt/apache-flex-sdk/bin' >> ~/.bashrc",
"source ~/.bashrc"
]
# Apache Royale
[apache_royale]
name = "Apache Royale"
description = "A next-generation open-source compiler technology that generates JavaScript, ActionScript and MXML that can run in modern browsers and natively on iOS, Android, Windows, and Mac."
nodejs_install = [
"sudo apt-get update",
"sudo apt-get install nodejs npm"
]
installation_command = "npm install -g @apache-royale/royale-js"
project_creation = [
"royale create my-royale-project",
"cd my-royale-project",
"royale build"
]