Changeset 6fdceed in Klonkt


Ignore:
Timestamp:
08/20/2026 11:36:21 AM (3 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
9173265
Parents:
0490abe
Message:

Revert "Reader: inertia scales with the gesture — more on a nudge, less on a flick"

This reverts commit 0490abe40595502a5f5b4ce98ab85fa8573765f7.

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/mod/read.js

    r0490abe r6fdceed  
    350350    // Controleer een optienaam in src/assets/vendor/lenis.mjs voor je hem zet.
    351351    //
    352     // DIT ZIJN NU STARTWAARDEN, geen vaste stand meer: stemTraagheidAf()
    353     // verderop verzet ze bij elk gebaar, klein gebaar meer naijlen dan groot
    354     // (Robin, 21-8). Wat hier staat geldt dus alleen tot de eerste veeg.
     352    // Robin wilde langer en sneller uitrollen zonder remgevoel, dus de exponent
     353    // gaat omhoog (een stevige flick draagt daarmee ruim vier tot zes keer zo
     354    // ver) en de lerp gaat juist boven de standaard: hij legt die afstand vlot
     355    // af in plaats van er stroperig naartoe te kruipen.
    355356    ...(OP_TOUCH.matches ? { syncTouchLerp: 0.09, touchInertiaExponent: 2.2 } : {}),
    356357    autoRaf: true,
     
    490491}
    491492
    492 /**
    493  * TRAAGHEID NAAR DE MAAT VAN HET GEBAAR (Robin, 21-8: "bij een korte scroll wat
    494  * meer inertia, bij een snelle juist wat minder").
    495  *
    496  * Dit kan omdat Lenis deze drie opties op het moment van de GEBEURTENIS leest,
    497  * niet bij het opstarten (gecontroleerd in vendor/lenis.mjs):
    498  *   options.lerp                 bij een wiel -- lager = langer naijlen
    499  *   options.touchInertiaExponent bij touchend -- afstand = |snelheid| ** exponent
    500  *   options.syncTouchLerp        bij touchend -- hoe hard hij daarna remt
    501  * Ze zijn dus per gebaar te verzetten, en dat is precies wat hier gebeurt.
    502  *
    503  * De omkering zit in de exponent. Bij een snelheid boven de 1 draagt een HOGERE
    504  * exponent veel verder: met 2.2 vliegt een harde veeg er ruim vanuit, terwijl
    505  * een zachte veeg er juist door verschrompelt. Vandaar dat een klein gebaar nu
    506  * de hoge exponent en de zachte rem krijgt, en een groot gebaar de lage
    507  * exponent en een stevigere rem.
    508  *
    509  * Draaien doe je aan deze zes getallen; de grenzen eronder zeggen wat "klein"
    510  * en "groot" is.
    511  */
    512 const WIEL_KLEIN = 40, WIEL_GROOT = 240;   // |deltaY| van een wielstap
    513 const RAAK_KLEIN = 4, RAAK_GROOT = 26;     // |snelheid| van Lenis bij een veeg
    514 const WIEL_LERP_KLEIN = 0.12, WIEL_LERP_GROOT = 0.30;
    515 const RAAK_LERP_KLEIN = 0.06, RAAK_LERP_GROOT = 0.13;
    516 const RAAK_EXP_KLEIN = 2.4, RAAK_EXP_GROOT = 1.4;
    517 
    518 const meng = (a, b, t) => a + (b - a) * Math.min(1, Math.max(0, t));
    519 
    520 function stemTraagheidAf(sterkte, klein, groot, opTouch) {
    521   if (!lenis) return;
    522   const t = (sterkte - klein) / (groot - klein);
    523   if (opTouch) {
    524     lenis.options.syncTouchLerp = meng(RAAK_LERP_KLEIN, RAAK_LERP_GROOT, t);
    525     lenis.options.touchInertiaExponent = meng(RAAK_EXP_KLEIN, RAAK_EXP_GROOT, t);
    526   } else {
    527     lenis.options.lerp = meng(WIEL_LERP_KLEIN, WIEL_LERP_GROOT, t);
    528   }
    529 }
    530 
    531 function opWiel(e) {
    532   if (Math.abs(e.deltaY) <= 1) return;
    533   stemTraagheidAf(Math.abs(e.deltaY), WIEL_KLEIN, WIEL_GROOT, false);
    534   nieuwGebaar(e.deltaY > 0);
    535 }
     493function opWiel(e) { if (Math.abs(e.deltaY) > 1) nieuwGebaar(e.deltaY > 0); }
    536494let raakY = 0;
    537495function opRaakStart(e) { if (e.touches && e.touches[0]) raakY = e.touches[0].clientY; }
     
    542500  // duim die stilstaat.
    543501  if (Math.abs(y - raakY) > 3) { nieuwGebaar(y < raakY); raakY = y; }
    544   // De snelheid van NU is die van het laatste stukje veeg, en dat is de
    545   // snelheid waarmee de vinger straks loslaat. Lenis leest de exponent pas bij
    546   // touchend, dus wat we hier zetten geldt voor precies deze flick.
    547   if (lenis) stemTraagheidAf(Math.abs(lenis.velocity), RAAK_KLEIN, RAAK_GROOT, true);
    548502}
    549503function opToets(e) {
  • src/views/shell.ejs

    r0490abe r6fdceed  
    505505  // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
    506506  // bumpen kost een bugfix die nooit aankomt.
    507   var MOD_V = 50;
     507  var MOD_V = 49;
    508508
    509509  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.