Changeset e48ec78 in Klonkt


Ignore:
Timestamp:
08/24/2026 07:38:58 AM (2 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
7b03c35
Parents:
edd5ccc
Message:

Lezen op touch: het richten krijgt een vaste, instelbare duur

De re-aim liep op de lerp van de uitloop (0.09): boterzacht, maar met een
exponentiele staart van ruim een halve seconde. Robin wilde het korter,
sneller, snapperiger (24-8). Een vaste duur eindigt echt, op een instelbaar
moment, zoals iOS-paging: vlot weg, stevig landen.

SNAP_DUUR (0.22s) is de ene knop, met dezelfde easeOutQuart als de
desktop-snap. De beoordeling zat al op timeout 0 sinds edd5ccc; dit gaat
alleen over de beweging zelf.

MOD_V naar 59.

Co-Authored-By: Claude Fable 5 <noreply@…>

Location:
src
Files:
2 edited

Legend:

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

    redd5ccc re48ec78  
    466466  // exacte landingspunt van de uitloop.
    467467  if (OP_TOUCH.matches) {
     468    // Hoe lang het richten naar de lijn duurt, in seconden. De ene knop voor
     469    // "snapperiger": 0.18 is direct, 0.3 is landen, 0.5 is zweven.
     470    const SNAP_DUUR = 0.22;
    468471    lenis.off('virtual-scroll', snap.onSnapDebounced);
    469472    let raakTimer = null;
     
    498501        });
    499502        if (eerste < 0) return;            // niets meer voor je: vrij uitscrollen
    500         // HET RICHTEN IS DE SNAP (Robins regel, 24-8): geen aparte animatie
    501         // met een eigen duur, maar de lopende uitloop een nieuw doel geven,
    502         // met DEZELFDE demping (syncTouchLerp) waarmee hij al onderweg is.
    503         // Zo is er een doorlopende beweging die toevallig op de lijn eindigt,
    504         // in plaats van een glijvlucht met halverwege een muur.
     503        // HET RICHTEN IS DE SNAP (Robins regel, 24-8): de lopende uitloop
     504        // krijgt het nieuwe doel, er komt geen tweede animatie overheen.
     505        //
     506        // MET EEN VASTE DUUR, niet met de lerp van de uitloop. Die lerp-vorm
     507        // (0.09) is boterzacht maar heeft een exponentiele staart van ruim een
     508        // halve seconde -- Robin wilde het korter en beslister (24-8). Een
     509        // duur eindigt ECHT, op een instelbaar moment, zoals iOS-paging: vlot
     510        // weg, stevig landen. Zelfde easing-familie als de desktop-snap.
     511        // SNAP_DUUR is de enige knop: korter is snapperiger, langer is zachter.
    505512        if (doel >= punten[eerste].value - vangZone()) {
    506           lenis.scrollTo(punten[eerste].value, { lerp: 0.09, force: true, userData: { initiator: 'snap' } });
     513          lenis.scrollTo(punten[eerste].value, {
     514            duration: SNAP_DUUR,
     515            easing: (t) => 1 - Math.pow(1 - t, 4),
     516            force: true,
     517            userData: { initiator: 'snap' },
     518          });
    507519        }
    508520      }, 0);
  • src/views/shell.ejs

    redd5ccc re48ec78  
    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 = 58;
     507  var MOD_V = 59;
    508508
    509509  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.