SCAFFOLD — hand-drawn CODE-editor approximation; normative = the mark CSS values in the readout below
Mentor edit-code mark — config-diff style (violet)
Restyle the .cm-mentor-edit mark (violet fill + outline box) to the admin/infra CONFIG
diff vocabulary: every touched line gets a slight violet background (a CodeMirror line decoration)
and the changed characters get a violet underline (a mark decoration) — the exact shape admin uses for
staged (blue) and reconciled (yellow) config diffs, recoloured to studio violet.
A — ACT / SUGGEST edit — a single-line partial change + a multi-line insert
CURRENT — fill 14% + outline box
1
# ─ generator frame — do not edit ─
2
from venact import generator
5
t = this.option("table", "orders")
6
w = this.option("code", "amount > 0")
7
sql = f"SELECT * FROM {t}"
8
if this.option("distinct", False):
9
sql = sql.replace("*", "DISTINCT *")
PROPOSED — touched-line bg + changed-char underline
1
# ─ generator frame — do not edit ─
2
from venact import generator
5
t = this.option("table", "orders")
6
w = this.option("code", "amount > 0")
7
sql = f"SELECT * FROM {t}"
8
if this.option("distinct", False):
9
sql = sql.replace("*", "DISTINCT *")
Line 6: the mentor replaced the option default — only the new chars are underlined, the whole line is tinted.
Lines 8–9: a whole-block insert — the full inserted text is underlined, matching admin's behaviour for added ranges.
Gray lines 1–2 are the author-region frame (.cm-infra-line, #f3f4f6) — the violet tint must stay distinguishable from it.
B — GUIDE pointer — nothing changed; the mark points at where to act
PROPOSED — toggle "GUIDE underline" below to compare bg-only
One violet vocabulary (per the G2 ruling): violet = "the mentor points here / touched this"; the mode
disambiguates pointing from changing. The toggle below shows the alternative — GUIDE gets the line bg but no underline,
reserving the underline for "chars the mentor actually changed".
C — deletion edit — the mentor removed text; there are no new chars to mark
CURRENT — a zero-length mark renders nothing: the deletion is invisible
7
sql = f"SELECT * FROM {t}"
PROPOSED — the touched line still gets the bg; no underline
7
sql = f"SELECT * FROM {t}"
e.g. the mentor deleted .limit(100) from line 7. Today this edit leaves no trace at all;
with the line decoration the touched line is still tinted.
Admin reference — the borrowed vocabulary, as shipped in admin/infra CONFIG
STAGED (blue) — #eff6ff line / #2563eb underline 2px
RECONCILED (yellow) — #fef7dc line / #d97706 underline 2px