From f9b3dbe316ee010d64220fb72304d800251a5e75 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:05:48 -0700 Subject: [PATCH] Update VOID_CODEBASE_GUIDE.md --- VOID_CODEBASE_GUIDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VOID_CODEBASE_GUIDE.md b/VOID_CODEBASE_GUIDE.md index 28d9e3d0..afd60da4 100644 --- a/VOID_CODEBASE_GUIDE.md +++ b/VOID_CODEBASE_GUIDE.md @@ -80,8 +80,8 @@ This is what allows Void to quickly apply code even on 1000-line files. It's the The `editCodeService` file runs Apply. The same exact code is also used when the LLM calls the Edit tool, and when you submit Cmd+K. Just different versions of Fast/Slow Apply mode. Here is some important terminology: -- A **DiffZone** is a {startLine, endLine} region in which we compute and show **Diffs** (red/green areas). We refresh all Diffs in each DiffArea when any changes are made to a file (e.g. the user types), so the red/green areas shown always accurate. Diffs are computed by comparing the original content of the DiffArea (stored at creation) with the current file's content in the new DiffArea region. -- A **DiffArea** is a generalization that tracks line numbers like a DiffZone. +- A **DiffZone** is a {startLine, endLine} region in which we compute and show **Diffs** (red/green areas). We refresh all Diffs in each DiffZone when any changes are made to a file (e.g. the user types), so the red/green areas shown always accurate. Diffs are computed by comparing the original content of the DiffZone (stored at creation) with the current file's content in the new DiffZone region. +- A **DiffArea** is a generalization that just tracks line numbers like a DiffZone, but doesn't have Diffs (red/green areas) inside. - The only type of zone that can "stream" is a DiffZone. Each DiffZone has an llmCancelToken if it's streaming. - When you click Apply, we create a **DiffZone** over that the full file so that any changes that the LLM makes will show up in red/green. We then stream the change. - When an LLM calls Edit, it's really calling Apply.