860980de8a
The paint Output write loop had two x-bounds guards Ink lacks, which dropped a whole wide char -- including its in-bounds leading cell -- when only its trailing cell exceeded the width, so an edge-aligned "aa你" rendered as "aa". Ink's Output write loop has no bounds check: it writes both cells and lets the past-width placeholder be dropped as a sparse hole by line.filter(undefined) + trimEnd. Removes the two guards to match (output.ts:272-308); box-level overflow:hidden clipping is unchanged (the separate clipH sliceAnsi path). Un-skips the non-hyperlink-OSC overflow-wrap test, which this also fixes (the now-visible OSC bytes no longer push the trailing char off a clipped edge) -- verified "abcde\nfghij" against the Ink reference. Adds a wide-char-at-edge test. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>