ma
marcoroth
GitHub
herb
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
herb
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
slots/subtrees
fb2407e7 Engine: Introduce `SlotSubtree` to render the markup a slot covers
by Marco Roth
M
Succeeded
slots/subtrees
fb2407e7 Engine: Introduce `SlotSubtree` to render the markup a slot covers
by Marco Roth
M
Succeeded
slots/subtrees
473ccfeb Engine: Introduce `SlotSubtree` to render the markup a slot covers
by Marco Roth
M
Succeeded
slots/subtrees
473ccfeb Engine: Introduce `SlotSubtree` to render the markup a slot covers
by Marco Roth
M
Succeeded
slots/subtrees
397ad169 Engine: Answer the two things a payload of values cannot carry `apply` reports a deferred entry when the page is asked for something values cannot express: a conditional taking a branch that never rendered, and a collection gaining an item there is no row to copy. Both name a slot, and nothing on the server answered one. `SubtreeCompiler` renders the node at a `node_path` and `SlotVisitor` records the `node_path` of every slot, so a slot index is all that is needed to reach its markup. `SlotSubtree` resolves one to the other, which the two agreeing on what a `node_path` means now makes possible. An attribute is refused. A path indexes an element's body and does not descend into its open tag, so an attribute slot's path names the element holding it, and compiling that would return the whole element where the caller asked for one attribute. Those slots are values, and values is how they come back. `subtree_slots` says which slots a change needs markup for, so a request naming what changed can be answered without asking the page. Only structural slots appear, because that is the whole of what values cannot say. Changing something a branch merely displays asks for nothing. What this does not do is make the render cheaper. `SubtreeCompiler` runs the whole template and keeps one node's output, which is what its own doc says is correct without knowing which expressions the target depends on. That analysis now exists, so skipping the work behind discarded output is a question that can be asked, and it is not asked here.
by Marco Roth
M
Previous
Next