Changelog
Update: 0.7.0¶
- Fix Animator's type checking
- Add Soundto modules
- Add settings regarding Sound
Update: 0.6.2¶
- Removed debug prints left in on accident
- Rename type UiBasetoUIBase
- Documentation site improvements
- Removed support of the Typesymbol having aliases
- Added Symbols.RegisterCustomSymbol()function to create custom symbols more easily
- Added wrapper function in Scene for Symbols.RegisterCustomSymbol()
- Fixed spelling mistakes
- Removed deprecated RDC runner script
- Fixed Rethink throwing errors if Rethink.GetModules()was called before it's initialized
- Updated warnings in Template, Scene
- Added Scene.Cleanup()
- Fixed bug relating to Pool not returning the correct object
- Moved Scene.Events.ObjectRemovedinvoking to object's cleanup method
- Replaced .IsLoading to .State to indicate the states that scene is in, such as: Loading, Flushing, Standby
- Removed Scene throwing a warning in .Flush()was called, when the scene is empty
- Added LinkTagandLinkGetsymbols to reference other objects in the scene module
- Cleaned up Symbols module, separation of each handler into its own module
- Updates docs of Sceneto match current state
- Scene no longer returns a Promise when .Loadis called
- Renamed back 3rd party modules to their original names
- Renamed Animation back to Animator
- Fixed error regarding not formatting objects correctly when throwing errors
- Scene now exports ObjectReferencetype
- Removed SelfView, CompilerChunkSize from settings
- Added Class symbol to define object ClassNames
- Utilize gitmodules to track third party libraries
- Symbols now return visual objects (e.g. Frame)
- Object's reference table is now initially set up with symbol handling
- Rewritten Scene.Remove()to useScene.GetObjectReference()internally
- Rewritten Scene.Flush(),Scene.Load()to stop usingTaskDistributor
- Use promise in symbol handlers to catch warnings to prevent code halting
- Fixed memory-leak when removing objects using Scene.Remove()
- Removed TaskDistributor
- Renamed ShouldFlush to Permanent
- Built-in symbols now do type-checking
- Reworked messages and logging using Loglibrary
- Add missing documentation for the main module (init.lua)
- Fixed inconsistencies with types not being capitalized sometimes
- Add Childrensymbol
- Make ObjectPoolcreate new instances if the specified kind does not exist
- ObjectPoolnow only resets objects that are- GuiBase2d
Update: 0.6.1¶
- Fixed objects not being removed completely
- Rewritten ObjectPool
- Added new argument stripSymbolsto.Remove
- Symbols are now being tracked with their own IDs
- Symbols have their own Janitor now
- Fixed documentation
- Symbols now use .Symbolstable to store data instead of using the object's reference table directly
- Fixed symbols staying on objects after flushed or removed
- Added .Initand.GetModulesfunction to Rethink
- Restructure of engine internals
Update: 0.6.0¶
- Added aliases to the Type symbol:- Layer UiBase
- Static UiBase
- Dynamic Rigidbody
 
- Layer 
- Deployed documentation
- Added pin_game.md to request your game getting pinned on the landing page as an example
- Introduced TaskDistributor
- Optimized Scene FlushandLoad
- Refactoring, as well as removing Utils
- Fix Physicsnow automatically rescaling canvas, if viewport's size changed
- Simplifed UI hierarchy- GameFrame
- RenderFrame
- Viewport
- Ui
 
- Introduced UiPool to try and minimize the rapid creation and deletion of objects
- Introduced Settings, where you can customize features to your likings
- Introduced Prototypes, that can be accessed withRethink.Prototypes
- Now ComponentsandToolscan be accessed with Rethink for quality-of-life
- Optimizations regarding Rendering
- Prototype Cullingfeature, to attempt to optimize heavy object scenarios
- Restructured code into three different categories:- Core: The main deal of Rethink, modules made by me and are necessary
- Environment: Modules created by jaipack17regarding physics and collisions
- Utility: Smaller modules that are expected to be used less often than Coreones
 
- Introduced Animationa new animation module forSpritesheetsandSet of images
- Removed being able to use custom Protocolmodules, due to it just adding more complexity
- Made Scene.GetBodyFromTaginto a single function
- Introduced Symbols that can be used in Scene files- Tag: Gives the given object a tag(s)fetch it withCollectionServiceorScene:GetRigidbodyFromTag
- Property: Applies propertiesorsymbolsto objects in thegroupor thecontainer
- Type: How the compiler handles the object UiBaseandRigidbody
- Children: Add objects that are parented to the given object
- Event: Hook events to the given object
- DAF: Determines if the object will get deleted on .Flush()(Delete After Flush)
- Rigidbody: Add rigidbody properties that later get fed into the Physics engine
 
- Tag: Gives the given object a 
- Switched from using Wrapperto instead usingTemplateto pass on classes
- Replaced :with.whereWrapperwas used
- Added documentation for functions (as well as JSDoc here and there)
- Added Scene.IsRigidbodyfor identifying rigidbodies easier
- Added Default propertiesto objects when compiling objects
- Introduced Template, a simple global data holder
- Removed ReadOnly
- Added Stringsfor editing throw messages, header easier
- Cleaned up GenerateGUI
- A Dev place has been made available to see my progress on the engine Click here to view!
- Introduced TypeCheck
- Lot of code refactoring
- Unit test for TaskDistributor
- Removed the Inputlibrary
- Created new logo for Rethink
- Added github issue templates
- Moved actual engine code into src
For upcoming updates:
- Add Rethink to Wally
- Create a lite version of Rethink
- Finish development of RePreview
- Create an example game
- Update GitHub page more frequently :)
Update: 0.5.3¶
- Updated physics (Nature2D) to V: 0.6.0
- Added scene:GetRigidbodyFromTag() and scene:GetRigidbodiesFromTag()
- idk
Update: 0.5.2¶
- Updated physics (Nature2D) to V: 0.5.4
- Added Outline
- Reverted function's first letter to lowercase
- Added Gamepadto inputs
- Added fixedRotandfixedPosto rigidbodies
Update: 0.4.1¶
- Made functions' first letter uppercase and the rest lowercase
- Made module names more consistent with eachother
Update: 0.4.0¶
- Added currentto inputs
- Added Templateto tools
Update: 0.3.0¶
- Added scene manager
- Added test folder
Update: 0.2.0¶
- Added utility functions for rigid bodies
Update: 0.1.0¶
- Inital release