|
| 1 | +# Changelog |
| 2 | + |
| 3 | +Short notes for changes on branch **`v2`** relative to **`main`** (no dedicated git version tag). For an exact file list, run: `git diff main...v2 --stat`. |
| 4 | + |
| 5 | +## [v2] — vs `main` |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +- **Multi-line alignment** — projects and preview support more than two lines; links only between vertically adjacent lines. |
| 10 | +- **Line editor** — line cards (`LineCard`), modal text editing (`LineEditModal`), line settings (font, size, spacing, LTR/RTL, etc.) via popover/sheet. |
| 11 | +- **Per-pair line controls** — vertical gap slider (`LinePairGapSlider`), toggling connector visibility for each adjacent line pair (`pairControls`). |
| 12 | +- **Tokenization settings** — Tokens tab (word split characters, join character, optional punctuation tokenization); “?” hints (`SettingsFieldHint`). |
| 13 | +- **Built-in examples** — expanded set in `examples.ts` (simple, Turkish interlinear with glosses/IPA, RTL Hebrew/Arabic/English, Tagalog with hyphen inside words, CJK). |
| 14 | +- **`/about` page** — Aligner documentation, screenshots, table of contents, SEO; links from header and footer. |
| 15 | +- **`/privacy` page** — dedicated route and navigation updates. |
| 16 | +- **Raster export** — **2×–6×** scale for **PNG** and **PDF** (default 2×); tooltip explaining vector SVG/HTML. |
| 17 | +- **Share** — export project data as JSON for presets and debugging (`ShareDialog`). |
| 18 | +- **Custom fonts in exports** — **harfbuzzjs** for shaping (ligatures / OpenType closer to the browser), glyph outlines via **opentype.js** `glyph.getPath` at HarfBuzz glyph IDs (correct SVG orientation). |
| 19 | +- **Domain & state** — `lines-helpers`, broader `schema`/project/link-selection plumbing, `layoutExport`, jump-to Tokens tab (`settingsNav`), editor UI (`editorUi`), `viewport` where needed. |
| 20 | +- **Serialization** — state format evolution (including `compact-v3`, expanded `schema`), updated roundtrip and migration tests. |
| 21 | +- **Tests** — token/palette coverage, harfbuzz export smoke; `docs/v2-manual-qa.md`. |
| 22 | +- **Static assets** — screenshots for about, `sitemap.xml` updates. |
| 23 | + |
| 24 | +### Changed |
| 25 | + |
| 26 | +- **Home & SEO** — copy aligned with current UX (multi-line, adjacent links, terminology); Aligner (Bitext Align) branding; `SeoIntro`, `SeoSections`, `JsonLd`, `metadata.ts`. |
| 27 | +- **Preview** — `AlignmentPreview`, token markup (`TokenView`, `TokenRow`), link layer (`AlignmentSvg`) with pairs and line order; line reorder and line actions; **in-preview controls follow preview light/dark background**, not only the page theme. |
| 28 | +- **SVG export** — respects `pairControls`, background, line weight/opacity, optional embedded fonts, etc. (`svg.ts`, `ExportMenu`). |
| 29 | +- **Settings** — Style / Colors / Tokens / Fonts tabs; icons (gear for editor tokenization settings, split-cells for Tokens); **Flowbite `Tabs`**: `classes.content` instead of deprecated `contentClass`. |
| 30 | +- **Link palette** — when colors run out, the palette **cycles** (`palettes`). |
| 31 | +- **OG image** — SVG generation tweaks for social previews (`og-svg.ts`). |
| 32 | + |
| 33 | +### Fixed |
| 34 | + |
| 35 | +- Ligatures and complex OpenType shaping for **user fonts** in PNG/PDF/SVG/HTML exports (HarfBuzz + opentype outlines). |
| 36 | +- Incorrect glyph orientation when using only harfbuzzjs `glyphToPath` (outlines now come from opentype per shaped glyph). |
| 37 | + |
| 38 | +### Removed / replaced |
| 39 | + |
| 40 | +- Older narrow editor/preview pieces for a single-sentence model (`GlossInputRow`, `SentenceField`, `GlossRow`) — replaced by **multi-line cards** and token rows in preview. |
| 41 | +- **Preview background image** — removed from Style settings (legacy shares / compact `bg:2` decode as light). |
| 42 | + |
| 43 | +### Dependencies (`bitext`) |
| 44 | + |
| 45 | +- Added: **`harfbuzzjs`** (^0.10.3). |
| 46 | +- **`opentype.js`** pinned to **1.3.4** (avoid resolving to mistaken **1.3.5** or problematic **2.x** for exports). |
| 47 | + |
| 48 | +### Known limitations |
| 49 | + |
| 50 | +- **PDF** is still a **raster page** (PNG embedded in PDF), not pure vector SVG→PDF. |
| 51 | +- Very large PNG/PDF scales increase file size and browser memory use. |
| 52 | + |
| 53 | +--- |
| 54 | + |
| 55 | +Commit range on this branch vs `main` (messages are terse): |
| 56 | + |
| 57 | +`d8a7796` … `9df3353` — multiple lines → new editor → merge better-editor → new interface / UI updates → about updates. |
0 commit comments