Skip to content

Commit 8cd2006

Browse files
author
CodeWhale Bot
committed
Merge codex/delete-whale-art-20260829: delete the hand-drawn whale art and ▚△▞ crown (founder directive)
whales.rs portraits, idle-whale rows, the fleet-roster portrait block, and the last live crown (the composer chrome cap) are gone. The roster keeps its non-art identity; the startup hero keeps the GENERATED 12x6 fluke block from the brand master path. Four absence tests pin the crown out. Verified by the integrator: full tui lib suite 11,523 passed / 0 failed; crown grep clean (only !contains assertions remain); budget 444 exactly; fmt/clippy clean; net −764 lines.
2 parents 7841b43 + b4e4421 commit 8cd2006

19 files changed

Lines changed: 123 additions & 887 deletions

crates/tui/src/tui/app.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1537,9 +1537,6 @@ pub struct App {
15371537
pub calm_mode: bool,
15381538
pub low_motion: bool,
15391539
pub constrained_frame_rate: bool,
1540-
/// Start of the idle-welcome caustic. `None` until that mark is actually
1541-
/// on screen, so launch and onboarding cannot consume the first sweep.
1542-
pub ocean_started_at: Option<Instant>,
15431540
/// The ambient animation clock, in clamped milliseconds. Creature and
15441541
/// water positions are pure functions of this value; advancing it by at
15451542
/// most [`App::AMBIENT_MAX_STEP_MS`] per sampled frame keeps motion

crates/tui/src/tui/app/init.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,6 @@ impl App {
837837
calm_mode,
838838
low_motion,
839839
constrained_frame_rate,
840-
ocean_started_at: None,
841840
ambient_clock_ms: 0,
842841
ambient_clock_sampled_at: None,
843842
ambient_idle_since: None,

crates/tui/src/tui/composer_chrome.rs

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

138140
use ratatui::{
139141
buffer::Buffer,
@@ -144,14 +146,6 @@ use unicode_width::UnicodeWidthStr;
144146

145147
use 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
157151
pub 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

231221
fn 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));

crates/tui/src/tui/composer_chrome/tideline_tests.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,18 @@ fn composer_matches_goldens_at_blocker_sizes() {
3636
}
3737

3838
#[test]
39-
fn composer_border_is_rounded_with_fluke_cap_and_send_hitbox() {
39+
fn composer_border_is_rounded_with_send_hitbox_and_no_crown() {
4040
let composer = TidelineComposer::new(&UI_THEME, "draft").focused(true);
4141
let text = draw_docked(80, 24, &composer);
4242
let top = text.lines().nth(20).unwrap_or_default();
4343
assert!(top.starts_with('╭'), "rounded top-left: {top:?}");
4444
assert!(
45-
top.ends_with("▚△▞"),
46-
"fluke cap replaces the corner: {top:?}"
45+
top.ends_with('╮'),
46+
"plain rounded top-right corner: {top:?}"
47+
);
48+
assert!(
49+
!text.contains("▚△▞"),
50+
"the hand-drawn crown fluke was deleted by the founder decree: {text}"
4751
);
4852
let bottom = text.lines().nth(23).unwrap_or_default();
4953
assert!(
@@ -102,9 +106,10 @@ fn composer_ascii_safe_projects_to_ascii() {
102106
let text = draw_docked(80, 24, &composer);
103107
let top = text.lines().nth(20).unwrap_or_default();
104108
assert!(
105-
top.starts_with('+') && top.ends_with("<.>"),
106-
"ascii border+cap: {top:?}"
109+
top.starts_with('+') && top.ends_with('+'),
110+
"ascii border corners: {top:?}"
107111
);
112+
assert!(!text.contains("<.>"), "ascii crown is gone too: {text}");
108113
assert!(text.contains("[^]"), "ascii send: {text}");
109114
for ch in text.chars() {
110115
if ch != '\n' {

crates/tui/src/tui/goldens/composer_100x30.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525

2626

27-
╭────────────────────────────────────────────────────────────────────────────────────────────────▚△▞
27+
╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
2828
│ restyle the footer band▌ │
2929
│ [↑] │
3030
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

crates/tui/src/tui/goldens/composer_120x32.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727

2828

29-
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────▚△▞
29+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
3030
│ restyle the footer band▌ │
3131
│ [↑] │
3232
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

crates/tui/src/tui/goldens/composer_160x40.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535

3636

37-
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────▚△▞
37+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
3838
│ restyle the footer band▌ │
3939
│ [↑] │
4040
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

crates/tui/src/tui/goldens/composer_80x24.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919

2020

21-
╭────────────────────────────────────────────────────────────────────────────▚△▞
21+
╭──────────────────────────────────────────────────────────────────────────────╮
2222
│ restyle the footer band▌ │
2323
│ [↑] │
2424
╰──────────────────────────────────────────────────────────────────────────────╯

crates/tui/src/tui/goldens/settings_100x30.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
WHALE │ASSIGNMENT │STATE
2424
▶ whale-1 │restyle th…│● working
2525
whale-2 │golden buf…│✓ done
26-
╭──────────────────────────────────▚△▞
26+
╭────────────────────────────────────╮
2727
│ the preview is the product▌ │
2828
? help │ [↑] │
2929
/ file issue ╰────────────────────────────────────╯

crates/tui/src/tui/goldens/settings_120x32.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
WHALE │ASSIGNMENT │STATE
2626
▶ whale-1 │restyle the footer…│● working
2727
whale-2 │golden buffers │✓ done
28-
╭──────────────────────────────────────────▚△▞
28+
╭────────────────────────────────────────────╮
2929
│ the preview is the product▌ │
3030
? help │ [↑] │
3131
/ file issue ╰────────────────────────────────────────────╯

0 commit comments

Comments
 (0)