unroll / scrolls

Commit History

8 days ago

  1. One page scroll bar and American English

    Verified signature
    757768f

19 days ago

  1. Lighter mesh for phones: tools/build.py --coarsen N (and UNROLL_STEP) keeps every Nth sampled row and column of a built mesh with the same UV mapping; PHerc0172 lite mesh 527,834 vertices (from 2,082,140), 1.5 MB packed, loaded automatically on phones via geometry.lite (?mesh=full or ?mesh=lite overrides); tear threshold follows the mesh step

    Chase
    0d6db02
  2. Short labels and tooltips show the scan as 9.4 µm (9.362 µm stays in the details)

    f043f2f
  3. Reword ink-layer copy: candidates for expert reading⁠

    Chase Hendrick
    bf77c3f
  4. Add PHerc1667 (Scroll 4): 19 segments (7.91 um meshes, X-ray from the 2.399 um scan, published ink 2.399 um and 1.129 um), from the open data bucket (CC BY-NC 4.0), with the EduceLab-Scrolls citation

    623318d
  5. Public API at window.unroll (schema, help, coverage test; ui and bench groups), embed mode with postMessage bridge and oEmbed, version 0.9.4 in About and API, ink_9um (9 µm) label and credit, Ink Bench hardening from the audit, hashchange without reload, capped test hooks

    cc6b6d8
  6. Relicense all code to Apache 2.0 (LICENSE, NOTICE with three.js kept MIT, frontmatter), version 1.0.0 (version.json, CHANGELOG.md); scan data stays CC BY-NC 4.0

    Chase
    7a02281
  7. Add PHerc1447 (prize eligible): 15 segments, 8.64 um meshes and X-ray only, no ink layer and no ink model run, from the open data bucket (CC BY-NC 4.0)

    a11db9d
  8. Overlay textures upload through a per-frame queue (about 6 ms per frame, initTexture) instead of all at once, removing the 14.6 s main-thread freeze; import map versions for tear.js, damage.js and lib/*.js; scan shown as 9.4 µm with 9.362 µm voxels in the details; glossary links every occurrence; mobile panel clears the bottom bar

    1410d57
  9. Add PHerc0172 (Scroll 5): 44 segments w052 to w095 (7.91 um meshes and X-ray, published ink 7.91 um, newest model), from the open data bucket (CC BY-NC 4.0)

    0b28f8c
  10. Control panel redesign (ui.js, ui.css): grouped Layers, Ink Bench, View, Destroy and Scrolls with icon and text labels, 44 px targets, pressed states, shortcut tooltips, focus rings, docked mobile panel; Settings (quality, reduced motion, speed, glow, background, HUD, labels, sensitivity, units, Ink Bench button) saved in localStorage and settable by URL; agent API unrollView.actions/settings/state/glossary (docs/AGENT_API_UI.md); plain language glossary.json under About with linked terms; faster intro (motion within one frame, ease-out, about 2.5 s, skip with Enter or button, follows speed) with shaders compiled behind the loader; CPU pick fallback for Destroy on GPUs without float targets; readout panel, fixed Roll up width, header clear of the panel

    97b9983
  11. Add PHerc0800 (prize eligible): 6 segments, 8.64 um meshes and X-ray only, no ink layer and no ink model run, from the open data bucket (CC BY-NC 4.0)

    9b732da
  12. Add PHerc0841: 3 segments (9.366 um meshes and X-ray, published ink 2.403 um), from the open data bucket (CC BY-NC 4.0)

    47dae70
  13. Add PHerc0343P: 8 segments (8.64 um meshes and X-ray, published ink 2.215 um), from the open data bucket (CC BY-NC 4.0)

    3dbdbf9
  14. Add PHerc0009B: 18 segments with published ink (8.64 um meshes and X-ray, ink 2.401 um), from the open data bucket (CC BY-NC 4.0)

    7194fee
  15. Relabel the second ink layer as ink_9um (9 µm): Chase Hendrick ran the public scrollprize/ink_9um model, which the Vesuvius Challenge trained; HUD readout INK_9UM; cache-busting version on JS and CSS

    01b454f
  16. Add PHerc0814: 19 segments (9.362 um meshes), X-ray, published ink 2.399 um and 1.129 um, from the open data bucket (CC BY-NC 4.0)

    e2acbe0
  17. Multi-scroll support: build.py and fetch.py take any open-data scroll (per-scroll voxel size, X-ray scan, renumbering by radius, optional ink, a second 1 um ink layer), make_manifest.py, the scroll picker's prize eligible badge and eligible-only toggle (window.unrollScrolls), and a 'Why N ink layers?' box written from each manifest's ink layers

    cf20894
  18. Faster first load: ship the int16 geometry as byte planes + gzip (scroll.i16p.gz, 1.62 MB instead of 3.48 MB), unpacked in the browser to the exact scroll.bin bytes with a fallback to scroll.bin; tools/pack_bin.py builds it, tests/pack_bin.mjs checks the round trip

    77b49a9
  19. ink_9um layer: all 37 windings (w023 to w045 and w052 to w059 run on Modal), manifest range and gpu.json

    Grok Bot
    e0226a7
  20. Destroy: fibrous alpha-tested damage edges, Burn and Water tools with cursors, Roll up, size-dependent debris that settles on the floor, wall-clock burn timing; rename Tear apart to Destroy; ink model text reads its coverage from the manifest

    de293f3
  21. Data-driven scroll framework and Open your own⁠

    f6dcaa7