Repository navigation
L0 Cards: route controls to a host-owned event channel - #62
Merged
Merged
Conversation
Bring the Card event channel onto runtime main 6881fb6 (makepad 6cf03859) so App Hub and OctoSense can pin one runtime. - l0: keep main's prepare_with_state(card, data, state, dir) and move the L0 state test to that argument order. - tapto: text fields keep main's on_change/on_return navigation callbacks; other taps route L0 event targets to the host channel. - runtime.json: lock Octoscript 3c1c6bae (bounded state snapshots), the revision Cargo.toml already pins.
Follow runtime main to makepad 975c5630 (65d30a0).
Follow runtime main 019e6bf (makepad bf318136) and lock Octoscript 76032ed4, the bounded state snapshots on Octoscript main.
Follow runtime main 515acb4 (makepad a5a3cf5b), the runtime OctoSense main locks.
runtime.json locks Octoscript 76032ed4; tools/runtime.py prepare puts ../octoscript at that revision, as on main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets a Card host (App Hub's
card-hostand the Card runner in the OctoSense shells) receive a Card's L0 control events itself, instead of through the navigation callback.to_makepad_l0_ui_with_events(root, channel)lowers an L0 tree liketo_makepad_l0_ui, but ataptowhose target starts withl0:becomesagent.notify(<channel>, {target: …}). Other targets keepNAV(t: …). The host must check the mounted Card's identity before it dispatches a target.to_makepad_l0_uiis unchanged (it passes no channel), so existing hosts see no difference.on_change/on_return→NAV(t: …, v: text)wiring from Stateful mini-app inputs and CJK/emoji fonts; runtime makepad db4691d0 #46; onlyon_clickroutes through the channel.l0::prepare_with_state(card, data, state, dir).runtime.jsonandCargo.tomllock Octoscript76032ed4for boundedInstanceStoresnapshots, which App Hub uses to restore Card state. The runtime's own code does not call them; the lock gives every consumer one OctoScript that has them.Depends on OctoSense-org/OctoScript#51.
76032ed4is on that PR's branch; the branch head after it only adds a fuzz lockfile line. Merge #51 first, with a merge commit, so the locked revision is on OctoScriptmain.Checked locally on
c2c6699b, with makepada5a3cf5band Octoscript76032ed4as siblings:cargo test --release -p octoscript-node -p octoscript-render -p octoscript-makepad: pass, including the newl0_event_target_routes_to_a_host_owned_channelpython3 tools/runtime.py verify --cargo-manifest Cargo.toml: pass (one Makepad;Cargo.tomlandruntime.jsonagree)