@@ -124,16 +124,18 @@ mod tests {
124124
125125// ---------------------------------------------------------------------------
126126// Tideline composer restyle (spec §2 composer decision, §5a "Composer"):
127- // rounded border + fluke cap + `[↑]` send hitbox. Translation scaffolding in
127+ // rounded border + `[↑]` send hitbox. Translation scaffolding in
128128// the topbar mold — a pure, deterministic widget over injected state; the
129129// composer authority logic (composer_ui.rs) is untouched, and wiring into
130130// `ui/frame.rs` is the landing slice after #5698 settles.
131131//
132132// Cell rules (spec §2): no bezier strokes — `╭─╮│╰╯` border dim at rest and
133- // Info on focus; the three-cell fluke (`▚△▞`, ASCII `<.>`) is set into the
134- // top-right corner as the cap and carries the whale identity; the send `↑`
135- // is a 3-cell `[↑]` hitbox right-aligned inside the border. The hull taper
136- // silhouette is deliberately dropped (sub-cell vector work).
133+ // Info on focus; the send `↑` is a 3-cell `[↑]` hitbox right-aligned inside
134+ // the border. The hand-drawn three-cell crown fluke this cap used to carry
135+ // was deleted by the 2026-08-29 founder decree (terminal marks must be
136+ // generated from the brand master path, never hand-drawn); the corner is a
137+ // plain `╮` again. The hull taper silhouette is deliberately dropped
138+ // (sub-cell vector work).
137139
138140use ratatui:: {
139141 buffer:: Buffer ,
@@ -144,14 +146,6 @@ use unicode_width::UnicodeWidthStr;
144146
145147use crate :: palette:: { ChromeInk , UiTheme , chrome_style} ;
146148
147- /// The three-cell crown glyph for the composer's fluke cap (ASCII `<.>`).
148- /// Local to this later-slice scaffolding: the topbar's own copies were
149- /// deleted by the founder decree (terminal marks must be generated from the
150- /// brand master path); the composer cap keeps the hand-drawn projection
151- /// until its slice lands and replaces it.
152- const FLUKE : & str = "▚△▞" ;
153- const FLUKE_ASCII : & str = "<.>" ;
154-
155149/// The composer's fixed docked height in the work-screen shell (spec §5b).
156150#[ allow( dead_code) ] // translation scaffolding: wired by the landing slice
157151pub const TIDELINE_COMPOSER_HEIGHT : u16 = 4 ;
@@ -222,10 +216,6 @@ impl<'a> TidelineComposer<'a> {
222216 } )
223217 . collect ( )
224218 }
225-
226- fn fluke ( & self ) -> & ' static str {
227- if self . ascii_safe { FLUKE_ASCII } else { FLUKE }
228- }
229219}
230220
231221fn chrome ( theme : & UiTheme , ink : ChromeInk ) -> Style {
@@ -253,20 +243,15 @@ pub fn render_tideline_composer(area: Rect, buf: &mut Buffer, composer: &Tidelin
253243 } ;
254244 let border = chrome ( theme, border_ink) ;
255245
256- // Rounded border. Top row: `╭──…──▚△▞` — the fluke cap replaces the
257- // top-right corner (spec §2). The cap wakes with focus (bold).
258- let fluke = composer. fluke ( ) ;
259- let fluke_w = fluke. width ( ) as u16 ;
260- let top_fill = area. width . saturating_sub ( 1 + fluke_w) . max ( 1 ) ;
246+ // Rounded border. Top row: `╭──…──╮` — the hand-drawn crown fluke that
247+ // used to replace the top-right corner was deleted by the founder
248+ // decree; the corner is a plain `╮` again, waking with the border only.
249+ let top_fill = usize:: from ( area. width . saturating_sub ( 2 ) . max ( 1 ) ) ;
261250 let top: String = std:: iter:: once ( '╭' )
262- . chain ( std:: iter:: repeat_n ( '─' , usize:: from ( top_fill) ) )
251+ . chain ( std:: iter:: repeat_n ( '─' , top_fill) )
252+ . chain ( std:: iter:: once ( '╮' ) )
263253 . collect ( ) ;
264254 put ( buf, area. x , area. y , & composer. sym ( & top) , border) ;
265- let mut cap_style = chrome ( theme, ChromeInk :: Attention ) ;
266- if composer. focused {
267- cap_style = cap_style. add_modifier ( Modifier :: BOLD ) ;
268- }
269- put ( buf, area. x + area. width - fluke_w, area. y , fluke, cap_style) ;
270255
271256 // Bottom row: `╰──…──╯`.
272257 let bottom_fill = usize:: from ( area. width . saturating_sub ( 2 ) ) ;
0 commit comments