- Corrects `feature` -> `target_os` checks.
- Updates the old iOS scene delegate pieces to use the new class
structure.
- Bundles in an iOS demo app.
- Blocks off most things that should not even attempt to compile for
iOS.
- Drag and drop, hidden, and so on now live on on the `Layout` trait,
which helps make the logic less of a hassle to support (these methods
are almost always guaranteed to exist on any view type, and it's
easier to just noop them on a specific view if need be).
- Begin reworking auto-drop-remove-from-superview logic by including an
`is_handle` flag on `View`; will need to extend this work to others.
- Adds a new `ObjcProperty` type, which wraps our Objective-C objects in
a Rust-backed Rc/Refcell combo. This in general makes understanding
reference counting/storage more digestable when reading through the
codebase and leans more on Rust to do its thing than the Objective-C
runtime.
- Most widgets that need to implement `Layout` now only need to provide
a slot for running a handler with the underlying node.
- Further documentation work ongoing.
- Anchors are now enums, which help in debugging constraint issues.
- Enum types that are acceptable for constraint generation are now
matched at runtime, and provide better error messages if a constraint
can't be satisfied and crashes the app.
- `left` and `right` anchors are now supported on all widgets, fixing an
oversight from early iterations of the framework.
- Reduces `unsafe` usage by a decent amount when setting constraint
pointers for widget types.