Iris icon indicating copy to clipboard operation
Iris copied to clipboard

Feature/wrapper

Open SirMallard opened this issue 3 months ago • 0 comments

This is a huge rewrite of large swathes of Iris. The main focus of this was to unify much of the behaviour, reduce any unncessary behaviour and change all the APIs to functions, rather than tables, which should be much easier to use.

⚠️ This change is monumental and a breaking change, and will require changing all existing Iris implementation in order to upgrade.

This has involved:

  • removing large parts of the types system, designed to make it easier to add more to the library by focusing less on static types, and alllowing the Luau type solver to generate itself, which is much easier for development
  • renamed many existing behaviours, such as unifying the defintions of opened and closed for windows, trees and similar widgets.
  • moved to the new Content type for all images
  • removed some deprecated or unused APIs
  • decomposed the library into individual files to reduce inter-dependency. This fixes all the modules returning a single function requiring Iris as an argument in order to add more behaviour
  • hid away more non-user behaviour
  • added all widget types to the documentation
  • introduced new bit flags, which are for representing multiple boolean arguments. This is most noticable for Windows, which reduces 8 arguments into 1. These flags are named within a table in Iris, and can just be combined using an addition operation
  • renamed a bunch of states to better refelct or shorten the names, ie. isChecked -> checked. Additionally, the .value property has been changed to ._value
  • any properties or functions which are not meant to be public for users and now prefixed with an underscore to signify they are meant for general use
  • the arguments provided to a widget include both regular arguments and states, which requires a number of regular arguments in order to separate them out
  • changed Disabled to _paused internally, which should make it clearer what the behaviour is. Will probably add a function to change the value

There are still a lot of changes to be made, mostly for checking that the documentation is all correct and that the behaviour is still correct. Hopefully this will make Iris easier to use for both developers and myself. I'm going to leave this request out for a while, in order to gather feedback.

The release of this will be v3.0.0 because of the many breaking changes.

SirMallard avatar Sep 14 '25 15:09 SirMallard