Commit graph

11 commits

Author SHA1 Message Date
cb12824da4 feat: add sqlite database reloading
this is used by scan3 to notify active servers that there is new data to
be aware of.
2025-08-11 23:05:13 -07:00
f1d4be2553 feat: dynamic page regeneration (#24)
the asset system is reworked to support "dynamic" entries, where each
entry is a separate file on disk containing the latest generation's
headers+raw+gzip+zstd. when calling view.regenerate, it will look for
pages that had "export const regenerate" during generation, and render
those pages using the view system, but then store the results as assets
instead of sending as a response.

pages configured as regenerable are also bundled as views, using the
non-aliasing key "page:${page.id}". this cannot alias because file
paths may not contain a colon.
2025-08-11 22:43:27 -07:00
8c0bd4c6c6 rewrite incremental.ts (#21)
the problems with the original implementation was mostly around error
handling. sources had to be tracked manually and provided to each
incremental output. the `hasArtifact` check was frequently forgotten.
this has been re-abstracted through `incr.work()`, which is given an
`io` object. all fs reads and module loads go through this interface,
which allows the sources to be properly tracked, even if it throws.

closes #12
2025-08-02 20:56:36 -04:00
0a345c677a finish scan3 2025-08-02 20:56:36 -04:00
395492a631 format 2025-08-02 20:56:36 -04:00
f4cda52770 initial run of scan3 on sandwich 2025-08-02 20:56:36 -04:00
6a5ec7ee64 actually run ffmpeg fr fr 2025-08-02 20:56:36 -04:00
e27fee6209 move discovered ffmpeg presets 2025-08-02 20:56:36 -04:00
daa4aa0293 start av1 encoding ??? 2025-08-02 20:56:36 -04:00
b0c7374d9f stuff for file view 2025-08-02 20:56:36 -04:00
2cb5f47d4f get clo file viewer running 2025-08-02 20:56:36 -04:00