mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-06 18:51:26 +00:00
* #3867: review — header repeats, picture outlines and linked-box widths bounded the same way every layout - Header repeats: a Clip (floating Drawing Canvas) counts its members, depth-bounded, so a 1000-member canvas no longer counts as one item (CodeRabbit thread 4373103686); the budget is per layout (Ctx), not per table. - Tight-wrap outlines: each cache entry stores its picture's pixel cost; a cached hit is charged to the layout's decode budget like a decode, so cold and warm layouts (and the CLI) wrap alike. - Linked boxes: widths are budgeted by laid-out work (MAX_FLOW_WORK), not 16 widths, so ordinary stories keep exact widths for every box. - header_rows.contains -> index compare; layout-parity doc revision. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HUodYU9r4mPHed4pPsjHC2 * #3867: review — a picture that fails to decode still costs its pixels when cached; header repeats restored on retry - contour: Alphas records the pixels each picture charged (costs map), also when the body then fails to decode, so the cache entry's cost is right and warm layouts charge it like cold ones. - Snap saves and restores ctx.header_repeats so balance_pass retries don't keep their charge. - Tests: truncated large PNG cold vs warm; canvas header row end to end through place_table; linked-chain bound <= 8; vertical box's layout differs from every other box's. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HUodYU9r4mPHed4pPsjHC2 * #3867: CodeRabbit — header and linked-box budgets count every clip descendant placed_cost counts iteratively (explicit stack, stops past the limit) and is shared by flow_work. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HUodYU9r4mPHed4pPsjHC2 * #3867: docs — progress log, gap 20 note for layout resource caps and linear-time passes Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HUodYU9r4mPHed4pPsjHC2 * #3867: review — roadmap gives each cap its unit: header items, wrap-cache pixels, linked text box lines and items Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * #3867: CodeRabbit — the vertical-box check runs past the work cap too Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #3867: review — a linked chain's work counts the story it lays out, not only the lines it shows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #3867: review — header-row cost import follows main's explicit layout imports (#4501) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #3867: review — a test pins the header repeats that column balancing gives back; docs keep main's caps row and both gap status lines Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>