What is FMRL?
.fmrl (Fragile Manuscript Record Layer) is an image codec
where visual degradation is a core design feature. Files age with every
save — simulating the natural deterioration of physical media.
- Three aging algorithms — erosion, consolidation, and bleach each degrade images differently
- Information-reducing — each aging step genuinely loses data, making files smaller
- Deterministic — same file state always renders identically across all platforms
- Self-contained — all aging state lives inside the file's
AGE chunk
Aging Techniques
Erosion — morphological erosion: any non-paper pixel with
four or more paper 8-neighbors becomes paper. Short runs (≤2 pixels) are
also eliminated. This erodes one layer from every exposed surface per step.
Consolidation — progressive block merging: 2×2 blocks consolidate
to one pixel, then 4×4, 8×8, and finally 16×16 before becoming paper.
Drawings made over older content age naturally alongside existing strokes.
Bleach — convolutional cleaning: sliding 2×2 windows detect
noisy patterns (3+ different indices, imbalanced 3:1 splits, or anti-diagonal
arrangements) and become paper. Removes speckles while preserving solid strokes.
Format Details
The .fmrl format stores images as a 16-color indexed palette
(index 0 = paper, 1 = ink, 2-15 = grayscale steps) in 128×128 tiles, each
zlib-compressed with maximum compression. The AGE chunk
carries per-tile consolidation levels and timestamps, rewritten with every save.
Use the Age buttons to manually age the image.
Passive auto-aging can be enabled to age the canvas while you work.
Keyboard Shortcuts
| Space | Age one step |
| a | Toggle auto-aging |
| f | Cycle aging algorithms |
| t | Cycle themes |
| ↑ ↓ | Adjust aging speed |
| Delete | Clear canvas |
| Esc | Exit text mode |
Shortcuts are disabled while typing or when inputs are focused.
Debug Mode
Enable to save PNG alongside FMRL for inspection.