# WindowOpacity, end to end: the builtin the core only offers to a shell that # declared the capability (src/builtins.zig), through pardes_window_opacity, # to the alpha CoreGraphics actually left in the framebuffer. # # The contract is two-sided and shaders/ui.frag.glsl states it for the SDL # shell: BACKGROUNDS take the percentage, glyph ink never does. `draw-opacity` # records both ends of the range so a regression that made the whole window # translucent — text included — reads as a changed maximum, not as a pass. start 24 80 wait 8000 Newcol Joincol wait 8000 $ stable 700 20000 # Opaque is the default, and an opaque view caches without an alpha channel # at all. draw-opacity solid # Backgrounds drop to 60%; the prompt and the chrome text stay at 255. command WindowOpacity 60 stable 700 20000 snap translucent draw-opacity translucent # 0 is the extreme the block cursor exists to survive: every background is # gone and the ink is still there. command WindowOpacity 0 stable 700 20000 draw-opacity clear # ...and back, which must restore an opaque view rather than leave a window # that is merely painting 100% alpha into a transparent surface. command WindowOpacity 100 stable 700 20000 draw-opacity restored