Skip to content

Internal: window code compiled once for both layouts - #86

Open
StackEnjoyer wants to merge 1 commit into
mainfrom
internal/layout-hooks
Open

StackEnjoyer wants to merge 1 commit into
mainfrom
internal/layout-hooks

Conversation

@StackEnjoyer

Copy link
Copy Markdown
Owner

Internal changes

  • Package precompiles in 106 s instead of 179 s, GLMakie extension in 185 s instead of 238 s
  • An app session after a compact one compiles 13 s instead of 41 s (without workloads)
  • First actions of both layouts compile no more than before: at most 13 ms per step
  • Code of one layout dispatches on the layout of the window, which has no layout type parameter
  • AGENTS.md: layout hooks dispatch on gui.layout, never on the view type

Closes #79

…nce for both layouts

The layout hooks dispatch on gui.layout: each hook has a barrier that passes the layout on, a
fallback on AbstractLiveLayout and the methods of the layouts (`_pin!(gui, layout::AppLayout, obj)`);
code of one layout that is no hook takes the view and reads `_app(gui)` or `_compact(gui)`. The
aliases AppView and CompactView are gone; the tests ask `gui.layout isa AppLayout`. AGENTS.md states
the rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Nov 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.85714% with 17 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/LiveCustom.jl 64.28% 5 Missing ⚠️
src/LiveCards.jl 85.18% 4 Missing ⚠️
src/LiveLayout.jl 91.66% 2 Missing ⚠️
src/LiveApp.jl 96.66% 1 Missing ⚠️
src/LiveAppTree.jl 96.66% 1 Missing ⚠️
src/LiveCompact.jl 90.00% 1 Missing ⚠️
src/LiveInspector.jl 98.36% 1 Missing ⚠️
src/LiveOverlay.jl 91.66% 1 Missing ⚠️
src/LiveSelection.jl 75.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Internal: window code is compiled once per layout

1 participant