EuroPaint: a painting app, not a pixel toy
The old paint demo had twelve fixed colors. The rewritten EuroPaint has a full HSV color picker with saturation and value plane, hue strip and precise swatches, nine real tools (pencil, brush with size, line, rectangle, ellipse, filled variants, flood fill and an eraser), and a proper undo and redo stack. Every tool draws through the same software rasterizer the compositor uses, so what you paint is exactly what the desktop shows.
EuroView and a JPEG decoder of our own
The image viewer, EuroView, now browses a folder, zooms, and rotates. The bigger story is underneath: EuroOS previously decoded PNG, BMP, QOI and PPM with its own code, but JPEG, the format most photographs actually use, was missing. The euromedia crate now contains a from-scratch baseline JPEG decoder: Huffman decoding, dequantization, the 8x8 inverse DCT, restart markers, and YCbCr conversion for 4:4:4, 4:2:2 and 4:2:0 chroma layouts with proper upsampling. It is truth-tested pixel by pixel against a reference decoder on real photographs. No library was imported; that is the point of this project.
EuroNotes: rich text on a from-scratch text stack
EuroNotes grew from a plain-text pad into a note keeper with bold and italic styling, search across notes, and note management. Styled text sounds trivial until you remember there is no font engine to lean on here: the styling is drawn by our own text renderer, which synthesizes the weights and slants at draw time. The editing core (cursor, selection, buffer) was factored out and is now shared by every text-editing surface on the desktop, so a fix in one editor fixes them all.
EuroFiles: metadata, protection, and a history for every file
The file manager finally answers the questions a file manager exists for: how big, changed when, and which version. Behind that sits the largest piece of this sprint, in the filesystem itself:
Permissions that are enforced
Read, write and execute bits are enforced in the kernel VFS for every process, with chmod to change them from the shell and the file manager. Before, permissions were displayed; now they are law.
Immutability and signed integrity
System files can be marked immutable, and the integrity service verifies them against the signed kernel image on a schedule. Deleting or editing a protected file is refused with a reason, not a shrug.
Per-file versioning
Files and folders can opt into version history. Saving keeps the previous version; the file manager shows the history and restores any of them. This is a filesystem feature, so every application inherits it without changing a line.
Search, everywhere
EuroOS now has a system-wide search: one keystroke opens it, and it finds applications, files by name, and file contents, ranked and live as you type. It is built on the same indexing the file manager uses, so results stay consistent with what the filesystem actually contains.
And the calculator got serious
EuroReken went from four operations to a scientific calculator: trigonometry, logarithms, powers and roots, parentheses and a proper expression parser, because a calculator that cannot compute sin(0.5)^2 is a demo, not a tool.
Honest footnotes, as always
- Everything above is native EuroOS code drawing through the EuroOS compositor. No toolkit, no font engine, no image library was imported.
- Each feature landed with self-tests in the boot sequence and host-side unit tests; the suite stands at over a thousand tests and is green on every published image.
- The JPEG decoder is baseline JPEG. Progressive JPEG decoding is not implemented yet and files using it are reported as unsupported rather than mis-rendered.
- Versioning and protection are per-file opt-in features of the EuroOS filesystem; foreign filesystems (FAT, ext, NTFS) mount as before, without them.