"D" Mark — Clean-Geometry Redraw — Work Plan¶
Objective¶
Replace the current "D" mark master vector and its exports with a redraw that has geometrically
correct edges: the pixelation squares are true axis-aligned squares (straight sides), and the
"D" glyph's curved sections are true circular arcs that terminate in straight line segments,
rather than the wobbly bezier approximations produced by GIMP's plug-in-sel2path autotrace.
Scope¶
- Rebuilding
brand/company/source/d-mark.svg(thecurrentColormaster) using hand-authored, mathematically exact path geometry:<rect>-equivalent straight-sided squares, and a "D" glyph path built from true circular arcs (Acommands) joined to straight line segments (Lcommands) at the point where the source mockup's stem nub / flat cap meets the curve. - Deriving the arc/square parameters from the Founder-supplied source image
(
C:\Users\Stuart\Downloads\ChatGPT Image Jul 16, 2026, 07_57_41 AM.png) via pixel analysis (connected-component bounding boxes for the squares; least-squares circle fit for the outer and inner curve boundaries), not by re-running GIMP's autotrace (which is what produced the wobble being fixed here). - Regenerating all files currently in
brand/company/exports/(d-mark-{navy,white}.svg,d-mark-{navy,white}-{256,1024}.png,d-mark-square-badge-navy-256.png) from the new master. - Updating
brand/company/exports/d-mark-crop-reference.pngand provenance notes indocs/company/brand-assets.mdto reflect the new method (hand-fit geometry, notplug-in-sel2path), and notingd-mark-traced-raw.svgas superseded/no-longer-representative of the current method. - Using GIMP 3.2 (batch/Script-Fu, non-interactive) for the raster rasterization/export steps (PNG generation at required sizes, badge composition), consistent with the repo's established GIMP-based production workflow.
Out of scope¶
- Any change to the mark's overall design (proportions, which squares exist, D's general silhouette) — this is a precision/quality fix to existing approved-pending geometry, not a redesign.
- Founder approval — this remains a candidate;
docs/company/brand-assets.mdalready records that nothing here is approved yet, and this task does not change that. - The wordmark lockup (still open per
docs/company/brand-assets.md). - Re-deriving the navy color (
#0D1B2Astays canonical per prior reconciliation).
Applicable authority¶
docs/company/brand-assets.md— provenance/approval record this task updates.work/active/2026-07-11-brand-assets-and-gimp-workflow.md— establishes GIMP as the production tool for this asset family.
Files expected to change¶
brand/company/source/d-mark.svg(rewritten geometry).brand/company/exports/d-mark-navy.svg,d-mark-white.svg(regenerated).brand/company/exports/d-mark-navy-{256,1024}.png,d-mark-white-{256,1024}.png(regenerated).brand/company/exports/d-mark-square-badge-navy-256.png(regenerated).brand/company/exports/d-mark-crop-reference.png(replaced with new source crop reference).docs/company/brand-assets.md(provenance note updated to describe the new method).
Assumptions¶
- The Founder's new reference image (
ChatGPT Image Jul 16, 2026, 07_57_41 AM.png, 1254×1254, white-on-navy) supersedes the old crop as the shape reference, since it was supplied specifically for this redraw. - Pixel-fit outer/inner arc centers and radii are close enough between the two circles' vertical centers (614.7 vs 615.0) that a single shared vertical center is an acceptable, cleaner simplification; horizontal centers differ intentionally (different radii, same stem line) and are kept distinct.
- "Straight lines" at the ends of the curved section means: the flat stem-nub edges (top and bottom, where the letterform's vertical stem remnant is still solid before dissolving into squares) must be true vertical straight lines, and the short cap segment connecting the inner arc's start/end to that stem nub must be a true straight line — not that the D should be redesigned as a closed ring.
Risks¶
- Hand-fit geometry is an approximation of the source raster (anti-aliasing/threshold noise means no fit is pixel-perfect); mitigated by fitting with least-squares circle fit (outer arc mean error ~1.2px, inner arc mean error ~0.5px on a 1254px canvas) and rounding to clean numbers only after confirming visual fidelity against the source crop.
- Regenerating downstream exports risks drifting from
siteinfra/assets/logo.png/favicon.png, which were derived from the old master — those are out of scope for this task but will visibly diverge from the new master until a follow-up regenerates them; noted here so it isn't silently forgotten.
Validation plan¶
- Visual side-by-side comparison (rendered PNG) of the new mark against the Founder's reference image before finalizing.
python scripts/check.pyafter doc updates.- No
unittest discover testsimpact expected (asset-only change).
Progress checklist¶
- [x] Analyze source image geometry (square bounding boxes, outer/inner arc circle fits).
- [x] Hand-author new
d-mark.svgmaster with exact rects and arc+line path. - [x] Regenerate navy/white SVG and PNG exports (GIMP batch, via
scripts/gimp_render_svg.py). - [x] Regenerate square badge favicon-style export (via
scripts/gimp_compose_badge.py). - [x] Visual comparison against reference; confirmed straight square sides, straight cap ends, true circular curve.
- [x] Update
docs/company/brand-assets.mdprovenance section. - [x] Run
python scripts/check.py; passed (after fixing an unrelateddocument_idcollision this new file introduced). Also ranpython -m unittest discover tests: 38 passed. - [x] Second pass (same day, Founder feedback): the circular-arc curve above produced a
visible bulge/kink where the straight stem-nub met the arc off-tangent. Rebuilt the "D"
glyph's curved band as a flat horizontal shoulder (~30% of outer width) handing off to a
tangent-matched cubic-Bezier quarter-curve (kappa≈0.5523), mirrored top/bottom, uniform
~138px band thickness, per the construction the Founder worked out. Re-rendered and visually
confirmed the kink is gone at both 1024px and 256px. Re-ran
python scripts/check.pyandpython -m unittest discover testsafter the doc updates below — see Handoff notes.
Decisions required¶
- None — this stays within "candidate, not approved" status per existing governance; no status
fields are being changed to
approved.
Handoff notes¶
Complete, across two passes in one day. First pass replaced the GIMP autotrace with true <rect>
squares and a true-circular-arc "D" band; the Founder flagged a visible bulge/kink in that curve.
Second pass replaced the circular arc with a tangent-continuous flat-shoulder + cubic-Bezier
construction (see Method in docs/company/brand-assets.md), which is what's now live in
brand/company/source/d-mark.svg and all six brand/company/exports/ files (navy/white SVG,
navy/white PNG ×2 sizes, square badge). d-mark-crop-reference.png was replaced with the new
source crop in the first pass and did not need to change again in the second (same bounding box).
Status remains candidate, not approved — nothing here was marked approved.
Not done (flagged, out of scope per this plan): siteinfra/assets/logo.png and favicon.png
still reflect the previous master's geometry. If/when someone wants those to match the new
mark, regenerate them with scripts/gimp_render_svg.py / scripts/gimp_compose_badge.py the same
way they were originally produced (see docs/company/brand-assets.md's 2026-07-11 entry).
2026-07-17 addendum — logo.png/favicon.png regenerated¶
The "D" mark was approved 2026-07-16 (see docs/company/brand-assets.md); this addendum closes
the "not done" item above.
favicon.png: regenerated viascripts/gimp_compose_badge.py --mark-svg brand/company/exports/d-mark-white.svg --canvas 256 256 --bg-color "#0D1B2A" --mark-size 161 131 --offset 54 60— reusing the exact padding/position from the 2026-07-11 version, now against the approved geometry.logo.png: renderedd-mark-white.svgat high resolution viagimp_render_svg.py, autocropped to its ink bounding box (PILImage.getbbox()on alpha), padded ~8% per side (matching the previous file's ~7-10% margins, measured from the file being replaced), then scaled to 512px height — 612×512 final, transparent background.- Verified both in a real build:
python siteinfra/build_site.py, served the output (devonshire-digital-site/) viapython -m http.server, and viewed the homepage in a Chrome tab — the header logo renders as a crisp solid white mark on the navy header. python scripts/check.py: passing.- Approved by the Founder, 2026-07-17 (same day, after review) — see
docs/company/ brand-assets.md's asset register for the formal record.
This plan can now be archived to work/archive/ — the "D" mark, its exports, and both deployed
siteinfra/ derivatives are all regenerated from the same current geometry; nothing further is
scoped to this plan.