Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 2.95 KB

TODO.md

File metadata and controls

47 lines (40 loc) · 2.95 KB

Todo

Usability

  • Simplify the "from ztml.ztml import ztml" hierarchy
  • Support encoding video/audio/fonts/PDF/...
  • Support encoding multiple media elements
  • Provide an easy way to view and edit output HTML in Colab
  • Make into a PIP library and start doing versioning
  • JS library?
  • Expose more parameters and allow skipping steps in ztml() / CLI / Colab, possibly via config file
  • Stand-alone online web GUI
  • Stand-alone executable (+ script to build it)

Compression

  • Ablation benchmarks

  • Launch a challenge for smaller decoders

  • Entropy coding:

  • Auto-caps should use modifiers for next letter/word/sentence/paragraph or block-level, over simple mode instead of falling back to raw. See e.g. Grabowski, Batista&Alexandre

  • Dictionary compression for large texts + add references

  • Fast Huffman one-shift decoder, and follow-up works: Gagie et al., Grabowski&Koppl

  • Consider Roadroller entropy coder

    MTF:

  • Improve JS MTF decoding times for large files

  • Automatic optimizing over MTF variants

  • Benchmark alternatives to MTF + add references

    Deflate:

  • Investigate effect of PNG aspect ratio on compression / optimize over it

  • Investigate Safari canvas size limits

  • Use 8/24-bit to overcome canvas size limits when necessary (will not work on Safari, unless we go WebGL)

  • Compress metadata into PNG

  • Use WOFF2 as a Brotli container

    Webification and minification:

  • Base139

  • Compress the JS itself and use eval, considering also JS packing e.g. JSCrush, JS Crusher, RegPack, Roadroller

  • Strip whitespace from code lines not part of multi-line content strings (see e.g. above JS packers and closure-compiler, jsmin, miniMinifier, Terser, UglifyJS)

Validation and testing

  • Running full tests take too long
  • Linux installation instructions / Enable validation in Colab
  • Validation testing for Safari (consider Playwright to test WebKit)
  • Fix slow rendering with Selenium in validation
  • Tests for text_prep.py: normalize, caps, the
  • Automatic testing on GitHub