gfx: a new mark -- Shift for the OS, Uberblock for SchFS, Guru for the crash

The old logo was a thin monoline wordmark in a ring, with a grey gradient. The
kernel draws include/logo.h as a 128x128 four-bit coverage mask, so hairlines at
that size go ragged, the ring spent most of the area on nothing, and at small
sizes the S read as a 5.

Three marks, because each depicts the thing it belongs to and so they stop
competing:

  Shift       three slabs, displaced. The layer diagram in
              docs/architecture/README.md as a solid object, and the kernel's
              name as a shape. Dimensional rather than flat -- the tradition
              Paul Rand's NeXT cube belongs to, which is what the architecture
              already claims as its model.
  Uberblock   the SchFS ring: twelve slots, one of them newest. Twelve so the
              slots divide 360 exactly; an arbitrary count leaves a part slot
              crammed against its neighbour where the ring closes. The newest
              is marked by REACHING FURTHER OUT as well as by colour, because
              colour is exactly what the coverage mask discards.
  Guru        the PSOGM face, drawn for reference. Not wired in: panic.c argues
              for the ":(" on the grounds that it is "legible as a mood without
              being a picture of anything", and Guru spends that. Worth deciding
              on purpose.

mklogo.py reads ink as (255 - luminance) * alpha, so tones survive as *coverage*
rather than being flattened -- which means the old grey gradient was not
discarded, it was turned into partial transparency. It also inverts: darkest is
most ink, which the kernel draws brightest. The mask source is therefore a
separate greyscale file with the top slab darkest, or the object would be lit
from below. Two files sharing one geometry is a drift hazard and the desc in
both says so.

The splash gets it for free: ui_logo() shades per row with metal() and the
mask's own tones reinforce that gradient rather than fighting it, so the slabs
come out looking machined.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
This commit is contained in:
Nexoniarz 2026-09-12 17:14:52 +02:00
commit e80f7b287b
7 changed files with 589 additions and 477 deletions

12
Assets/SchOS Guru.svg Normal file
View file

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<title>Guru — the PSOGM face</title>
<desc>The crash-screen face. Chamfered corners quote the old SchOS letterforms.
Drawn here for reference only: kernel/core/panic.c builds it from primitives
rather than from a bitmap, so it scales with the display and costs nothing in
the kernel image.</desc>
<path fill="#7C5CFF" d="M58 24 L142 24 L176 58 L176 142 L142 176 L58 176 L24 142 L24 58 Z"/>
<path fill="#2B0F52" d="M74 82 h16 v22 h-16 Z"/>
<path fill="#2B0F52" d="M110 82 h16 v22 h-16 Z"/>
<path fill="#2B0F52" d="M72 128 h56 v11 h-56 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 655 B