v0.7.0 #15
kungfusheep
announced in
Announcements
v0.7.0
#15
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
glyph v0.7.0
v0.7.0 is a cleanup and capability release. It removes a lot of old public surface area, tightens the main component API, and adds several pieces that make larger Glyph apps easier to build: declarative routing, modal route scopes, stronger nested dynamic templates, interactive rich text, better forms, and more reliable screen effects.
Highlights
OnandKey.ForEach.Added
Declarative event routing
Added
OnandKeyso key handlers can live in the component tree and follow the same branch/scope lifecycle as the UI they belong to.Conditional route scopes
Handlers declared inside conditional UI now activate and deactivate with that branch.
Modal route scopes
Added
On.Modalfor handlers that should push a modal input scope while their UI is active.Rich span jump targets
Rich text spans can now register jump targets directly, including inside scroll views and repeated content.
Live rich spans
Richnow accepts live span slices directly, so updating the backing slice updates the rendered rich text.Custom effect compilation
Added
EffectCompiler,EffectFloat64, andEffectCompilableso custom effects can compile dynamic values, animated values, and conditional values through the template system.Readable colour helpers
Added helpers for contrast-aware colour work.
Improved
Nested
ForEachNested repeated UI can now bind to slice fields on the current item and preserve the correct outer and inner item contexts.
Scoped route lifecycle
Route handlers declared inside conditional and switched UI now attach only while that branch is active.
Modal input precedence
Modal route scopes now take input precedence while active, so modal handlers can shadow root handlers without leaking after the modal closes.
Screen effect opacity and dynamic values
Screen effects now compose better with live UI state: focus-based effects track node opacity, drop shadows and SpinGlow have clearer opacity controls, and effect strength values can be compiled from dynamic inputs.
Selection list layout
Selection list rendering and row layout are more robust for complex rows, shrinking lists, and constrained viewports.
Text view navigation naming
Text view navigation now uses the same naming pattern as other navigable components.
Radio navigation naming
Radio navigation parameter names now match down/up navigation order.
Changed
EaseOutQuart.280ms.ScreenEffectnow returns a component rather than exposing the old node struct type.TextfandRichnow return component values rather than public compile-form node structs.Checkboxaccepts eitherstringor*stringfor static and dynamic labels.PushRouterandPopRouter.WidthandHeight.BindNavandBindPageNav.Ansi16,Ansi256,Blend, andLerp.BlendDodgeandBlendBurn.SEDimAllhas been renamed toSEDim.MatchNodeandSwitchNodehave been renamed toMatchCandSwitchC.Fixed
ForEachrow layout insideHBox, including parent-width constraints.Checkboxconstructor.Removed
Outchaining from tweens. Use theIn(...).Out(...)presence pattern instead.Migration notes
If you're running any migrations from v0.6.0 or previous you should first run
go fix ./...which should automate the vast majority of the API cleanup for you.Most migration work in this release is mechanical API cleanup.
Some deprecated shims remain for renamed helpers, but this release intentionally removes a lot of older public API surface as part of the cleanup.
Updated demos and examples
cmd/ondemofor declarative route handling.cmd/easeharnessfor easing behaviour.Full changelog: v0.6.0...v0.7.0
This discussion was created from the release v0.7.0.
All reactions