- Timestamp:
- 08/20/2026 11:36:21 AM (3 weeks ago)
- Branches:
- main
- Children:
- 9173265
- Parents:
- 0490abe
- Location:
- src
- Files:
-
- 2 edited
-
assets/js/mod/read.js (modified) (3 diffs)
-
views/shell.ejs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/mod/read.js
r0490abe r6fdceed 350 350 // Controleer een optienaam in src/assets/vendor/lenis.mjs voor je hem zet. 351 351 // 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. 355 356 ...(OP_TOUCH.matches ? { syncTouchLerp: 0.09, touchInertiaExponent: 2.2 } : {}), 356 357 autoRaf: true, … … 490 491 } 491 492 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 } 493 function opWiel(e) { if (Math.abs(e.deltaY) > 1) nieuwGebaar(e.deltaY > 0); } 536 494 let raakY = 0; 537 495 function opRaakStart(e) { if (e.touches && e.touches[0]) raakY = e.touches[0].clientY; } … … 542 500 // duim die stilstaat. 543 501 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 de545 // snelheid waarmee de vinger straks loslaat. Lenis leest de exponent pas bij546 // touchend, dus wat we hier zetten geldt voor precies deze flick.547 if (lenis) stemTraagheidAf(Math.abs(lenis.velocity), RAAK_KLEIN, RAAK_GROOT, true);548 502 } 549 503 function opToets(e) { -
src/views/shell.ejs
r0490abe r6fdceed 505 505 // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig 506 506 // bumpen kost een bugfix die nooit aankomt. 507 var MOD_V = 50;507 var MOD_V = 49; 508 508 509 509 // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)