feat(templates): whatsapp-chat + notes-app cards, markup rollout - #90
Merged
Merged
Conversation
…witter/tiktok/quote-stack New templates (both 1080x1350, inline-markup enabled): - whatsapp-chat: contact header + 6 message slots with side toggle, dynamic bubble heights, text_color per page - notes-app: iOS notes paper card (note_bg/title_color/body_color), timestamp bar, markup-enabled body Markup rollout: options=["markup"] + segments rendering added to twitter-quote, tiktok-quote, and quote-stack q1/q2/q3. Default renders are md5-identical to the pre-change baseline (backward compatible). Docs: template pages, gallery cards, sidebar entries.
| {% set segs = msg[3] %} | ||
| {% set lines = msg[2] %} | ||
| {% set n_lines = segs | default(lines) | length %} | ||
| {% set bh = 52 + n_lines * 38 %} |
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-code · BYOK · MIT |
CodeCora finding on the PR was valid: fixed 170px slots with variable bubble heights (schema allowed 4 wrapped lines = 204px) could overlap the next bubble and push past the phone frame. - Bubbles now stack via a minijinja namespace accumulator (y cursor), so heights can never collide - mN_text max clamped 120 -> 60 chars (2 wrapped lines max), keeping the mathematically guaranteed fit: 6 x (52 + 2*38 + 24) = 1188px, inside the 1190px frame even when every message is at max length Verified with a max-length stress render: 6 two-line bubbles, no overlap, last bubble inside the frame, consistent gaps (vision QA).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two new social templates + inline markup rollout to three more quote templates.
New:
whatsapp-chat(1080×1350) — chat conversation card, the viralIndonesian social pattern that was missing from the catalog:
m1_text…m6_text), each with amN_sidetoggle(
left/right, sensible chat-alternating defaults)(
*bold*,_italic_,*color:#hex*) per message viaoptions: ["markup"]text_colorper-page override; bg_image + bg_overlay_opacity supportedNew:
notes-app(1080×1350) — iOS-notes-style text card:note_bg, default#fef9c3) with window bar, grip dots,timestamp line (
note_timestamp)title(bold,title_color) +body(required,body_color) with fullinline markup support
Markup rollout —
options: ["markup"]+ segments rendering added totwitter-quote,tiktok-quote, andquote-stack(q1/q2/q3_text). Theirdefault renders are byte-identical to before (md5-verified), so this only
activates when input text contains markers.
Docs: pages for both new templates, masonry gallery cards, sidebar entries.
Why
Chat/WhatsApp and notes-app screenshots are the two highest-performing text
content patterns in Indonesian social feeds that cosy had no template for.
Testing
cosy validate+ render on both new templates passwhatsapp-chatvision QA: alternating sides, dynamic bubble heights,bold/italic/color rendering, zero marker leakage — 5/5
notes-appvision QA: paper/window/title/body chrome, bold + italic runs,no literal markers — 5/5
default renders md5-identical to pre-change baseline (3/3)