Borehole · Project · free tier
ocornut/imgui
Free reading: not for reliance
46ff5a7 · 10,127 commits · 304 files
Read 2026-10-04

ocornut/imgui: technical due diligence, read from its repository

What Borehole read in ocornut/imgui's code and history at 46ff5a7: its licence, security advisories, releases, review practice, tests, dependencies and operations. Every finding cites the file and line it rests on. The full report also covers the team and asks the questions the code cannot answer.

DimensionRating
Architecture & Codebase — including AI provenancestrong
Engineering Process & SDLC Maturityadequate
Product & Engineering Maturityadequate
Security & Reliability Posturestrong
Observability & Operationsnot assessable
Fit with the Acquirernot assessable

What the repository says

  • .github/pull_request_template.md:9: states a policy on AI-generated contributions

Architecture & Codebase — including AI provenance

strong
01.6

imgui.cpp is 18,706 lines, 97× this codebase's median file

adequate

The median source file here is 191 lines. 9 files exceed 1,910 lines, the largest being 18,706. Size is not a defect on its own — some problems genuinely live in one place — but these are where merge conflicts, review fatigue and single-owner knowledge concentrate, and they are the first thing that slows an inheriting engineer down.

Evidence
imgui.cpp:1 — 18,706 lines (97× median)
imgui_demo.cpp:1 — 11,395 lines (59× median)
imgui_widgets.cpp:1 — 11,163 lines (58× median)
imgui_draw.cpp:1 — 6,833 lines (35× median)
imstb_truetype.h:1 — 5,086 lines (26× median)

Engineering Process & SDLC Maturity

adequate
02.3

Tests are absent or token

adequate

0 test files against 72 source files (0.0%). This does not measure whether the tests are good, only whether enough of them exist for the codebase to be changed safely by someone who did not write it — which is exactly the situation after an acquisition.

Evidence
0 test files / 72 source files

Product & Engineering Maturity

adequate
04.1

Change keeps returning to the same few files

adequate

Five files out of 946 absorb 55% of all file-level change. Concentration like this is where debt is usually being serviced rather than repaid: the same code is reopened because it is load-bearing, fragile, or both. A repository cannot tell you which — that is a conversation with the team.

Evidence
imgui.cpp — 4,966 commits touched it
imgui.h — 2,692 commits touched it
imgui_internal.h — 2,067 commits touched it
imgui_widgets.cpp — 1,492 commits touched it
imgui_demo.cpp — 1,373 commits touched it
04.2

527 unresolved debt markers, 4.5 per thousand lines

adequate

The codebase carries 527 TODO, FIXME, HACK or XXX markers across 115,983 lines. These are the team's own notes about work they knew was unfinished. A high density is not automatically bad — it can mean an honest team — but every one of them is a decision deferred, and after an acquisition they are deferred onto someone who was not in the room.

Evidence
.github/ISSUE_TEMPLATE/issue_template.yml:29 — value: "Version 1.XX, Branch: XXX (master/docking/etc.)"
.github/ISSUE_TEMPLATE/issue_template.yml:30 — placeholder: "Version 1.XX, Branch: XXX (master/docking/etc.)"
.github/ISSUE_TEMPLATE/issue_template.yml:65 — XXX _(please provide as much context as possible)_
backends/imgui_impl_allegro5.cpp:93 — // FIXME-OPT: Unfortunately Allegro doesn't support 32-bit packed colors so we have to con
backends/imgui_impl_allegro5.cpp:94 — // FIXME-OPT: Consider inlining al_map_rgba()?

Security & Reliability Posture

strong

No finding.

Observability & Operations

not assessable

Not rated: only 4 of 16 checks could reach a conclusion here; the rest do not apply to this repository or could not read it.

Fit with the Acquirer

not assessable

Not rated: structurally not assessable from a repository.

Read more, or read your own

The full report on ocornut/imgui: every dimension, the questions for the room, and the audit log.

Survey a repository: free on public repositories. Private code is read on your own machine by a collector whose source you can read first.