@livx.cc/bare-v3 0.1.0-alpha.40 → 0.1.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0-alpha.40",
2
+ "version": "0.1.0-alpha.41",
3
3
  "cssSha256": "d8da259da7aac4ff4c65150029fde71735d8628603359216cf86fb7047246a92",
4
4
  "classes": [
5
5
  "b3-accordion",
@@ -1,10 +1,10 @@
1
1
  # Once-only scroll entrances
2
2
 
3
- For a client-rendered page, call this in the framework's post-render hook before paint. For static HTML, use a synchronous script immediately after the section markup. Calling it after fonts, a network request or a paint can cause the original flash. This snippet is not a solution for asynchronously hydrated visible HTML.
3
+ For a client-rendered page, call this in the framework's post-render hook before paint. For static HTML, use a synchronous script immediately after the section markup. Calling it after fonts, a network request or a paint can cause the original flash. This snippet is not a solution for asynchronously hydrated visible HTML. If a deferred module is unavoidable, an authored pre-paint guard must have a bounded fail-open timer and expose content immediately on focus/reduced motion. If the guard has already exposed content, skip automatic entrance preparation on late boot; only explicit Replay may animate it again. Never hide already-visible HTML when the module finally arrives. The Form study demonstrates a 900ms guard; this is page bootstrap, not a Bare runtime API.
4
4
 
5
5
  Choose one delivery location. On a static page, define and call the routine once in the synchronous script after the markup; do not also generate a fallback TypeScript copy. In a client-rendered app, put it in one module and call it from the pre-paint post-render hook instead. Keep the returned cleanup with that owner. The two delivery choices are alternatives, not parallel implementations.
6
6
 
7
- Mark stationary section wrappers with `data-entry-section` and their animated children with `data-entry-part`. Keep the final layout visible in CSS. The routine prepares paused animations synchronously; setup failure, reduced motion and focus expose final content. Scroll entry is once per mount, with no tab-return reset. Explicit replay belongs to a separate user action.
7
+ Mark stationary section wrappers with `data-entry-section` and their animated children with `data-entry-part`. Give each step/card in a long collection its own wrapper: on phones, a single collection-wide trigger finishes lower items before they become visible. The same wrappers work side by side on desktop without breakpoint-specific motion logic. Keep the final layout visible in CSS. The routine prepares paused animations synchronously; setup failure, reduced motion and focus expose final content. Scroll entry is once per mount, with no tab-return reset. Explicit replay belongs to a separate user action.
8
8
 
9
9
  ```js
10
10
  function prepareEntrances(root) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livx.cc/bare-v3",
3
- "version": "0.1.0-alpha.40",
3
+ "version": "0.1.0-alpha.41",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",