diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ad06d..4fc31ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi --- +## [1.20.42] — 2026-08-19 + +### Changed +- **Large character tables now use browser content virtualization.** Off-screen rows can be skipped during layout and painting while the full DOM and existing interactions remain available. + ## [1.20.41] — 2026-08-19 ### Changed diff --git a/VERSION b/VERSION index 25a96bd..61d66ca 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.20.41 +1.20.42 diff --git a/static/index.html b/static/index.html index c47fcd7..3360467 100644 --- a/static/index.html +++ b/static/index.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -378,7 +378,7 @@ window.toggleNavTree = function(treeId, chevronId) { - + diff --git a/static/style.css b/static/style.css index ca2b247..709889d 100644 --- a/static/style.css +++ b/static/style.css @@ -669,6 +669,10 @@ audio { width: 100%; } tr.lib-char-card.lib-chars-tbl-row { display: table-row; cursor: pointer; background: none; border: 0; border-radius: 0; box-shadow: none; transition: none; + /* Let Chromium skip layout/paint for distant rows while retaining the full + DOM, so sorting, bulk selection, and row event wiring remain unchanged. */ + content-visibility: auto; + contain-intrinsic-size: auto 86px; } tr.lib-char-card.lib-chars-tbl-row:hover { transform: none; box-shadow: none; background: var(--panel); } .lib-chars-tbl-row:hover { background:var(--panel); }