中文

Storefront and experience

General knowledge about what a page says, how it is presented and how it is assembled into pages; theme and template implementation lives in each tool's articles.

Inside this domain the layering is content types, presentation formats, modules and page composition: content and a presentation format form a module, a business page arranges modules by customer task, and the platform implements it. The content types, presentation and modules sections all belong to this domain.

Convert

Horizon's Add-to-Cart Race Handling: Clicking Add While a Variant Switch Is Still Pending
A Horizon 4.2.0 source walkthrough of what happens when a shopper switches variants and clicks add to cart before the section request returns: a ProductSelectEvent carrying a promise, a generation counter, a queue of intent snapshots, pure-function variant resolution, quantity renormalized for the new variant and a single batched POST, plus debatable points such as animating on enqueue.
Shopify knowledge

Across the journey

Taming Layout Thrashing in Horizon: On-Demand Measurement, Batched Reads and Writes, Frame-Level Scheduling
A set of techniques from the Horizon 4.2.0 source for avoiding forced synchronous layout: measuring header heights before first paint only when needed, getting sizes from IntersectionObserver, batching reads and writes in the variant picker, a ResizeNotifier that skips the first callback, a Scheduler that waits for transitions, yielding to the main thread, and composing the fly-to-cart arc with CSS animations.
Shopify knowledge
Horizon's Server-Side Contrast Colors: Deriving Text and Derived Colors with Liquid Color Filters
A Horizon 4.2.0 source walkthrough of how contrast colors are derived on the server when a block has a custom background: the palette's lightest and darkest colors, contrast-override's three-step text fallback and border fallback, brightness-based opacity tokens, hover color derivation, skipping contrast over background media, and issues such as the hard-coded brightness threshold and a preset description that doesn't match the code.
Shopify knowledge
Horizon's Cross-Document View Transitions: Render Blocking, Bail-Out Conditions and a WebView Blocklist
A Horizon 4.2.0 source walkthrough of cross-document View Transitions in a multi-page theme: a settings-driven opt-in, render blocking until main content with a 1.8 second cap, releasing it when no transition can happen, skipping on user input, switching animations by type and passing the type across pages, plus the in-app WebView blocklist and in-page transitions.
Shopify knowledge

Not tied to a journey stage

Horizon's Web Components Base Class: Refs, on: Event Delegation, and the Upgrade Race
A Horizon 4.2.0 source walkthrough of the framework-free Component base class: automatic ref collection and ownership, global event delegation through on: attributes, the custom element upgrade race, declarative Shadow DOM hydration, and how updatedCallback is meant to work with morph, plus a doubt about whether it fires.
Shopify knowledge
Horizon's Keyed Lazy Hydration: Updating Only Nodes Marked with data-hydration-key
A Horizon 4.2.0 source walkthrough of morph's hydration mode: matching only by data-hydration-key, the no-insert, no-remove contract, three use cases in product recommendations, the cart drawer and the header, the header branch that leaves featured products out of the first render, and the limits of this two-pass rendering.
Shopify knowledge
Horizon's Section Refresh and Morph: SectionRenderer Concurrency and DOM Merging
A Horizon 4.2.0 source walkthrough of SectionRenderer and the in-house morph: per-section cancellation and result reuse, sorted cache keys, first-paint caching and limited request deduplication, plus morph's form-state sync, mid-edit protection, runtime state preservation, skip switches and a few debatable couplings.
Shopify knowledge