@jsenv/navi 0.29.176 → 0.29.177

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.
@@ -147,26 +147,25 @@ to get wrong from there:
147
147
  which: once it has faded into a recognized tail, growing **twice in a row**
148
148
  is a hand (`WHEEL_REGROW_RUN`) — decay jitter bumps up in isolated events and
149
149
  never twice consecutively.
150
- - **the other axis, over a faded stream, is not ours to swallow.** Within a
151
- push, cross-axis events are the push's own wobble and are eaten with the
152
- rest — a hand is never perfectly straight. But once our axis is momentum
153
- only, a hand pushing the other way is a NEW gesture, and on an axis the box
154
- does not travel it is not ours at all: it is handed back to whatever scrolls
155
- under the pointer, untouched, and it does not renew the claim either. Renewed
156
- by what it swallows, the gesture would be kept alive by the very scroll it
157
- ignores — every attempt extending the silence it was waiting for. Handed
158
- back, though, only when it IS a scroll: at the end of a fade the deltas are a
159
- pixel or two on each axis, and read alone such an event says "the other
160
- axis" as easily as it says nothing — passed along, those crumbs scroll the
161
- slide's own content a few pixels under the travel, a header creeping off the
162
- edge of the box. Three things separate a scroll from the crumbs, and all
163
- three are asked for: the other axis clearly dominates the event (the same
164
- bar a drag uses to give up its press); the event is the size of a hand, or
165
- the run is growing event over event — a scroll ramping up from rest, which
166
- decay never looks like; and it is a RUN — wobble is isolated, a scroll
167
- insists (`WHEEL_CROSS_RUN`, `WHEEL_CROSS_CONFIRM_DELTA`). The run costs a
168
- real scroll its first event or two — a few pixels, one notch of a stepped
169
- wheel — which is the cheap side of the trade.
150
+ - **cross-axis events are swallowed absolutely, and they renew nothing.** A
151
+ hand is never perfectly straight, so events leaning the other way are the
152
+ gesture's own wobble and are eaten with the rest — and there the swallowing
153
+ has to be total, because no per-event reading tells a scroll's onset from
154
+ that wobble. It was tried, and every filter leaks: end-of-fade crumbs are a
155
+ pixel or two landing on either axis (a `(0,1)` event is "clearly the other
156
+ axis" by any dominance test), a slightly diagonal swipe's tail carries
157
+ hand-sized deltas on both axes, and one crumb let through scrolls the
158
+ slide's own content under the travel — a header creeping off the edge of the
159
+ box, one pixel per leak. Do not re-attempt a "hand it back when it is really
160
+ a scroll" heuristic; the honest boundary is elsewhere: a swallowed
161
+ cross-axis event does NOT renew the claim. Silence is the only end a wheel
162
+ gesture has, and it is silence ON ITS AXIS — renewed by what it eats, the
163
+ gesture would outlive its own stream, and a hand starting a scroll over the
164
+ tail would extend, event by event, the very deadness it was waiting out.
165
+ Left to lapse, the claim dies shortly after the travel axis goes quiet (on a
166
+ system where touching the surface kills the old momentum, that is moments
167
+ after the new scroll begins), and the browser answers the rest of the scroll
168
+ itself.
170
169
 
171
170
  Taking it is also the only way to stop the browser from answering it: on a
172
171
  laptop a horizontal two-finger swipe IS the back-navigation gesture, and a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/navi",
3
- "version": "0.29.176",
3
+ "version": "0.29.177",
4
4
  "type": "module",
5
5
  "description": "Library of components including navigation to create frontend applications",
6
6
  "repository": {
@@ -29,7 +29,7 @@
29
29
  "prepublishOnly": "npm run build"
30
30
  },
31
31
  "dependencies": {
32
- "@jsenv/dom": "0.17.42",
32
+ "@jsenv/dom": "0.17.43",
33
33
  "@jsenv/humanize": "1.7.8",
34
34
  "@jsenv/validity": "0.4.3"
35
35
  },