E24 · Schnappinger/aoi/artofillusion.view.TexturedVertexShader

Full sample results

Scores

MethodScoreScaleDataset rank
(0–100)
GPT-6.1 Sol150–20; mean of three runs
25.7Δ 18.5
DeepSeek V4 Pro150–20; mean of three runs
38.0Δ 30.7
BTTF0.2220–1; higher is more readable
13.5Δ 6.3
Human2.061–4; original rating
7.3

Loading feature diagnosis…

Source code

GPT-6.1 Sol explanations

Run 1 · 15/20

Code Structure: Clearly separated constructor, optimization, shading, and query methods, but getColor combines cache management, texture sampling, and lighting.

Nesting: Mostly moderate, with deeper nesting inside cached vertex selection and shader reuse.

Clarity of intent: Documentation, comments, and descriptive method names explain the purpose well; abbreviated variables, unexplained numeric constants, and dense lighting expressions reduce clarity.

Code length: Reasonable overall, though repeated switch branches and cache assignments unnecessarily lengthen getColor.

Action granularity: Statements generally perform one action per line, although grouped declarations and complex expressions require extra parsing.

Reading flow: Initialization, optimization, sampling, and final color calculation follow a logical progression; duplicated cached and uncached paths interrupt that flow. Extracting sampling/cache helpers and naming lighting constants would improve readability.

Run 2 · 15/20

Code Structure: The class is logically organized into construction, optimization, shading, queries, and cache cleanup, but getColor combines cache management, texture sampling, and lighting.

Nesting: Mostly moderate, with deeper nesting in the cached switch branches and shader reuse checks.

Clarity of intent: Javadoc, comments, and descriptive method names explain the purpose well; abbreviated locals, unexplained numeric constants, and dense lighting expressions reduce clarity.

Code length: Reasonable overall, but repeated texture sampling and cache assignments across vertex cases unnecessarily lengthen getColor.

Action granularity: Statements generally perform one action per line, although grouped declarations and complex expressions add density.

Reading flow: Consistent formatting and clear cached versus uncached branches support natural reading, but duplicated switch logic and the long central method interrupt the flow.

Run 3 · 15/20

Code Structure: Methods separate initialization, optimization, shading, and cache management logically, but getColor combines several responsibilities.

Nesting: Mostly moderate, with deeper conditional nesting inside the cached vertex switch.

Clarity of intent: Documentation, descriptive method names, and explanatory comments make the shader's purpose clear; abbreviated variables, parallel cache arrays, and unexplained numeric constants reduce clarity.

Code length: Reasonable overall, but repeated texture sampling and cache population across three switch cases unnecessarily lengthen getColor.

Action granularity: Statements generally perform one action per line, though grouped declarations and dense mathematical expressions require extra attention.

Reading flow: Consistent formatting and clear cached/noncached branches support natural reading, but duplicated branches and long expressions interrupt the flow.

BTTF feature contributions

Score 0.222 / 1