E09 · Schnappinger/aoi/artofillusion.view.GLCanvasDrawer

Full sample results

Scores

MethodScoreScaleDataset rank
(0–100)
GPT-6.1 Sol150–20; mean of three runs
25.7Δ 23.4
DeepSeek V4 Pro14.670–20; mean of three runs
34.8Δ 32.5
BTTF0.1480–1; higher is more readable
6.9Δ 4.6
Human1.921–4; original rating
2.3

Loading feature diagnosis…

Source code

GPT-6.1 Sol explanations

Run 1 · 15/20

Code Structure: Well-separated drawing methods, state-preparation helpers, and inner resource classes provide logical organization, though the class handles many responsibilities.

Nesting: Most methods are shallow with useful early returns, but renderMesh contains several nested rendering branches.

Clarity of intent: Descriptive method names and extensive comments explain operations; terse variables, unexplained numeric constants, and implicit OpenGL state dependencies obscure some details.

Code length: Repeated vertex-buffer writes and coordinate calculations make the class verbose, and renderMesh would benefit from smaller helpers.

Action granularity: Statements generally perform one action per line, with only minor complexity from inline assignments and increments.

Reading flow: Consistent formatting and predictable setup-then-render sequences support natural reading, although long OpenGL calls and shared mutable state require tracking context across methods.

Run 2 · 15/20

Code Structure: Well-organized rendering methods, shared preparation helpers, and focused inner classes, although the main class handles many responsibilities.

Nesting: Most methods are shallow, but renderMesh has several nested branches and loops that increase cognitive load.

Clarity of intent: Descriptive method names and useful comments explain operations; terse variables, magic numbers, and implicit OpenGL state dependencies obscure some details.

Code length: Much of the length reflects rendering requirements, but repeated vertex-buffer writes, coordinate calculations, and setup sequences could be extracted into helpers.

Action granularity: Statements generally perform one action per line, making execution easy to trace; some long calls and compound expressions are harder to scan.

Reading flow: Consistent formatting and predictable setup-then-draw sequences support natural reading, while long methods and shared mutable rendering state require readers to track context across methods.

Run 3 · 15/20

Code Structure: Rendering operations, state preparation, caching, and lifecycle callbacks are logically separated into methods and inner classes, although the class handles many responsibilities.

Nesting: Most methods are shallow and use early returns; renderMesh has substantially deeper branching and loops.

Clarity of intent: Descriptive method names and useful comments explain rendering paths, but abbreviated variables, magic numbers, and implicit shared OpenGL state require domain knowledge.

Code length: Many methods are concise, but repeated coordinate calculations and vertex/normal buffer writes make the class lengthy; renderMesh would benefit from helper extraction.

Action granularity: Statements generally perform one action per line, with occasional increment side effects and dense expressions.

Reading flow: Consistent indentation, spacing between methods, and repeated setup-draw sequences make navigation predictable. Long API calls, duplicated rendering sequences, and dependencies on mutable cached state occasionally interrupt that flow.

BTTF feature contributions

Score 0.148 / 1