Export template source from 122c862dccc4a1825f19cc8d4eb1095e5661f1ea:examples/local-first/packages/language-reader-presentation
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Renderer provenance
|
||||
|
||||
This renderer follows the measured source-span layout and aligned overhead
|
||||
annotations from Fluxtapose's `reading-chapter-ui`, including its later highlight
|
||||
and underline work. The recovered source was the Nix-cached package at
|
||||
`/nix/store/2ka0jcdpyijmpjsrwqkap682l4xk88zi-source`, rather than the earlier
|
||||
prose-probe prototype. Fluxtapose's `reading-app-2` references package revision
|
||||
`4e479c1a74c13d7467071da60b98fc148128dd99`; exact cache revision is unconfirmed.
|
||||
|
||||
Recovered file SHA-256:
|
||||
|
||||
| File | SHA-256 |
|
||||
| ------------------ | ---------------------------------------------------------------- |
|
||||
| text-layout.ts | e6c330f60b7f1c16235454d1ce9c7656ef2379e744322ac13826753831e13d72 |
|
||||
| text-rendering.ts | ce2ea4f15f4d3b86d4b8f72d6ac7221cb131c996d19ec24052d80e3235012f77 |
|
||||
| text-processing.ts | 7d8a72aa2d8791ad37351d1c7c872419b288b5e0e51214983a29ff48c8465038 |
|
||||
|
||||
The original shared source/annotation flow is preserved: every annotation source
|
||||
has one row per physical text line. Long words and translations request horizontal
|
||||
padding around their source ranges and continue across subsequent lines. A forward
|
||||
capacity constraint replaces the ten-pass spacing loop; collisions never create
|
||||
additional annotation rows. Conflicting ranges from the same source share an
|
||||
ordered horizontal run. Row heights use all glyphs/ranges, and mixed font sizes
|
||||
share a baseline. Text keeps original
|
||||
UTF-16 offsets, including leading spaces and grapheme clusters. Measurement is
|
||||
injected for tests and uses a bounded cache in browsers. Canvas drawing and
|
||||
selection have no Konva or memoizee dependency.
|
||||
|
||||
Legal wrap positions use the pinned `@cto.af/linebreak` 4.0.3 implementation of
|
||||
Unicode 17 UAX #14, intersected with Intl grapheme boundaries. Intl word
|
||||
segmentation remains responsible for word targeting and preferred word affinity.
|
||||
Source text and overhead labels use the same line-breaking layer. Closing marks
|
||||
stay with preceding text, opening brackets stay with following text, and
|
||||
annotation padding cannot insert a break inside those punctuation spans. Oversized
|
||||
words and numbers use emergency tailoring of the alphabetic/numeric rules while
|
||||
retaining punctuation rules; viewports narrower than an inseparable span still
|
||||
require clipping. The package's Yarn lock and generated Nix dependency closure
|
||||
retain the library and its transitive dependencies for reproducible browser builds.
|
||||
Reference in New Issue
Block a user