openpencil/templates/step0/_generators
Fini 6fd0b343a1 fix(editor): tighten template copy that wrapped into orphan lines
A CJK line-break gate over all fifty-eight templates caught eleven
sets whose body copy wrapped into three-character orphan tails or
punctuation-led lines. Each line is shortened to fit its measured
column (paired sides stay symmetric where the layout demands it),
affected root heights re-measured, previews re-baked. The one
remaining gate report is a simulator false positive disproven by the
rendered frame.

Claude-Session: https://claude.ai/code/session_01FqKQqNj8exYwopGDpYUU7x
2026-08-09 02:24:44 +08:00
..
assets feat(editor): add step-0 scene templates for the mass-market track 2026-08-02 11:00:34 +08:00
bake_hints.py feat(editor): add step-0 scene templates for the mass-market track 2026-08-02 11:00:34 +08:00
cardlib.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
oplib.py feat(editor): refresh deck template visuals 2026-08-07 02:00:22 +08:00
previews.sh feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
scene_preview_cards.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl1.py feat(editor): add step-0 scene templates for the mass-market track 2026-08-02 11:00:34 +08:00
tpl2.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl3.py feat(editor): add step-0 scene templates for the mass-market track 2026-08-02 11:00:34 +08:00
tpl_bookreview_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_daily.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_metric.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_notice.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_price.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_quote.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_card_spine.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_cards.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_cityguide_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_do_dont.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_compare_myth_truth.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_pricing_tiers.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_scenario_guide.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_spec_table.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_three_way.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_time_shift.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_tradeoff_scale.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_compare_version_diff.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_datareport_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_event_deck.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_gradient_tech.py feat(editor): refresh deck template visuals 2026-08-07 02:00:22 +08:00
tpl_infographic_challenge.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_infographic_concept.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_infographic_data.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_faq.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_infographic_list.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_map.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_ranking.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_steps.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_story.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_infographic_timeline.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_journal_card.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_lecture_light.py feat(editor): refresh deck template visuals 2026-08-07 02:00:22 +08:00
tpl_minimal_keynote.py feat(editor): refresh deck template visuals 2026-08-07 02:00:22 +08:00
tpl_opinion_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_pitch_dark.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_qa_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_quote_card.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_slides.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_story_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_toolkit_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_diy.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_tutorial_onboarding.py fix(editor): tighten template copy that wrapped into orphan lines 2026-08-09 02:24:44 +08:00
tpl_tutorial_photo.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_recipe.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_report.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_skincare.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_software.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_storage.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_tutorial_workout.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00
tpl_yearreview_carousel.py feat(editor): grow the template library to fifty-eight across six scenes 2026-08-09 02:24:43 +08:00