The indent trigger was using .abs() which fired on both increased indent (non-indented → indented) AND decreased indent (indented → non-indented). This caused drop-cap style paragraphs (indented first line, flush-left continuation) to incorrectly split into two blocks. Per plan Phase 4.4 heuristic #2, indent change should only trigger when the current line is MORE indented (to the right, larger x0) than the block average - i.e., a new paragraph starting after non-indented text. It should NOT trigger for decreased indent (first line indented, rest flush-left). Fix: Remove .abs() and only check if line_x0 - block_avg_x0 > threshold. Tests: - test_indented_first_line_new_block: PASS (non-indented → indented splits) - test_indented_first_line_of_paragraph_not_split: PASS (drop cap stays together) - All 179 line module tests: PASS
21 lines
1,001 B
Text
21 lines
1,001 B
Text
# SHA-256 Checksums for build-time data files
|
|
#
|
|
# This file contains SHA-256 checksums for data files used during the build
|
|
# process. These checksums are verified by build.rs on every build to ensure
|
|
# the files have not been tampered with or corrupted.
|
|
#
|
|
# Per plan line 909: build/font-fingerprints.json and build/glyph-shapes.json
|
|
# have SHA-256 checksums committed in build/CHECKSUMS.sha256. build.rs
|
|
# verifies checksums on every build; a mismatch aborts the build with a clear
|
|
# error pointing to the regeneration script.
|
|
#
|
|
# Format: <checksum> <filename>
|
|
#
|
|
# To regenerate this file after legitimate updates:
|
|
# sha256sum build/glyph-shapes.json build/font-fingerprints.json > build/CHECKSUMS.sha256
|
|
|
|
# Glyph shapes database for Level 4 encoding fallback
|
|
a3cba1a5b82c6f04e25450608ceeffd3b66b3de2ee1c28da008bc59de6625a96 build/glyph-shapes.json
|
|
|
|
# Font fingerprints for Level 3 encoding fallback
|
|
76ba4a7c21efc86159ffa7247121db9f2987e3184d3b69a88b9e8cc3c88c7467 build/font-fingerprints.json
|