Skip to content

feat(projects): render diffs with Pierre - #5408

Draft
Su3h7aM wants to merge 4 commits into
block:mainfrom
Su3h7aM:nika/projects-pierre-diff-renderer
Draft

feat(projects): render diffs with Pierre#5408
Su3h7aM wants to merge 4 commits into
block:mainfrom
Su3h7aM:nika/projects-pierre-diff-renderer

Conversation

@Su3h7aM

@Su3h7aM Su3h7aM commented Aug 9, 2026

Copy link
Copy Markdown

Summary

Replace the Projects hand-written diff renderer with the Pierre diff rendering stack while preserving Buzz review behavior, then stabilize PR and commit diff workspace geometry across wide, stacked, and narrow layouts.

The four reviewed commits are based directly on current upstream main (c923e89a4b6d43ae0c507dbb5e58f2bdd9ab7888).

Changes

  • Add @pierre/diffs and pure Buzz↔Pierre annotation mapping helpers for path, side, line, focused range, renderability, and patch-body accounting.
  • Add the shared ProjectDiffBody adapter with Buzz theme integration, exact inline-comment anchors, focused selection, normalized unified patches, truncation handling, and readable fallback behavior.
  • Adopt the adapter in the shared Projects changed-files panel, preserving file selection/filtering, headers and totals, one active review form, normal-pointer inline commenting, focus clearing, request-changes history, commit-detail reuse, and accessibility.
  • Stabilize the Projects layout chain: normal wide bottom gutter, independently scrollable file tree and diff body, reachable final tree row, aligned PR main/meta rails, stacked rail flow, and content-driven narrow layouts.
  • Add deterministic Projects fixtures and E2E contracts for TSX, YAML, unknown-extension plain text, buzz and buzz-dark themes, PR geometry, commit geometry, exact selected paths/content, and fallback behavior.

Validation

  • Focused annotation/focus tests: 32/32 passed
  • Full desktop unit suite: 4567/4567 passed on the reviewed stack before the final geometry assertion/correction batch
  • Complete Projects E2E (project-pr-review + project-commit-detail): 39/39 passed on final content
  • pnpm typecheck: clean on final content
  • Biome on all touched final-correction files: clean
  • check:px-text and check:pubkey-truncation: passed in the full stack gate
  • Production build: clean in the full stack gate; final bounded geometry correction was subsequently covered by typecheck and the complete Projects E2E run
  • Direct governed file-size checks: within the repository limits for governed source files

Review state

  • T1, T2, F1, and F2 were independently reviewed and carry the actual reviewer credits.
  • The four-commit stack is conflict-free and contains exactly 15 intended files relative to upstream main.
  • This PR is intentionally a draft while follow-up work continues.

Talos and others added 4 commits August 12, 2026 20:56
Co-authored-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Nika <1587d7d344569e0d95b8ba7bafa24fba72a52236b7294a7d44c87df0ee212725@buzz.su3h7am.dev.br>
Co-authored-by: Fizz <855cded2e5312f3b3b024d298f090bf258a0ca736b8df602904d5006936d2c48@buzz.su3h7am.dev.br>
Signed-off-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Nika <1587d7d344569e0d95b8ba7bafa24fba72a52236b7294a7d44c87df0ee212725@buzz.su3h7am.dev.br>
Co-authored-by: Fizz <855cded2e5312f3b3b024d298f090bf258a0ca736b8df602904d5006936d2c48@buzz.su3h7am.dev.br>
Signed-off-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Nika <1587d7d344569e0d95b8ba7bafa24fba72a52236b7294a7d44c87df0ee212725@buzz.su3h7am.dev.br>
Co-authored-by: Talos <31c5cf2ce7367022bc52b277f9466387a5b5cc512943bf3ae0005553364f7357@buzz.su3h7am.dev.br>
Signed-off-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
Co-authored-by: Nika <1587d7d344569e0d95b8ba7bafa24fba72a52236b7294a7d44c87df0ee212725@buzz.su3h7am.dev.br>
Co-authored-by: Talos <31c5cf2ce7367022bc52b277f9466387a5b5cc512943bf3ae0005553364f7357@buzz.su3h7am.dev.br>
Signed-off-by: Su3h7aM <c8f70f20aa73f6306c1d1558a429064283fa268dc73af38141257775357a277a@buzz.su3h7am.dev.br>
@Su3h7aM
Su3h7aM force-pushed the nika/projects-pierre-diff-renderer branch from 9f8e2f9 to 23ee123 Compare August 13, 2026 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant