Skip to content

Commit e87ce0e

Browse files
dgunningclaude
andcommitted
docs(media): redo 13F clip as value-sorted top-10 holdings
The previous 13F clip rendered the raw object (~98 alphabetical rows) and scrolled the headline and iconic positions off-screen, landing on no-name mid-table holdings. Switch to holdings_view(10): Berkshire's top 10 by value (Apple, Amex, Coca-Cola, BofA, Chevron...) in one clean, untruncated frame. - Load the 13F off-camera so the reveal is instant. - Env VHS_CONSOLE_WIDTH=124 + FontSize 16 to show full names/values in 1280px. - Document two VHS gotchas in the harness README: Env must follow all Set directives (else Set is dropped), and lines render ~40px tall. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent ce4328c commit e87ce0e

4 files changed

Lines changed: 28 additions & 7 deletions

File tree

docs/images/thirteenf-holdings.gif

-10.3 KB
Loading

docs/images/thirteenf-holdings.mp4

-3.32 KB
Binary file not shown.

scripts/vhs/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ on-camera expression. Viewers never see boilerplate.
7575

7676
## Tips
7777

78+
- **`Env` must come AFTER all `Set` directives** (and after `Source`). If an
79+
`Env` line sits between `Source` and a `Set`, VHS silently drops the
80+
following `Set` commands — e.g. `Set Height` reverts to the theme default and
81+
the output is the wrong size. Order: `Source``Set ...``Env ...`
82+
`Output`. (`thirteenf-holdings.tape` widens the Rich console via
83+
`Env VHS_CONSOLE_WIDTH "124"`.)
84+
- **Lines render tall (~40px at FontSize 16).** Budget height generously — a
85+
~19-line panel needs `Set Height 880`, not the ~500 the arithmetic suggests.
7886
- **Frame height = fit the output, no scroll.** If a table scrolls, its header
7987
is gone from the final hold frame. Raise `Set Height` until the whole result
8088
fits (≈21.6px per line at FontSize 18, plus padding).
Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,40 @@
11
# CLIP — 13F institutional holdings.
2-
# Berkshire Hathaway's latest 13F: the report summary (manager, holdings count,
3-
# total value) and the full portfolio, scrolling through 90 positions.
2+
# Berkshire Hathaway's latest 13F, top 10 positions by value — the iconic
3+
# portfolio (Apple, Amex, Coca-Cola, BofA, Chevron...) in one clean frame.
4+
#
5+
# Uses holdings_view(10) (value-sorted, deduped) instead of the raw object,
6+
# which would render ~98 alphabetical rows and scroll the headline off-screen.
7+
# Env widens the Rich console to 124 so issuer names and dollar values aren't
8+
# truncated; FontSize 16 keeps that width inside the standard 1280px frame.
49
#
510
# Render:
611
# docker run --rm -e EDGAR_IDENTITY="$EDGAR_IDENTITY" \
712
# -v "$PWD:/vhs" -w /vhs edgartools-vhs scripts/vhs/thirteenf-holdings.tape
813

914
Source scripts/vhs/theme.tape
10-
Set Height 720
15+
Set FontSize 16
16+
Set Height 880
17+
Env VHS_CONSOLE_WIDTH "124"
1118

1219
Output scripts/vhs/out/thirteenf-holdings.gif
1320
Output scripts/vhs/out/thirteenf-holdings.mp4
1421

22+
# Load Berkshire's latest 13F off-camera so the reveal is instant and the panel
23+
# (title + header + 10 rows) fits without the load line pushing it off-screen.
1524
Hide
1625
Type "python -q"
1726
Enter
1827
Sleep 6s
28+
Type "brk = Company('BRK.B').get_filings(form='13F-HR').latest().obj()"
29+
Enter
30+
Sleep 7s
1931
Ctrl+L
2032
Show
2133

34+
# Reveal the top holdings by value.
2235
Sleep 800ms
23-
Type@80ms "Company('BRK.B').get_filings(form='13F-HR').latest().obj()"
24-
Sleep 1s
36+
Type@80ms "brk.holdings_view(10)"
37+
Sleep 600ms
2538
Enter
26-
Sleep 6s
27-
Sleep 3s
39+
Sleep 2s
40+
Sleep 3500ms

0 commit comments

Comments
 (0)