doubao-bench commited on
Commit
4466f70
·
1 Parent(s): f858b3a

update data

Browse files
app.py CHANGED
@@ -2,6 +2,8 @@ import gradio as gr
2
  from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
3
  import pandas as pd
4
  from apscheduler.schedulers.background import BackgroundScheduler
 
 
5
  from huggingface_hub import snapshot_download
6
 
7
  from src.about import (
@@ -32,30 +34,41 @@ from src.submission.submit import add_new_eval
32
  def restart_space():
33
  API.restart_space(repo_id=REPO_ID)
34
 
35
- ### Space initialisation
36
- try:
37
- print(EVAL_REQUESTS_PATH)
38
- snapshot_download(
39
- repo_id=QUEUE_REPO, local_dir=EVAL_REQUESTS_PATH, repo_type="dataset", tqdm_class=None, etag_timeout=30, token=TOKEN
40
- )
41
- except Exception:
42
- restart_space()
43
- try:
44
- print(EVAL_RESULTS_PATH)
45
- snapshot_download(
46
- repo_id=RESULTS_REPO, local_dir=EVAL_RESULTS_PATH, repo_type="dataset", tqdm_class=None, etag_timeout=30, token=TOKEN
47
- )
48
- except Exception:
49
- restart_space()
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
- LEADERBOARD_DF = get_leaderboard_df(EVAL_RESULTS_PATH, EVAL_REQUESTS_PATH, COLS, BENCHMARK_COLS)
53
 
54
- (
55
- finished_eval_queue_df,
56
- running_eval_queue_df,
57
- pending_eval_queue_df,
58
- ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
59
 
60
  def init_leaderboard(dataframe):
61
  if dataframe is None or dataframe.empty:
@@ -90,115 +103,201 @@ def init_leaderboard(dataframe):
90
 
91
 
92
  demo = gr.Blocks(css=custom_css)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  with demo:
94
  gr.HTML(TITLE)
95
  gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
96
 
97
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
98
- with gr.TabItem("🏅 LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
99
- leaderboard = init_leaderboard(LEADERBOARD_DF)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
 
101
- with gr.TabItem("📝 About", elem_id="llm-benchmark-tab-table", id=2):
102
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
103
 
104
- with gr.TabItem("🚀 Submit here! ", elem_id="llm-benchmark-tab-table", id=3):
105
- with gr.Column():
106
- with gr.Row():
107
- gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text")
108
-
109
- with gr.Column():
110
- with gr.Accordion(
111
- f"✅ Finished Evaluations ({len(finished_eval_queue_df)})",
112
- open=False,
113
- ):
114
- with gr.Row():
115
- finished_eval_table = gr.components.Dataframe(
116
- value=finished_eval_queue_df,
117
- headers=EVAL_COLS,
118
- datatype=EVAL_TYPES,
119
- row_count=5,
120
- )
121
- with gr.Accordion(
122
- f"🔄 Running Evaluation Queue ({len(running_eval_queue_df)})",
123
- open=False,
124
- ):
125
- with gr.Row():
126
- running_eval_table = gr.components.Dataframe(
127
- value=running_eval_queue_df,
128
- headers=EVAL_COLS,
129
- datatype=EVAL_TYPES,
130
- row_count=5,
131
- )
132
-
133
- with gr.Accordion(
134
- f"⏳ Pending Evaluation Queue ({len(pending_eval_queue_df)})",
135
- open=False,
136
- ):
137
- with gr.Row():
138
- pending_eval_table = gr.components.Dataframe(
139
- value=pending_eval_queue_df,
140
- headers=EVAL_COLS,
141
- datatype=EVAL_TYPES,
142
- row_count=5,
143
- )
144
- with gr.Row():
145
- gr.Markdown("# ✉️✨ Submit your model here!", elem_classes="markdown-text")
146
-
147
- with gr.Row():
148
- with gr.Column():
149
- model_name_textbox = gr.Textbox(label="Model name")
150
- revision_name_textbox = gr.Textbox(label="Revision commit", placeholder="main")
151
- model_type = gr.Dropdown(
152
- choices=[t.to_str(" : ") for t in ModelType if t != ModelType.Unknown],
153
- label="Model type",
154
- multiselect=False,
155
- value=None,
156
- interactive=True,
157
- )
158
 
159
- with gr.Column():
160
- precision = gr.Dropdown(
161
- choices=[i.value.name for i in Precision if i != Precision.Unknown],
162
- label="Precision",
163
- multiselect=False,
164
- value="float16",
165
- interactive=True,
166
- )
167
- weight_type = gr.Dropdown(
168
- choices=[i.value.name for i in WeightType],
169
- label="Weights type",
170
- multiselect=False,
171
- value="Original",
172
- interactive=True,
173
- )
174
- base_model_name_textbox = gr.Textbox(label="Base model (for delta or adapter weights)")
175
-
176
- submit_button = gr.Button("Submit Eval")
177
- submission_result = gr.Markdown()
178
- submit_button.click(
179
- add_new_eval,
180
- [
181
- model_name_textbox,
182
- base_model_name_textbox,
183
- revision_name_textbox,
184
- precision,
185
- weight_type,
186
- model_type,
187
- ],
188
- submission_result,
189
- )
190
 
191
- with gr.Row():
192
- with gr.Accordion("📙 Citation", open=False):
193
- citation_button = gr.Textbox(
194
- value=CITATION_BUTTON_TEXT,
195
- label=CITATION_BUTTON_LABEL,
196
- lines=20,
197
- elem_id="citation-button",
198
- show_copy_button=True,
199
- )
200
 
201
  scheduler = BackgroundScheduler()
202
  scheduler.add_job(restart_space, "interval", seconds=1800)
203
  scheduler.start()
204
- demo.queue(default_concurrency_limit=40).launch()
 
2
  from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
3
  import pandas as pd
4
  from apscheduler.schedulers.background import BackgroundScheduler
5
+ import html
6
+ from pathlib import Path
7
  from huggingface_hub import snapshot_download
8
 
9
  from src.about import (
 
34
  def restart_space():
35
  API.restart_space(repo_id=REPO_ID)
36
 
37
+ ENABLE_REMOTE_DATA_SYNC = False
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
+ if ENABLE_REMOTE_DATA_SYNC:
40
+ try:
41
+ print(EVAL_REQUESTS_PATH)
42
+ snapshot_download(
43
+ repo_id=QUEUE_REPO,
44
+ local_dir=EVAL_REQUESTS_PATH,
45
+ repo_type="dataset",
46
+ tqdm_class=None,
47
+ etag_timeout=30,
48
+ token=TOKEN,
49
+ )
50
+ except Exception:
51
+ restart_space()
52
+ try:
53
+ print(EVAL_RESULTS_PATH)
54
+ snapshot_download(
55
+ repo_id=RESULTS_REPO,
56
+ local_dir=EVAL_RESULTS_PATH,
57
+ repo_type="dataset",
58
+ tqdm_class=None,
59
+ etag_timeout=30,
60
+ token=TOKEN,
61
+ )
62
+ except Exception:
63
+ restart_space()
64
 
65
+ LEADERBOARD_DF = get_leaderboard_df(EVAL_RESULTS_PATH, EVAL_REQUESTS_PATH, COLS, BENCHMARK_COLS)
66
 
67
+ (
68
+ finished_eval_queue_df,
69
+ running_eval_queue_df,
70
+ pending_eval_queue_df,
71
+ ) = get_evaluation_queue_df(EVAL_REQUESTS_PATH, EVAL_COLS)
72
 
73
  def init_leaderboard(dataframe):
74
  if dataframe is None or dataframe.empty:
 
103
 
104
 
105
  demo = gr.Blocks(css=custom_css)
106
+ import json
107
+
108
+ def create_score_df(json_path: Path, decimals: int):
109
+ data = json.loads(json_path.read_text(encoding="utf-8"))
110
+
111
+ if not data:
112
+ return pd.DataFrame()
113
+
114
+ records = []
115
+ for item in data:
116
+ flat_record = {"ID": item.get("ID"), "Model": item.get("Model")}
117
+ for category, sub_items in item.items():
118
+ if category in ("ID", "Model"):
119
+ continue
120
+ if isinstance(sub_items, dict):
121
+ cleaned_category = str(category).replace("\n", " ")
122
+ for sub_category, value in sub_items.items():
123
+ header = f"{cleaned_category}\n{sub_category}"
124
+ flat_record[header] = value
125
+ records.append(flat_record)
126
+
127
+ df = pd.DataFrame(records)
128
+ score_cols = [c for c in df.columns if c not in ("ID", "Model")]
129
+ for col in score_cols:
130
+ df[col] = df[col].apply(
131
+ lambda v: (
132
+ ""
133
+ if pd.isna(v)
134
+ else (f"{float(v):.{decimals}f}" if isinstance(v, (int, float)) else v)
135
+ )
136
+ )
137
+ return df
138
+
139
+
140
+ def create_raw_score_df():
141
+ raw_path = Path(__file__).resolve().parent / "src" / "raw_score.json"
142
+ return create_score_df(raw_path, decimals=2)
143
+
144
+
145
+ def create_unweighted_z_score_df():
146
+ z_path = Path(__file__).resolve().parent / "src" / "unweighted_z_score.json"
147
+ return create_score_df(z_path, decimals=4)
148
+
149
+
150
+ def create_weighted_z_score_df():
151
+ z_path = Path(__file__).resolve().parent / "src" / "weighted_z_score.json"
152
+ data = json.loads(z_path.read_text(encoding="utf-8"))
153
+
154
+ if not data:
155
+ return pd.DataFrame()
156
+
157
+ records = []
158
+ for item in data:
159
+ flat_record = {"ID": item.get("ID"), "Model": item.get("Model")}
160
+ for category, sub_items in item.items():
161
+ if category in ("ID", "Model"):
162
+ continue
163
+ if not isinstance(sub_items, dict):
164
+ continue
165
+
166
+ cleaned_category = str(category).replace("\n", " ")
167
+ for sub_category, value in sub_items.items():
168
+ if cleaned_category == "Overall Score":
169
+ header = "Overall Score"
170
+ else:
171
+ header = f"{cleaned_category}\n{sub_category}"
172
+ flat_record[header] = value
173
+ records.append(flat_record)
174
+
175
+ df = pd.DataFrame(records)
176
+
177
+ overall_col = "Overall Score" if "Overall Score" in df.columns else None
178
+ if overall_col is None:
179
+ for c in df.columns:
180
+ if isinstance(c, str) and c.endswith("\nOverall Score"):
181
+ overall_col = c
182
+ break
183
+
184
+ if overall_col is not None:
185
+ df[overall_col] = pd.to_numeric(df[overall_col], errors="coerce")
186
+ df = df.sort_values(by=overall_col, ascending=False, kind="mergesort")
187
+
188
+ cols = list(df.columns)
189
+ fixed = [c for c in ("ID", "Model") if c in cols]
190
+ rest = [c for c in cols if c not in set(fixed + [overall_col])]
191
+ df = df[fixed + [overall_col] + rest]
192
+
193
+ score_cols = [c for c in df.columns if c not in ("ID", "Model")]
194
+ for col in score_cols:
195
+ df[col] = pd.to_numeric(df[col], errors="coerce").apply(
196
+ lambda v: "" if pd.isna(v) else f"{float(v) * 100:.2f}%"
197
+ )
198
+
199
+ if "ID" in df.columns:
200
+ df["ID"] = pd.to_numeric(df["ID"], errors="coerce").astype("Int64")
201
+
202
+ return df
203
+
204
+
205
+ def create_weights_table_html():
206
+ weights_path = Path(__file__).resolve().parent / "src" / "weights.json"
207
+ payload = json.loads(weights_path.read_text(encoding="utf-8"))
208
+ bounds = payload["bounds"]
209
+ min_row = bounds["min_row"]
210
+ min_col = bounds["min_col"]
211
+ rows = payload["rows"]
212
+
213
+ covered = set()
214
+ spans = {}
215
+ for m in payload["merges"]:
216
+ r1, c1, r2, c2 = m["r1"], m["c1"], m["r2"], m["c2"]
217
+ spans[(r1, c1)] = {"rowspan": r2 - r1 + 1, "colspan": c2 - c1 + 1}
218
+ for r in range(r1, r2 + 1):
219
+ for c in range(c1, c2 + 1):
220
+ if (r, c) != (r1, c1):
221
+ covered.add((r, c))
222
+
223
+ parts = ["<div class=\"weights-scroll\"><table class=\"weights-table\">"
224
+ ]
225
+ for r_index, row in enumerate(rows, start=min_row):
226
+ parts.append("<tr>")
227
+ for c_index, value in enumerate(row, start=min_col):
228
+ if (r_index, c_index) in covered:
229
+ continue
230
+ span = spans.get((r_index, c_index))
231
+ attrs = ""
232
+ if span is not None:
233
+ attrs = f" rowspan=\"{span['rowspan']}\" colspan=\"{span['colspan']}\""
234
+ tag = "th" if r_index == min_row else "td"
235
+ if r_index != min_row:
236
+ if isinstance(value, (int, float)):
237
+ value = f"{float(value):.4f}"
238
+ elif isinstance(value, str):
239
+ stripped = value.strip()
240
+ try:
241
+ value = f"{float(stripped):.4f}"
242
+ except Exception:
243
+ pass
244
+ text = "" if value is None else html.escape(str(value))
245
+ parts.append(f"<{tag}{attrs}>{text}</{tag}>")
246
+ parts.append("</tr>")
247
+ parts.append("</table></div>")
248
+ return "".join(parts)
249
+
250
  with demo:
251
  gr.HTML(TITLE)
252
  gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
253
 
254
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
255
+ with gr.TabItem("Result", elem_id="result-tab", id=0):
256
+ with gr.Tabs(elem_classes="tab-buttons") as nested_tabs:
257
+ with gr.TabItem("Raw Score"):
258
+ raw_score_df = create_raw_score_df()
259
+ column_widths = [40, 220] + [180] * (len(raw_score_df.columns) - 2)
260
+ gr.DataFrame(
261
+ raw_score_df,
262
+ wrap=True,
263
+ column_widths=column_widths,
264
+ row_count=(len(raw_score_df), "fixed"),
265
+ height=700,
266
+ elem_id="raw-score-table",
267
+ )
268
+ with gr.TabItem("Weights"):
269
+ gr.HTML(create_weights_table_html(), elem_id="weights-table")
270
+ with gr.TabItem("Unweighted Z-score"):
271
+ unweighted_z_df = create_unweighted_z_score_df()
272
+ column_widths = [40, 220] + [180] * (len(unweighted_z_df.columns) - 2)
273
+ gr.DataFrame(
274
+ unweighted_z_df,
275
+ wrap=True,
276
+ column_widths=column_widths,
277
+ row_count=(len(unweighted_z_df), "fixed"),
278
+ height=700,
279
+ elem_id="unweighted-z-table",
280
+ )
281
+ with gr.TabItem("Weighted Z-score"):
282
+ weighted_z_df = create_weighted_z_score_df()
283
+ column_widths = [40, 220] + [180] * (len(weighted_z_df.columns) - 2)
284
+ gr.DataFrame(
285
+ weighted_z_df,
286
+ wrap=True,
287
+ column_widths=column_widths,
288
+ row_count=(len(weighted_z_df), "fixed"),
289
+ height=700,
290
+ elem_id="weighted-z-table",
291
+ )
292
 
293
+ with gr.TabItem("About", elem_id="llm-benchmark-tab-table", id=2):
294
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
 
298
+
 
 
 
 
 
 
 
 
299
 
300
  scheduler = BackgroundScheduler()
301
  scheduler.add_job(restart_space, "interval", seconds=1800)
302
  scheduler.start()
303
+ demo.queue(default_concurrency_limit=40).launch()
src/about.py CHANGED
@@ -21,20 +21,47 @@ NUM_FEWSHOT = 0 # Change with your few shot
21
 
22
 
23
  # Your leaderboard name
24
- TITLE = """<h1 align="center" id="space-title">Demo leaderboard</h1>"""
25
 
26
  # What does your leaderboard evaluate?
27
  INTRODUCTION_TEXT = """
28
- Intro text
29
  """
30
 
31
  # Which evaluations are you running? how can people reproduce what you have?
32
  LLM_BENCHMARKS_TEXT = f"""
33
- ## How it works
34
 
35
- ## Reproducibility
36
- To reproduce our results, here is the commands you can run:
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  """
39
 
40
  EVALUATION_QUEUE_TEXT = """
 
21
 
22
 
23
  # Your leaderboard name
24
+ TITLE = """<h1 align="center" id="space-title">WebCoderBench</h1>"""
25
 
26
  # What does your leaderboard evaluate?
27
  INTRODUCTION_TEXT = """
 
28
  """
29
 
30
  # Which evaluations are you running? how can people reproduce what you have?
31
  LLM_BENCHMARKS_TEXT = f"""
32
+ ## About WebCoderBench
33
 
34
+ Web applications (web apps) have become a key arena for large language models (LLMs) to demonstrate code generation capabilities and commercial potential. However, building a benchmark for LLM-generated web apps remains challenging due to:
 
35
 
36
+ - The need for real-world user requirements
37
+ - Generalizable evaluation metrics without relying on ground-truth implementations or test cases
38
+ - Interpretable evaluation results
39
+
40
+ ---
41
+
42
+ ## What Is Included
43
+
44
+ WebCoderBench is a real-world-collected, generalizable, and interpretable benchmark for web app generation.
45
+
46
+ **At a glance**
47
+
48
+ - **1,572** real-world user requirements
49
+ - Diverse modalities and expression styles reflecting realistic user intentions
50
+ - **24** fine-grained evaluation metrics across **9** perspectives
51
+
52
+ ---
53
+
54
+ ## How It Is Evaluated
55
+
56
+ WebCoderBench combines **rule-based evaluation** and the **LLM-as-a-judge** paradigm to enable fully automated, objective, and general evaluation.
57
+
58
+ To make the overall ranking more interpretable, we adopt **human-preference-aligned weights** over metrics to yield overall scores.
59
+
60
+ ---
61
+
62
+ ## Key Findings
63
+
64
+ Experiments across **12 representative LLMs** and **2 LLM-based agents** show that there is **no dominant model across all evaluation metrics**, offering opportunities for targeted optimization.
65
  """
66
 
67
  EVALUATION_QUEUE_TEXT = """
src/display/css_html_js.py CHANGED
@@ -94,6 +94,63 @@ custom_css = """
94
  #box-filter > .form{
95
  border: 0
96
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  """
98
 
99
  get_window_url_params = """
 
94
  #box-filter > .form{
95
  border: 0
96
  }
97
+
98
+ #raw-score-table {
99
+ overflow-x: auto !important;
100
+ max-width: 100%;
101
+ min-width: 0;
102
+ min-height: 78vh;
103
+ }
104
+
105
+ #raw-score-table > div {
106
+ overflow-x: auto !important;
107
+ max-width: 100%;
108
+ min-width: 0;
109
+ }
110
+
111
+ #result-tab {
112
+ min-height: 78vh;
113
+ }
114
+
115
+ #raw-score-table th,
116
+ #unweighted-z-table th,
117
+ #weighted-z-table th {
118
+ white-space: pre-line;
119
+ }
120
+
121
+ #raw-score-table td,
122
+ #unweighted-z-table td,
123
+ #weighted-z-table td {
124
+ white-space: nowrap;
125
+ }
126
+
127
+ #weights-table {
128
+ overflow-x: auto !important;
129
+ max-width: 100%;
130
+ }
131
+
132
+ #weights-table .weights-scroll {
133
+ overflow-x: auto;
134
+ max-width: 100%;
135
+ }
136
+
137
+ #weights-table table {
138
+ border-collapse: collapse;
139
+ width: max-content;
140
+ }
141
+
142
+ #weights-table th,
143
+ #weights-table td {
144
+ border: 1px solid rgba(0,0,0,0.08);
145
+ padding: 10px 12px;
146
+ vertical-align: middle;
147
+ white-space: nowrap;
148
+ }
149
+
150
+ #weights-table th {
151
+ font-weight: 600;
152
+ background: rgba(0,0,0,0.02);
153
+ }
154
  """
155
 
156
  get_window_url_params = """
src/raw_score.json ADDED
@@ -0,0 +1,590 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "ID": 1,
4
+ "Model": "DeepSeek-R1-0528",
5
+ "Code Quality": {
6
+ "General Functionality Correctness": 54.67,
7
+ "Best Practices": 95.71,
8
+ "Error Handling": 78.87,
9
+ "Runtime Console Errors": 95.23,
10
+ "Static Syntax Checking (Linting)": 97.53
11
+ },
12
+ "Visual Quality": {
13
+ "General Visual Experience": 54.36,
14
+ "Component Style Consistency": 96.53,
15
+ "Icon Style Consistency": 57.58,
16
+ "Layout Consistency": 86.69,
17
+ "Layout Sparsity": 87.82,
18
+ "Visual Harmony Degree": 70.38
19
+ },
20
+ "Content Quality": {
21
+ "Copywriting Quality": 98.6,
22
+ "Media Quality": 56.66,
23
+ "Placeholder Quality": 95.99,
24
+ "Resource Validity": 88.15
25
+ },
26
+ "Performance Quality": {
27
+ "General Performance": 97.02
28
+ },
29
+ "Accessbility": {
30
+ "Accessibility Core Metrics": 92.94,
31
+ "Cross-Browser Compatibility": 96.47,
32
+ "Mobile Device Compatibility": 89.47
33
+ },
34
+ "Maintainability": {
35
+ "Code Redundancy Rate": 95.89,
36
+ "Comment Rate": 78.76
37
+ },
38
+ "Alignment": {
39
+ "Functional Alignment": 87.61,
40
+ "Visual Alignment": 92.7,
41
+ "Content Alignment": 88.77
42
+ }
43
+ },
44
+ {
45
+ "ID": 2,
46
+ "Model": "DeepSeek-V3.1",
47
+ "Code Quality": {
48
+ "General Functionality Correctness": 53.68,
49
+ "Best Practices": 95.68,
50
+ "Error Handling": 78.53,
51
+ "Runtime Console Errors": 92.44,
52
+ "Static Syntax Checking (Linting)": 96.72
53
+ },
54
+ "Visual Quality": {
55
+ "General Visual Experience": 40.65,
56
+ "Component Style Consistency": 98.03,
57
+ "Icon Style Consistency": 77.69,
58
+ "Layout Consistency": 89.55,
59
+ "Layout Sparsity": 82.99,
60
+ "Visual Harmony Degree": 68.86
61
+ },
62
+ "Content Quality": {
63
+ "Copywriting Quality": 98.67,
64
+ "Media Quality": 51.94,
65
+ "Placeholder Quality": 92.51,
66
+ "Resource Validity": 69.33
67
+ },
68
+ "Performance Quality": {
69
+ "General Performance": 97.6
70
+ },
71
+ "Accessbility": {
72
+ "Accessibility Core Metrics": 91.27,
73
+ "Cross-Browser Compatibility": 95.6,
74
+ "Mobile Device Compatibility": 82.64
75
+ },
76
+ "Maintainability": {
77
+ "Code Redundancy Rate": 96.18,
78
+ "Comment Rate": 76.3
79
+ },
80
+ "Alignment": {
81
+ "Functional Alignment": 89.02,
82
+ "Visual Alignment": 93.02,
83
+ "Content Alignment": 87.66
84
+ }
85
+ },
86
+ {
87
+ "ID": 3,
88
+ "Model": "DeepSeek-V3.1-Terminus",
89
+ "Code Quality": {
90
+ "General Functionality Correctness": 56.25,
91
+ "Best Practices": 95.94,
92
+ "Error Handling": 76.12,
93
+ "Runtime Console Errors": 96.5,
94
+ "Static Syntax Checking (Linting)": 97.56
95
+ },
96
+ "Visual Quality": {
97
+ "General Visual Experience": 86.4,
98
+ "Component Style Consistency": 97.86,
99
+ "Icon Style Consistency": 66,
100
+ "Layout Consistency": 89.13,
101
+ "Layout Sparsity": 87.51,
102
+ "Visual Harmony Degree": 70.15
103
+ },
104
+ "Content Quality": {
105
+ "Copywriting Quality": 98.64,
106
+ "Media Quality": 38.12,
107
+ "Placeholder Quality": 93.2,
108
+ "Resource Validity": 76.44
109
+ },
110
+ "Performance Quality": {
111
+ "General Performance": 98.19
112
+ },
113
+ "Accessbility": {
114
+ "Accessibility Core Metrics": 92.63,
115
+ "Cross-Browser Compatibility": 96.43,
116
+ "Mobile Device Compatibility": 88.99
117
+ },
118
+ "Maintainability": {
119
+ "Code Redundancy Rate": 97.33,
120
+ "Comment Rate": 81.07
121
+ },
122
+ "Alignment": {
123
+ "Functional Alignment": 89.77,
124
+ "Visual Alignment": 92.18,
125
+ "Content Alignment": 88.35
126
+ }
127
+ },
128
+ {
129
+ "ID": 4,
130
+ "Model": "DeepSeek-V3.1-Thinking",
131
+ "Code Quality": {
132
+ "General Functionality Correctness": 54.03,
133
+ "Best Practices": 95.65,
134
+ "Error Handling": 78.74,
135
+ "Runtime Console Errors": 90.93,
136
+ "Static Syntax Checking (Linting)": 96.33
137
+ },
138
+ "Visual Quality": {
139
+ "General Visual Experience": 41.12,
140
+ "Component Style Consistency": 97.66,
141
+ "Icon Style Consistency": 78.38,
142
+ "Layout Consistency": 90.32,
143
+ "Layout Sparsity": 83.17,
144
+ "Visual Harmony Degree": 68.92
145
+ },
146
+ "Content Quality": {
147
+ "Copywriting Quality": 98.67,
148
+ "Media Quality": 57.21,
149
+ "Placeholder Quality": 92.37,
150
+ "Resource Validity": 70.44
151
+ },
152
+ "Performance Quality": {
153
+ "General Performance": 97.97
154
+ },
155
+ "Accessbility": {
156
+ "Accessibility Core Metrics": 91.25,
157
+ "Cross-Browser Compatibility": 95.83,
158
+ "Mobile Device Compatibility": 81.76
159
+ },
160
+ "Maintainability": {
161
+ "Code Redundancy Rate": 96.46,
162
+ "Comment Rate": 76.17
163
+ },
164
+ "Alignment": {
165
+ "Functional Alignment": 88.82,
166
+ "Visual Alignment": 91.7,
167
+ "Content Alignment": 87.31
168
+ }
169
+ },
170
+ {
171
+ "ID": 5,
172
+ "Model": "GLM-4.5",
173
+ "Code Quality": {
174
+ "General Functionality Correctness": 57.73,
175
+ "Best Practices": 95.84,
176
+ "Error Handling": 72.89,
177
+ "Runtime Console Errors": 97.69,
178
+ "Static Syntax Checking (Linting)": 97.6
179
+ },
180
+ "Visual Quality": {
181
+ "General Visual Experience": 87.42,
182
+ "Component Style Consistency": 98.1,
183
+ "Icon Style Consistency": 72.42,
184
+ "Layout Consistency": 89.06,
185
+ "Layout Sparsity": 86.22,
186
+ "Visual Harmony Degree": 69.21
187
+ },
188
+ "Content Quality": {
189
+ "Copywriting Quality": 98.64,
190
+ "Media Quality": 77.73,
191
+ "Placeholder Quality": 100,
192
+ "Resource Validity": 93.33
193
+ },
194
+ "Performance Quality": {
195
+ "General Performance": 97.21
196
+ },
197
+ "Accessbility": {
198
+ "Accessibility Core Metrics": 91.64,
199
+ "Cross-Browser Compatibility": 96.56,
200
+ "Mobile Device Compatibility": 84.01
201
+ },
202
+ "Maintainability": {
203
+ "Code Redundancy Rate": 96.4,
204
+ "Comment Rate": 77.52
205
+ },
206
+ "Alignment": {
207
+ "Functional Alignment": 91.29,
208
+ "Visual Alignment": 94.12,
209
+ "Content Alignment": 89.18
210
+ }
211
+ },
212
+ {
213
+ "ID": 6,
214
+ "Model": "Qwen3-Coder-Plus",
215
+ "Code Quality": {
216
+ "General Functionality Correctness": 54.95,
217
+ "Best Practices": 95.13,
218
+ "Error Handling": 79.71,
219
+ "Runtime Console Errors": 96.75,
220
+ "Static Syntax Checking (Linting)": 97.18
221
+ },
222
+ "Visual Quality": {
223
+ "General Visual Experience": 46.27,
224
+ "Component Style Consistency": 98.69,
225
+ "Icon Style Consistency": 60,
226
+ "Layout Consistency": 90.2,
227
+ "Layout Sparsity": 86.58,
228
+ "Visual Harmony Degree": 68.88
229
+ },
230
+ "Content Quality": {
231
+ "Copywriting Quality": 98.69,
232
+ "Media Quality": 42.78,
233
+ "Placeholder Quality": 94.94,
234
+ "Resource Validity": 79.69
235
+ },
236
+ "Performance Quality": {
237
+ "General Performance": 98.54
238
+ },
239
+ "Accessbility": {
240
+ "Accessibility Core Metrics": 93.13,
241
+ "Cross-Browser Compatibility": 96.04,
242
+ "Mobile Device Compatibility": 88.84
243
+ },
244
+ "Maintainability": {
245
+ "Code Redundancy Rate": 98.44,
246
+ "Comment Rate": 78.28
247
+ },
248
+ "Alignment": {
249
+ "Functional Alignment": 86.79,
250
+ "Visual Alignment": 89.89,
251
+ "Content Alignment": 86.15
252
+ }
253
+ },
254
+ {
255
+ "ID": 7,
256
+ "Model": "Qwen3-235B-A22B-Instruct",
257
+ "Code Quality": {
258
+ "General Functionality Correctness": 56.41,
259
+ "Best Practices": 94.68,
260
+ "Error Handling": 78.67,
261
+ "Runtime Console Errors": 91.98,
262
+ "Static Syntax Checking (Linting)": 95.11
263
+ },
264
+ "Visual Quality": {
265
+ "General Visual Experience": 73.35,
266
+ "Component Style Consistency": 98.53,
267
+ "Icon Style Consistency": 64.29,
268
+ "Layout Consistency": 92.11,
269
+ "Layout Sparsity": 81.91,
270
+ "Visual Harmony Degree": 66.89
271
+ },
272
+ "Content Quality": {
273
+ "Copywriting Quality": 98.79,
274
+ "Media Quality": 52.05,
275
+ "Placeholder Quality": 95.16,
276
+ "Resource Validity": 68.09
277
+ },
278
+ "Performance Quality": {
279
+ "General Performance": 97.45
280
+ },
281
+ "Accessbility": {
282
+ "Accessibility Core Metrics": 91.88,
283
+ "Cross-Browser Compatibility": 95.77,
284
+ "Mobile Device Compatibility": 90.46
285
+ },
286
+ "Maintainability": {
287
+ "Code Redundancy Rate": 97.36,
288
+ "Comment Rate": 76.85
289
+ },
290
+ "Alignment": {
291
+ "Functional Alignment": 88.95,
292
+ "Visual Alignment": 92.23,
293
+ "Content Alignment": 88.77
294
+ }
295
+ },
296
+ {
297
+ "ID": 8,
298
+ "Model": "MiniMax-M2",
299
+ "Code Quality": {
300
+ "General Functionality Correctness": 72.52,
301
+ "Best Practices": 95.57,
302
+ "Error Handling": 59.02,
303
+ "Runtime Console Errors": 93.41,
304
+ "Static Syntax Checking (Linting)": 90.42
305
+ },
306
+ "Visual Quality": {
307
+ "General Visual Experience": 56.47,
308
+ "Component Style Consistency": 94.14,
309
+ "Icon Style Consistency": 73.59,
310
+ "Layout Consistency": 88.97,
311
+ "Layout Sparsity": 82.76,
312
+ "Visual Harmony Degree": 69.48
313
+ },
314
+ "Content Quality": {
315
+ "Copywriting Quality": 98.73,
316
+ "Media Quality": 38.17,
317
+ "Placeholder Quality": 98.55,
318
+ "Resource Validity": 77.32
319
+ },
320
+ "Performance Quality": {
321
+ "General Performance": 97.15
322
+ },
323
+ "Accessbility": {
324
+ "Accessibility Core Metrics": 89.8,
325
+ "Cross-Browser Compatibility": 96.44,
326
+ "Mobile Device Compatibility": 81.99
327
+ },
328
+ "Maintainability": {
329
+ "Code Redundancy Rate": 93.97,
330
+ "Comment Rate": 82.17
331
+ },
332
+ "Alignment": {
333
+ "Functional Alignment": 93.62,
334
+ "Visual Alignment": 95.6,
335
+ "Content Alignment": 92.11
336
+ }
337
+ },
338
+ {
339
+ "ID": 9,
340
+ "Model": "Gemini-2.5-Pro",
341
+ "Code Quality": {
342
+ "General Functionality Correctness": 68.28,
343
+ "Best Practices": 94.82,
344
+ "Error Handling": 76.22,
345
+ "Runtime Console Errors": 92.74,
346
+ "Static Syntax Checking (Linting)": 94.81
347
+ },
348
+ "Visual Quality": {
349
+ "General Visual Experience": 78.08,
350
+ "Component Style Consistency": 96.04,
351
+ "Icon Style Consistency": 84.82,
352
+ "Layout Consistency": 85.07,
353
+ "Layout Sparsity": 80.91,
354
+ "Visual Harmony Degree": 66.7
355
+ },
356
+ "Content Quality": {
357
+ "Copywriting Quality": 98.8,
358
+ "Media Quality": 46.7,
359
+ "Placeholder Quality": 98.03,
360
+ "Resource Validity": 72.08
361
+ },
362
+ "Performance Quality": {
363
+ "General Performance": 94.32
364
+ },
365
+ "Accessbility": {
366
+ "Accessibility Core Metrics": 92.37,
367
+ "Cross-Browser Compatibility": 96.4,
368
+ "Mobile Device Compatibility": 83.86
369
+ },
370
+ "Maintainability": {
371
+ "Code Redundancy Rate": 92.8,
372
+ "Comment Rate": 74.59
373
+ },
374
+ "Alignment": {
375
+ "Functional Alignment": 90.33,
376
+ "Visual Alignment": 94.53,
377
+ "Content Alignment": 89.03
378
+ }
379
+ },
380
+ {
381
+ "ID": 10,
382
+ "Model": "GPT-4o-2024-11-20",
383
+ "Code Quality": {
384
+ "General Functionality Correctness": 49.42,
385
+ "Best Practices": 95.58,
386
+ "Error Handling": 86.32,
387
+ "Runtime Console Errors": 83.97,
388
+ "Static Syntax Checking (Linting)": 97.66
389
+ },
390
+ "Visual Quality": {
391
+ "General Visual Experience": 59.13,
392
+ "Component Style Consistency": 100,
393
+ "Icon Style Consistency": 60,
394
+ "Layout Consistency": 91.89,
395
+ "Layout Sparsity": 74.96,
396
+ "Visual Harmony Degree": 65.16
397
+ },
398
+ "Content Quality": {
399
+ "Copywriting Quality": 98.88,
400
+ "Media Quality": 46.77,
401
+ "Placeholder Quality": 98.12,
402
+ "Resource Validity": 55.53
403
+ },
404
+ "Performance Quality": {
405
+ "General Performance": 94.07
406
+ },
407
+ "Accessbility": {
408
+ "Accessibility Core Metrics": 93.65,
409
+ "Cross-Browser Compatibility": 94.44,
410
+ "Mobile Device Compatibility": 90.03
411
+ },
412
+ "Maintainability": {
413
+ "Code Redundancy Rate": 94.38,
414
+ "Comment Rate": 66.34
415
+ },
416
+ "Alignment": {
417
+ "Functional Alignment": 73.14,
418
+ "Visual Alignment": 77.38,
419
+ "Content Alignment": 74.43
420
+ }
421
+ },
422
+ {
423
+ "ID": 11,
424
+ "Model": "GPT-5-Codex-High",
425
+ "Code Quality": {
426
+ "General Functionality Correctness": 74.82,
427
+ "Best Practices": 93.12,
428
+ "Error Handling": 68.51,
429
+ "Runtime Console Errors": 96.3,
430
+ "Static Syntax Checking (Linting)": 94.4
431
+ },
432
+ "Visual Quality": {
433
+ "General Visual Experience": 93.83,
434
+ "Component Style Consistency": 97.1,
435
+ "Icon Style Consistency": 74.49,
436
+ "Layout Consistency": 80.96,
437
+ "Layout Sparsity": 87.43,
438
+ "Visual Harmony Degree": 67.46
439
+ },
440
+ "Content Quality": {
441
+ "Copywriting Quality": 98.51,
442
+ "Media Quality": 46.61,
443
+ "Placeholder Quality": 98.51,
444
+ "Resource Validity": 68.17
445
+ },
446
+ "Performance Quality": {
447
+ "General Performance": 94.44
448
+ },
449
+ "Accessbility": {
450
+ "Accessibility Core Metrics": 93.55,
451
+ "Cross-Browser Compatibility": 96.29,
452
+ "Mobile Device Compatibility": 92.42
453
+ },
454
+ "Maintainability": {
455
+ "Code Redundancy Rate": 93.07,
456
+ "Comment Rate": 62.62
457
+ },
458
+ "Alignment": {
459
+ "Functional Alignment": 92.04,
460
+ "Visual Alignment": 96.27,
461
+ "Content Alignment": 92.93
462
+ }
463
+ },
464
+ {
465
+ "ID": 12,
466
+ "Model": "GPT-5-High",
467
+ "Code Quality": {
468
+ "General Functionality Correctness": 79.18,
469
+ "Best Practices": 95.66,
470
+ "Error Handling": 51.17,
471
+ "Runtime Console Errors": 95.33,
472
+ "Static Syntax Checking (Linting)": 90.18
473
+ },
474
+ "Visual Quality": {
475
+ "General Visual Experience": 90.62,
476
+ "Component Style Consistency": 94.62,
477
+ "Icon Style Consistency": 66.67,
478
+ "Layout Consistency": 81.44,
479
+ "Layout Sparsity": 84.85,
480
+ "Visual Harmony Degree": 69.22
481
+ },
482
+ "Content Quality": {
483
+ "Copywriting Quality": 98.57,
484
+ "Media Quality": 37.52,
485
+ "Placeholder Quality": 98.72,
486
+ "Resource Validity": 74.75
487
+ },
488
+ "Performance Quality": {
489
+ "General Performance": 98.08
490
+ },
491
+ "Accessbility": {
492
+ "Accessibility Core Metrics": 88.75,
493
+ "Cross-Browser Compatibility": 96.58,
494
+ "Mobile Device Compatibility": 76.57
495
+ },
496
+ "Maintainability": {
497
+ "Code Redundancy Rate": 91.09,
498
+ "Comment Rate": 80.84
499
+ },
500
+ "Alignment": {
501
+ "Functional Alignment": 96.94,
502
+ "Visual Alignment": 97.54,
503
+ "Content Alignment": 95.1
504
+ }
505
+ },
506
+ {
507
+ "ID": 13,
508
+ "Model": "Manus",
509
+ "Code Quality": {
510
+ "General Functionality Correctness": 65.88,
511
+ "Best Practices": 95.13,
512
+ "Error Handling": 66.43,
513
+ "Runtime Console Errors": 90.47,
514
+ "Static Syntax Checking (Linting)": 100
515
+ },
516
+ "Visual Quality": {
517
+ "General Visual Experience": 54.19,
518
+ "Component Style Consistency": 100,
519
+ "Icon Style Consistency": 53.33,
520
+ "Layout Consistency": 87.8,
521
+ "Layout Sparsity": 85.06,
522
+ "Visual Harmony Degree": 67.82
523
+ },
524
+ "Content Quality": {
525
+ "Copywriting Quality": 98.65,
526
+ "Media Quality": 54.27,
527
+ "Placeholder Quality": 96.08,
528
+ "Resource Validity": 83.7
529
+ },
530
+ "Performance Quality": {
531
+ "General Performance": 95.96
532
+ },
533
+ "Accessbility": {
534
+ "Accessibility Core Metrics": 91.64,
535
+ "Cross-Browser Compatibility": 95.44,
536
+ "Mobile Device Compatibility": 87.12
537
+ },
538
+ "Maintainability": {
539
+ "Code Redundancy Rate": 90.94,
540
+ "Comment Rate": 82.31
541
+ },
542
+ "Alignment": {
543
+ "Functional Alignment": 93.47,
544
+ "Visual Alignment": 92.32,
545
+ "Content Alignment": 90.02
546
+ }
547
+ },
548
+ {
549
+ "ID": 14,
550
+ "Model": "MiniMax Agent",
551
+ "Code Quality": {
552
+ "General Functionality Correctness": 59.55,
553
+ "Best Practices": 95.9,
554
+ "Error Handling": 63.63,
555
+ "Runtime Console Errors": 89.68,
556
+ "Static Syntax Checking (Linting)": 100
557
+ },
558
+ "Visual Quality": {
559
+ "General Visual Experience": 51.02,
560
+ "Component Style Consistency": 91.5,
561
+ "Icon Style Consistency": 61.33,
562
+ "Layout Consistency": 88.53,
563
+ "Layout Sparsity": 83.73,
564
+ "Visual Harmony Degree": 68.27
565
+ },
566
+ "Content Quality": {
567
+ "Copywriting Quality": 98.5,
568
+ "Media Quality": 88.62,
569
+ "Placeholder Quality": 100,
570
+ "Resource Validity": 95.04
571
+ },
572
+ "Performance Quality": {
573
+ "General Performance": 95.19
574
+ },
575
+ "Accessbility": {
576
+ "Accessibility Core Metrics": 91.7,
577
+ "Cross-Browser Compatibility": 94.63,
578
+ "Mobile Device Compatibility": 88.35
579
+ },
580
+ "Maintainability": {
581
+ "Code Redundancy Rate": 86.83,
582
+ "Comment Rate": 83.19
583
+ },
584
+ "Alignment": {
585
+ "Functional Alignment": 91.31,
586
+ "Visual Alignment": 93.86,
587
+ "Content Alignment": 88.25
588
+ }
589
+ }
590
+ ]
src/unweighted_z_score.json ADDED
@@ -0,0 +1,590 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "ID": 1,
4
+ "Model": "DeepSeek-R1-0528",
5
+ "Code Quality": {
6
+ "General Functionality Correctness": -0.3699,
7
+ "Best Practices": 0.1256,
8
+ "Error Handling": 0.1622,
9
+ "Runtime Console Errors": 0.0938,
10
+ "Static Syntax Checking (Linting)": 0.1041
11
+ },
12
+ "Visual Quality": {
13
+ "General Visual Experience": -0.3956,
14
+ "Component Style Consistency": -0.047,
15
+ "Icon Style Consistency": -0.5862,
16
+ "Layout Consistency": -0.0533,
17
+ "Layout Sparsity": 0.2614,
18
+ "Visual Harmony Degree": 0.1952
19
+ },
20
+ "Content Quality": {
21
+ "Copywriting Quality": -0.0512,
22
+ "Media Quality": 0.1059,
23
+ "Placeholder Quality": 0.0128,
24
+ "Resource Validity": 0.4508
25
+ },
26
+ "Performance Quality": {
27
+ "General Performance": 0.0248
28
+ },
29
+ "Accessbility": {
30
+ "Accessibility Core Metrics": 0.1433,
31
+ "Cross-Browser Compatibility": 0.1725,
32
+ "Mobile Device Compatibility": 0.1076
33
+ },
34
+ "Maintainability": {
35
+ "Code Redundancy Rate": 0.0422,
36
+ "Comment Rate": 0.1701
37
+ },
38
+ "Alignment": {
39
+ "Functional Alignment": -0.0697,
40
+ "Visual Alignment": 0.0219,
41
+ "Content Alignment": 0.0195
42
+ }
43
+ },
44
+ {
45
+ "ID": 2,
46
+ "Model": "DeepSeek-V3.1",
47
+ "Code Quality": {
48
+ "General Functionality Correctness": -0.4223,
49
+ "Best Practices": 0.1158,
50
+ "Error Handling": 0.1518,
51
+ "Runtime Console Errors": -0.0284,
52
+ "Static Syntax Checking (Linting)": 0.0602
53
+ },
54
+ "Visual Quality": {
55
+ "General Visual Experience": -0.8833,
56
+ "Component Style Consistency": 0.0801,
57
+ "Icon Style Consistency": 0.2612,
58
+ "Layout Consistency": 0.0505,
59
+ "Layout Sparsity": -0.0731,
60
+ "Visual Harmony Degree": 0.0427
61
+ },
62
+ "Content Quality": {
63
+ "Copywriting Quality": -0.0097,
64
+ "Media Quality": -0.0654,
65
+ "Placeholder Quality": -0.1864,
66
+ "Resource Validity": -0.1057
67
+ },
68
+ "Performance Quality": {
69
+ "General Performance": 0.0718
70
+ },
71
+ "Accessbility": {
72
+ "Accessibility Core Metrics": -0.0806,
73
+ "Cross-Browser Compatibility": -0.2108,
74
+ "Mobile Device Compatibility": -0.1006
75
+ },
76
+ "Maintainability": {
77
+ "Code Redundancy Rate": 0.0593,
78
+ "Comment Rate": -0.0553
79
+ },
80
+ "Alignment": {
81
+ "Functional Alignment": -0.0001,
82
+ "Visual Alignment": 0.0368,
83
+ "Content Alignment": -0.0252
84
+ }
85
+ },
86
+ {
87
+ "ID": 3,
88
+ "Model": "DeepSeek-V3.1-Terminus",
89
+ "Code Quality": {
90
+ "General Functionality Correctness": -0.2846,
91
+ "Best Practices": 0.1971,
92
+ "Error Handling": 0.0791,
93
+ "Runtime Console Errors": 0.1495,
94
+ "Static Syntax Checking (Linting)": 0.106
95
+ },
96
+ "Visual Quality": {
97
+ "General Visual Experience": 0.7438,
98
+ "Component Style Consistency": 0.0655,
99
+ "Icon Style Consistency": -0.2315,
100
+ "Layout Consistency": 0.035,
101
+ "Layout Sparsity": 0.2399,
102
+ "Visual Harmony Degree": 0.1721
103
+ },
104
+ "Content Quality": {
105
+ "Copywriting Quality": -0.0305,
106
+ "Media Quality": -0.5671,
107
+ "Placeholder Quality": -0.147,
108
+ "Resource Validity": 0.1044
109
+ },
110
+ "Performance Quality": {
111
+ "General Performance": 0.1203
112
+ },
113
+ "Accessbility": {
114
+ "Accessibility Core Metrics": 0.1017,
115
+ "Cross-Browser Compatibility": 0.155,
116
+ "Mobile Device Compatibility": 0.093
117
+ },
118
+ "Maintainability": {
119
+ "Code Redundancy Rate": 0.1273,
120
+ "Comment Rate": 0.3809
121
+ },
122
+ "Alignment": {
123
+ "Functional Alignment": 0.0369,
124
+ "Visual Alignment": -0.0029,
125
+ "Content Alignment": 0.0024
126
+ }
127
+ },
128
+ {
129
+ "ID": 4,
130
+ "Model": "DeepSeek-V3.1-Thinking",
131
+ "Code Quality": {
132
+ "General Functionality Correctness": -0.4038,
133
+ "Best Practices": 0.1054,
134
+ "Error Handling": 0.1582,
135
+ "Runtime Console Errors": -0.0948,
136
+ "Static Syntax Checking (Linting)": 0.0385
137
+ },
138
+ "Visual Quality": {
139
+ "General Visual Experience": -0.8668,
140
+ "Component Style Consistency": 0.0488,
141
+ "Icon Style Consistency": 0.2901,
142
+ "Layout Consistency": 0.0781,
143
+ "Layout Sparsity": -0.0606,
144
+ "Visual Harmony Degree": 0.049
145
+ },
146
+ "Content Quality": {
147
+ "Copywriting Quality": -0.0133,
148
+ "Media Quality": 0.126,
149
+ "Placeholder Quality": -0.1942,
150
+ "Resource Validity": -0.0728
151
+ },
152
+ "Performance Quality": {
153
+ "General Performance": 0.1027
154
+ },
155
+ "Accessbility": {
156
+ "Accessibility Core Metrics": -0.0838,
157
+ "Cross-Browser Compatibility": -0.1078,
158
+ "Mobile Device Compatibility": -0.1274
159
+ },
160
+ "Maintainability": {
161
+ "Code Redundancy Rate": 0.076,
162
+ "Comment Rate": -0.068
163
+ },
164
+ "Alignment": {
165
+ "Functional Alignment": -0.0098,
166
+ "Visual Alignment": -0.0252,
167
+ "Content Alignment": -0.0395
168
+ }
169
+ },
170
+ {
171
+ "ID": 5,
172
+ "Model": "GLM-4.5",
173
+ "Code Quality": {
174
+ "General Functionality Correctness": -0.208,
175
+ "Best Practices": 0.1642,
176
+ "Error Handling": -0.0181,
177
+ "Runtime Console Errors": 0.2018,
178
+ "Static Syntax Checking (Linting)": 0.108
179
+ },
180
+ "Visual Quality": {
181
+ "General Visual Experience": 0.78,
182
+ "Component Style Consistency": 0.0864,
183
+ "Icon Style Consistency": 0.0392,
184
+ "Layout Consistency": 0.0327,
185
+ "Layout Sparsity": 0.1503,
186
+ "Visual Harmony Degree": 0.078
187
+ },
188
+ "Content Quality": {
189
+ "Copywriting Quality": -0.0276,
190
+ "Media Quality": 0.8704,
191
+ "Placeholder Quality": 0.2424,
192
+ "Resource Validity": 0.6038
193
+ },
194
+ "Performance Quality": {
195
+ "General Performance": 0.0404
196
+ },
197
+ "Accessbility": {
198
+ "Accessibility Core Metrics": -0.0311,
199
+ "Cross-Browser Compatibility": 0.2128,
200
+ "Mobile Device Compatibility": -0.0587
201
+ },
202
+ "Maintainability": {
203
+ "Code Redundancy Rate": 0.0725,
204
+ "Comment Rate": 0.0558
205
+ },
206
+ "Alignment": {
207
+ "Functional Alignment": 0.1122,
208
+ "Visual Alignment": 0.0885,
209
+ "Content Alignment": 0.0361
210
+ }
211
+ },
212
+ {
213
+ "ID": 6,
214
+ "Model": "Qwen3-Coder-Plus",
215
+ "Code Quality": {
216
+ "General Functionality Correctness": -0.355,
217
+ "Best Practices": -0.0543,
218
+ "Error Handling": 0.1874,
219
+ "Runtime Console Errors": 0.1608,
220
+ "Static Syntax Checking (Linting)": 0.0849
221
+ },
222
+ "Visual Quality": {
223
+ "General Visual Experience": -0.6834,
224
+ "Component Style Consistency": 0.1364,
225
+ "Icon Style Consistency": -0.4843,
226
+ "Layout Consistency": 0.0737,
227
+ "Layout Sparsity": 0.1757,
228
+ "Visual Harmony Degree": 0.0451
229
+ },
230
+ "Content Quality": {
231
+ "Copywriting Quality": 0.0008,
232
+ "Media Quality": -0.3977,
233
+ "Placeholder Quality": -0.0472,
234
+ "Resource Validity": 0.2005
235
+ },
236
+ "Performance Quality": {
237
+ "General Performance": 0.1492
238
+ },
239
+ "Accessbility": {
240
+ "Accessibility Core Metrics": 0.1679,
241
+ "Cross-Browser Compatibility": -0.0163,
242
+ "Mobile Device Compatibility": 0.0883
243
+ },
244
+ "Maintainability": {
245
+ "Code Redundancy Rate": 0.1934,
246
+ "Comment Rate": 0.1257
247
+ },
248
+ "Alignment": {
249
+ "Functional Alignment": -0.1105,
250
+ "Visual Alignment": -0.1105,
251
+ "Content Alignment": -0.0861
252
+ }
253
+ },
254
+ {
255
+ "ID": 7,
256
+ "Model": "Qwen3-235B-A22B-Instruct",
257
+ "Code Quality": {
258
+ "General Functionality Correctness": -0.2647,
259
+ "Best Practices": -0.1941,
260
+ "Error Handling": 0.1561,
261
+ "Runtime Console Errors": -0.0488,
262
+ "Static Syntax Checking (Linting)": -0.0281
263
+ },
264
+ "Visual Quality": {
265
+ "General Visual Experience": 0.2797,
266
+ "Component Style Consistency": 0.123,
267
+ "Icon Style Consistency": -0.3037,
268
+ "Layout Consistency": 0.143,
269
+ "Layout Sparsity": -0.148,
270
+ "Visual Harmony Degree": -0.1542
271
+ },
272
+ "Content Quality": {
273
+ "Copywriting Quality": 0.0517,
274
+ "Media Quality": -0.0613,
275
+ "Placeholder Quality": -0.0344,
276
+ "Resource Validity": -0.1425
277
+ },
278
+ "Performance Quality": {
279
+ "General Performance": 0.0599
280
+ },
281
+ "Accessbility": {
282
+ "Accessibility Core Metrics": 0.0006,
283
+ "Cross-Browser Compatibility": -0.1347,
284
+ "Mobile Device Compatibility": 0.1377
285
+ },
286
+ "Maintainability": {
287
+ "Code Redundancy Rate": 0.1295,
288
+ "Comment Rate": -0.0049
289
+ },
290
+ "Alignment": {
291
+ "Functional Alignment": -0.0037,
292
+ "Visual Alignment": -0.0006,
293
+ "Content Alignment": 0.0196
294
+ }
295
+ },
296
+ {
297
+ "ID": 8,
298
+ "Model": "MiniMax-M2",
299
+ "Code Quality": {
300
+ "General Functionality Correctness": 0.586,
301
+ "Best Practices": 0.0799,
302
+ "Error Handling": -0.4363,
303
+ "Runtime Console Errors": 0.0143,
304
+ "Static Syntax Checking (Linting)": -0.2846
305
+ },
306
+ "Visual Quality": {
307
+ "General Visual Experience": -0.3207,
308
+ "Component Style Consistency": -0.2503,
309
+ "Icon Style Consistency": 0.0883,
310
+ "Layout Consistency": 0.0294,
311
+ "Layout Sparsity": -0.0894,
312
+ "Visual Harmony Degree": 0.1052
313
+ },
314
+ "Content Quality": {
315
+ "Copywriting Quality": 0.0234,
316
+ "Media Quality": -0.5651,
317
+ "Placeholder Quality": 0.1595,
318
+ "Resource Validity": 0.1304
319
+ },
320
+ "Performance Quality": {
321
+ "General Performance": 0.0355
322
+ },
323
+ "Accessbility": {
324
+ "Accessibility Core Metrics": -0.2779,
325
+ "Cross-Browser Compatibility": 0.1584,
326
+ "Mobile Device Compatibility": -0.1204
327
+ },
328
+ "Maintainability": {
329
+ "Code Redundancy Rate": -0.0715,
330
+ "Comment Rate": 0.4824
331
+ },
332
+ "Alignment": {
333
+ "Functional Alignment": 0.2272,
334
+ "Visual Alignment": 0.1584,
335
+ "Content Alignment": 0.1541
336
+ }
337
+ },
338
+ {
339
+ "ID": 9,
340
+ "Model": "Gemini-2.5-Pro",
341
+ "Code Quality": {
342
+ "General Functionality Correctness": 0.3541,
343
+ "Best Practices": -0.1512,
344
+ "Error Handling": 0.0824,
345
+ "Runtime Console Errors": -0.0155,
346
+ "Static Syntax Checking (Linting)": -0.0445
347
+ },
348
+ "Visual Quality": {
349
+ "General Visual Experience": 0.4479,
350
+ "Component Style Consistency": -0.0888,
351
+ "Icon Style Consistency": 0.5616,
352
+ "Layout Consistency": -0.1118,
353
+ "Layout Sparsity": -0.217,
354
+ "Visual Harmony Degree": -0.1729
355
+ },
356
+ "Content Quality": {
357
+ "Copywriting Quality": 0.0612,
358
+ "Media Quality": -0.2556,
359
+ "Placeholder Quality": 0.1294,
360
+ "Resource Validity": -0.0244
361
+ },
362
+ "Performance Quality": {
363
+ "General Performance": -0.1978
364
+ },
365
+ "Accessbility": {
366
+ "Accessibility Core Metrics": 0.0667,
367
+ "Cross-Browser Compatibility": 0.1441,
368
+ "Mobile Device Compatibility": -0.0633
369
+ },
370
+ "Maintainability": {
371
+ "Code Redundancy Rate": -0.1404,
372
+ "Comment Rate": -0.2124
373
+ },
374
+ "Alignment": {
375
+ "Functional Alignment": 0.0645,
376
+ "Visual Alignment": 0.1077,
377
+ "Content Alignment": 0.0302
378
+ }
379
+ },
380
+ {
381
+ "ID": 10,
382
+ "Model": "GPT-4o-2024-11-20",
383
+ "Code Quality": {
384
+ "General Functionality Correctness": -0.6459,
385
+ "Best Practices": 0.0849,
386
+ "Error Handling": 0.3867,
387
+ "Runtime Console Errors": -0.3998,
388
+ "Static Syntax Checking (Linting)": 0.1112
389
+ },
390
+ "Visual Quality": {
391
+ "General Visual Experience": -0.2261,
392
+ "Component Style Consistency": 0.2475,
393
+ "Icon Style Consistency": -0.4843,
394
+ "Layout Consistency": 0.135,
395
+ "Layout Sparsity": -0.6292,
396
+ "Visual Harmony Degree": -0.3277
397
+ },
398
+ "Content Quality": {
399
+ "Copywriting Quality": 0.1031,
400
+ "Media Quality": -0.2531,
401
+ "Placeholder Quality": 0.1347,
402
+ "Resource Validity": -0.5137
403
+ },
404
+ "Performance Quality": {
405
+ "General Performance": -0.2183
406
+ },
407
+ "Accessbility": {
408
+ "Accessibility Core Metrics": 0.2383,
409
+ "Cross-Browser Compatibility": -0.725,
410
+ "Mobile Device Compatibility": 0.1246
411
+ },
412
+ "Maintainability": {
413
+ "Code Redundancy Rate": -0.047,
414
+ "Comment Rate": -0.968
415
+ },
416
+ "Alignment": {
417
+ "Functional Alignment": -0.7851,
418
+ "Visual Alignment": -0.7003,
419
+ "Content Alignment": -0.5588
420
+ }
421
+ },
422
+ {
423
+ "ID": 11,
424
+ "Model": "GPT-5-Codex-High",
425
+ "Code Quality": {
426
+ "General Functionality Correctness": 0.6954,
427
+ "Best Practices": -0.6779,
428
+ "Error Handling": -0.1503,
429
+ "Runtime Console Errors": 0.1408,
430
+ "Static Syntax Checking (Linting)": -0.0671
431
+ },
432
+ "Visual Quality": {
433
+ "General Visual Experience": 1.008,
434
+ "Component Style Consistency": 0.0008,
435
+ "Icon Style Consistency": 0.1264,
436
+ "Layout Consistency": -0.2603,
437
+ "Layout Sparsity": 0.2346,
438
+ "Visual Harmony Degree": -0.0971
439
+ },
440
+ "Content Quality": {
441
+ "Copywriting Quality": -0.0988,
442
+ "Media Quality": -0.2587,
443
+ "Placeholder Quality": 0.1573,
444
+ "Resource Validity": -0.1401
445
+ },
446
+ "Performance Quality": {
447
+ "General Performance": -0.1876
448
+ },
449
+ "Accessbility": {
450
+ "Accessibility Core Metrics": 0.2241,
451
+ "Cross-Browser Compatibility": 0.095,
452
+ "Mobile Device Compatibility": 0.1973
453
+ },
454
+ "Maintainability": {
455
+ "Code Redundancy Rate": -0.1243,
456
+ "Comment Rate": -1.3085
457
+ },
458
+ "Alignment": {
459
+ "Functional Alignment": 0.1495,
460
+ "Visual Alignment": 0.1899,
461
+ "Content Alignment": 0.1874
462
+ }
463
+ },
464
+ {
465
+ "ID": 12,
466
+ "Model": "GPT-5-High",
467
+ "Code Quality": {
468
+ "General Functionality Correctness": 0.9259,
469
+ "Best Practices": 0.1093,
470
+ "Error Handling": -0.673,
471
+ "Runtime Console Errors": 0.0981,
472
+ "Static Syntax Checking (Linting)": -0.2977
473
+ },
474
+ "Visual Quality": {
475
+ "General Visual Experience": 0.8959,
476
+ "Component Style Consistency": -0.2097,
477
+ "Icon Style Consistency": -0.2034,
478
+ "Layout Consistency": -0.2432,
479
+ "Layout Sparsity": 0.0554,
480
+ "Visual Harmony Degree": 0.079
481
+ },
482
+ "Content Quality": {
483
+ "Copywriting Quality": -0.0662,
484
+ "Media Quality": -0.5889,
485
+ "Placeholder Quality": 0.1692,
486
+ "Resource Validity": 0.0545
487
+ },
488
+ "Performance Quality": {
489
+ "General Performance": 0.1114
490
+ },
491
+ "Accessbility": {
492
+ "Accessibility Core Metrics": -0.4192,
493
+ "Cross-Browser Compatibility": 0.2234,
494
+ "Mobile Device Compatibility": -0.2856
495
+ },
496
+ "Maintainability": {
497
+ "Code Redundancy Rate": -0.2415,
498
+ "Comment Rate": 0.3605
499
+ },
500
+ "Alignment": {
501
+ "Functional Alignment": 0.3915,
502
+ "Visual Alignment": 0.2497,
503
+ "Content Alignment": 0.2745
504
+ }
505
+ },
506
+ {
507
+ "ID": 13,
508
+ "Model": "Manus",
509
+ "Code Quality": {
510
+ "General Functionality Correctness": 0.2278,
511
+ "Best Practices": -0.0221,
512
+ "Error Handling": -0.1865,
513
+ "Runtime Console Errors": -0.2492,
514
+ "Static Syntax Checking (Linting)": 0.2409
515
+ },
516
+ "Visual Quality": {
517
+ "General Visual Experience": -0.4364,
518
+ "Component Style Consistency": 0.2511,
519
+ "Icon Style Consistency": -0.1441,
520
+ "Layout Consistency": 0.0068,
521
+ "Layout Sparsity": 0.0733,
522
+ "Visual Harmony Degree": -0.0144
523
+ },
524
+ "Content Quality": {
525
+ "Copywriting Quality": -0.0222,
526
+ "Media Quality": -0.077,
527
+ "Placeholder Quality": 0.0752,
528
+ "Resource Validity": 0.2568
529
+ },
530
+ "Performance Quality": {
531
+ "General Performance": -0.049
532
+ },
533
+ "Accessbility": {
534
+ "Accessibility Core Metrics": -0.031,
535
+ "Cross-Browser Compatibility": -0.4325,
536
+ "Mobile Device Compatibility": 0.0352
537
+ },
538
+ "Maintainability": {
539
+ "Code Redundancy Rate": -0.2326,
540
+ "Comment Rate": 0.4846
541
+ },
542
+ "Alignment": {
543
+ "Functional Alignment": 0.2342,
544
+ "Visual Alignment": 0.0348,
545
+ "Content Alignment": 0.0985
546
+ }
547
+ },
548
+ {
549
+ "ID": 14,
550
+ "Model": "MiniMax Agent",
551
+ "Code Quality": {
552
+ "General Functionality Correctness": -0.0796,
553
+ "Best Practices": 0.1917,
554
+ "Error Handling": -0.2998,
555
+ "Runtime Console Errors": -0.1372,
556
+ "Static Syntax Checking (Linting)": 0.2409
557
+ },
558
+ "Visual Quality": {
559
+ "General Visual Experience": -0.5171,
560
+ "Component Style Consistency": -0.4619,
561
+ "Icon Style Consistency": -0.4263,
562
+ "Layout Consistency": 0.0195,
563
+ "Layout Sparsity": -0.0248,
564
+ "Visual Harmony Degree": -0.0166
565
+ },
566
+ "Content Quality": {
567
+ "Copywriting Quality": -0.1069,
568
+ "Media Quality": 1.3456,
569
+ "Placeholder Quality": 0.2398,
570
+ "Resource Validity": 0.668
571
+ },
572
+ "Performance Quality": {
573
+ "General Performance": -0.1217
574
+ },
575
+ "Accessbility": {
576
+ "Accessibility Core Metrics": -0.0239,
577
+ "Cross-Browser Compatibility": -0.6377,
578
+ "Mobile Device Compatibility": 0.0761
579
+ },
580
+ "Maintainability": {
581
+ "Code Redundancy Rate": -0.4752,
582
+ "Comment Rate": 0.5712
583
+ },
584
+ "Alignment": {
585
+ "Functional Alignment": 0.1215,
586
+ "Visual Alignment": 0.0812,
587
+ "Content Alignment": 0.002
588
+ }
589
+ }
590
+ ]
src/weighted_z_score.json ADDED
@@ -0,0 +1,632 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "ID": 1,
4
+ "Model": "DeepSeek-R1-0528",
5
+ "Code Quality": {
6
+ "General Functionality Correctness": -0.01335339,
7
+ "Best Practices": 0.00373032,
8
+ "Error Handling": 0.0030818,
9
+ "Runtime Console Errors": 0.0019229,
10
+ "Static Syntax Checking (Linting)": 0.00154068
11
+ },
12
+ "Visual Quality": {
13
+ "General Visual Experience": -0.00933616,
14
+ "Component Style Consistency": -0.0006909,
15
+ "Icon Style Consistency": -0.00721026,
16
+ "Layout Consistency": -0.00078884,
17
+ "Layout Sparsity": 0.00297996,
18
+ "Visual Harmony Degree": 0.00242048
19
+ },
20
+ "Content Quality": {
21
+ "Copywriting Quality": -0.00165376,
22
+ "Media Quality": 0.00281694,
23
+ "Placeholder Quality": 0.00030848,
24
+ "Resource Validity": 0.01658944
25
+ },
26
+ "Performance Quality": {
27
+ "General Performance": 0.00282472
28
+ },
29
+ "Accessbility": {
30
+ "Accessibility Core Metrics": 0.00500117,
31
+ "Cross-Browser Compatibility": 0.0041055,
32
+ "Mobile Device Compatibility": 0.0041964
33
+ },
34
+ "Maintainability": {
35
+ "Code Redundancy Rate": 0.00181882,
36
+ "Comment Rate": 0.00908334
37
+ },
38
+ "Alignment": {
39
+ "Functional Alignment": -0.00980679,
40
+ "Visual Alignment": 0.00207174,
41
+ "Content Alignment": 0.00248625
42
+ },
43
+ "Overall Score": {
44
+ "Overall Score": 0.02413884
45
+ }
46
+ },
47
+ {
48
+ "ID": 2,
49
+ "Model": "DeepSeek-V3.1",
50
+ "Code Quality": {
51
+ "General Functionality Correctness": -0.01524503,
52
+ "Best Practices": 0.00343926,
53
+ "Error Handling": 0.0028842,
54
+ "Runtime Console Errors": -0.0005822,
55
+ "Static Syntax Checking (Linting)": 0.00089096
56
+ },
57
+ "Visual Quality": {
58
+ "General Visual Experience": -0.02084588,
59
+ "Component Style Consistency": 0.00117747,
60
+ "Icon Style Consistency": 0.00321276,
61
+ "Layout Consistency": 0.0007474,
62
+ "Layout Sparsity": -0.00083334,
63
+ "Visual Harmony Degree": 0.00052948
64
+ },
65
+ "Content Quality": {
66
+ "Copywriting Quality": -0.00031331,
67
+ "Media Quality": -0.00173964,
68
+ "Placeholder Quality": -0.00449224,
69
+ "Resource Validity": -0.00388976
70
+ },
71
+ "Performance Quality": {
72
+ "General Performance": 0.00817802
73
+ },
74
+ "Accessbility": {
75
+ "Accessibility Core Metrics": -0.00281294,
76
+ "Cross-Browser Compatibility": -0.00501704,
77
+ "Mobile Device Compatibility": -0.0039234
78
+ },
79
+ "Maintainability": {
80
+ "Code Redundancy Rate": 0.00255583,
81
+ "Comment Rate": -0.00295302
82
+ },
83
+ "Alignment": {
84
+ "Functional Alignment": -1.407e-05,
85
+ "Visual Alignment": 0.00348128,
86
+ "Content Alignment": -0.003213
87
+ },
88
+ "Overall Score": {
89
+ "Overall Score": -0.03877821
90
+ }
91
+ },
92
+ {
93
+ "ID": 3,
94
+ "Model": "DeepSeek-V3.1-Terminus",
95
+ "Code Quality": {
96
+ "General Functionality Correctness": -0.01027406,
97
+ "Best Practices": 0.00585387,
98
+ "Error Handling": 0.0015029,
99
+ "Runtime Console Errors": 0.00306475,
100
+ "Static Syntax Checking (Linting)": 0.0015688
101
+ },
102
+ "Visual Quality": {
103
+ "General Visual Experience": 0.01755368,
104
+ "Component Style Consistency": 0.00096285,
105
+ "Icon Style Consistency": -0.00284745,
106
+ "Layout Consistency": 0.000518,
107
+ "Layout Sparsity": 0.00273486,
108
+ "Visual Harmony Degree": 0.00213404
109
+ },
110
+ "Content Quality": {
111
+ "Copywriting Quality": -0.00098515,
112
+ "Media Quality": -0.01508486,
113
+ "Placeholder Quality": -0.0035427,
114
+ "Resource Validity": 0.00384192
115
+ },
116
+ "Performance Quality": {
117
+ "General Performance": 0.01370217
118
+ },
119
+ "Accessbility": {
120
+ "Accessibility Core Metrics": 0.00354933,
121
+ "Cross-Browser Compatibility": 0.003689,
122
+ "Mobile Device Compatibility": 0.003627
123
+ },
124
+ "Maintainability": {
125
+ "Code Redundancy Rate": 0.00548663,
126
+ "Comment Rate": 0.02034006
127
+ },
128
+ "Alignment": {
129
+ "Functional Alignment": 0.00519183,
130
+ "Visual Alignment": -0.00027434,
131
+ "Content Alignment": 0.000306
132
+ },
133
+ "Overall Score": {
134
+ "Overall Score": 0.06261913
135
+ }
136
+ },
137
+ {
138
+ "ID": 4,
139
+ "Model": "DeepSeek-V3.1-Thinking",
140
+ "Code Quality": {
141
+ "General Functionality Correctness": -0.01457718,
142
+ "Best Practices": 0.00313038,
143
+ "Error Handling": 0.0030058,
144
+ "Runtime Console Errors": -0.0019434,
145
+ "Static Syntax Checking (Linting)": 0.0005698
146
+ },
147
+ "Visual Quality": {
148
+ "General Visual Experience": -0.02045648,
149
+ "Component Style Consistency": 0.00071736,
150
+ "Icon Style Consistency": 0.00356823,
151
+ "Layout Consistency": 0.00115588,
152
+ "Layout Sparsity": -0.00069084,
153
+ "Visual Harmony Degree": 0.0006076
154
+ },
155
+ "Content Quality": {
156
+ "Copywriting Quality": -0.00042959,
157
+ "Media Quality": 0.0033516,
158
+ "Placeholder Quality": -0.00468022,
159
+ "Resource Validity": -0.00267904
160
+ },
161
+ "Performance Quality": {
162
+ "General Performance": 0.01169753
163
+ },
164
+ "Accessbility": {
165
+ "Accessibility Core Metrics": -0.00292462,
166
+ "Cross-Browser Compatibility": -0.00256564,
167
+ "Mobile Device Compatibility": -0.0049686
168
+ },
169
+ "Maintainability": {
170
+ "Code Redundancy Rate": 0.0032756,
171
+ "Comment Rate": -0.0036312
172
+ },
173
+ "Alignment": {
174
+ "Functional Alignment": -0.00137886,
175
+ "Visual Alignment": -0.00238392,
176
+ "Content Alignment": -0.00503625
177
+ },
178
+ "Overall Score": {
179
+ "Overall Score": -0.03726606
180
+ }
181
+ },
182
+ {
183
+ "ID": 5,
184
+ "Model": "GLM-4.5",
185
+ "Code Quality": {
186
+ "General Functionality Correctness": -0.0075088,
187
+ "Best Practices": 0.00487674,
188
+ "Error Handling": -0.0003439,
189
+ "Runtime Console Errors": 0.0041369,
190
+ "Static Syntax Checking (Linting)": 0.0015984
191
+ },
192
+ "Visual Quality": {
193
+ "General Visual Experience": 0.018408,
194
+ "Component Style Consistency": 0.00127008,
195
+ "Icon Style Consistency": 0.00048216,
196
+ "Layout Consistency": 0.00048396,
197
+ "Layout Sparsity": 0.00171342,
198
+ "Visual Harmony Degree": 0.0009672
199
+ },
200
+ "Content Quality": {
201
+ "Copywriting Quality": -0.00089148,
202
+ "Media Quality": 0.02315264,
203
+ "Placeholder Quality": 0.00584184,
204
+ "Resource Validity": 0.02221984
205
+ },
206
+ "Performance Quality": {
207
+ "General Performance": 0.00460156
208
+ },
209
+ "Accessbility": {
210
+ "Accessibility Core Metrics": -0.00108539,
211
+ "Cross-Browser Compatibility": 0.00506464,
212
+ "Mobile Device Compatibility": -0.0022893
213
+ },
214
+ "Maintainability": {
215
+ "Code Redundancy Rate": 0.00312475,
216
+ "Comment Rate": 0.00297972
217
+ },
218
+ "Alignment": {
219
+ "Functional Alignment": 0.01578654,
220
+ "Visual Alignment": 0.0083721,
221
+ "Content Alignment": 0.00460275
222
+ },
223
+ "Overall Score": {
224
+ "Overall Score": 0.11756437
225
+ }
226
+ },
227
+ {
228
+ "ID": 6,
229
+ "Model": "Qwen3-Coder-Plus",
230
+ "Code Quality": {
231
+ "General Functionality Correctness": -0.0128155,
232
+ "Best Practices": -0.00161271,
233
+ "Error Handling": 0.0035606,
234
+ "Runtime Console Errors": 0.0032964,
235
+ "Static Syntax Checking (Linting)": 0.00125652
236
+ },
237
+ "Visual Quality": {
238
+ "General Visual Experience": -0.01612824,
239
+ "Component Style Consistency": 0.00200508,
240
+ "Icon Style Consistency": -0.00595689,
241
+ "Layout Consistency": 0.00109076,
242
+ "Layout Sparsity": 0.00200298,
243
+ "Visual Harmony Degree": 0.00055924
244
+ },
245
+ "Content Quality": {
246
+ "Copywriting Quality": 2.584e-05,
247
+ "Media Quality": -0.01057882,
248
+ "Placeholder Quality": -0.00113752,
249
+ "Resource Validity": 0.0073784
250
+ },
251
+ "Performance Quality": {
252
+ "General Performance": 0.01699388
253
+ },
254
+ "Accessbility": {
255
+ "Accessibility Core Metrics": 0.00585971,
256
+ "Cross-Browser Compatibility": -0.00038794,
257
+ "Mobile Device Compatibility": 0.0034437
258
+ },
259
+ "Maintainability": {
260
+ "Code Redundancy Rate": 0.00833554,
261
+ "Comment Rate": 0.00671238
262
+ },
263
+ "Alignment": {
264
+ "Functional Alignment": -0.01554735,
265
+ "Visual Alignment": -0.0104533,
266
+ "Content Alignment": -0.01097775
267
+ },
268
+ "Overall Score": {
269
+ "Overall Score": -0.02307499
270
+ }
271
+ },
272
+ {
273
+ "ID": 7,
274
+ "Model": "Qwen3-235B-A22B-Instruct",
275
+ "Code Quality": {
276
+ "General Functionality Correctness": -0.00955567,
277
+ "Best Practices": -0.00576477,
278
+ "Error Handling": 0.0029659,
279
+ "Runtime Console Errors": -0.0010004,
280
+ "Static Syntax Checking (Linting)": -0.00041588
281
+ },
282
+ "Visual Quality": {
283
+ "General Visual Experience": 0.00660092,
284
+ "Component Style Consistency": 0.0018081,
285
+ "Icon Style Consistency": -0.00373551,
286
+ "Layout Consistency": 0.0021164,
287
+ "Layout Sparsity": -0.0016872,
288
+ "Visual Harmony Degree": -0.00191208
289
+ },
290
+ "Content Quality": {
291
+ "Copywriting Quality": 0.00166991,
292
+ "Media Quality": -0.00163058,
293
+ "Placeholder Quality": -0.00082904,
294
+ "Resource Validity": -0.005244
295
+ },
296
+ "Performance Quality": {
297
+ "General Performance": 0.00682261
298
+ },
299
+ "Accessbility": {
300
+ "Accessibility Core Metrics": 2.094e-05,
301
+ "Cross-Browser Compatibility": -0.00320586,
302
+ "Mobile Device Compatibility": 0.0053703
303
+ },
304
+ "Maintainability": {
305
+ "Code Redundancy Rate": 0.00558145,
306
+ "Comment Rate": -0.00026166
307
+ },
308
+ "Alignment": {
309
+ "Functional Alignment": -0.00052059,
310
+ "Visual Alignment": -5.676e-05,
311
+ "Content Alignment": 0.002499
312
+ },
313
+ "Overall Score": {
314
+ "Overall Score": -0.00036447
315
+ }
316
+ },
317
+ {
318
+ "ID": 8,
319
+ "Model": "MiniMax-M2",
320
+ "Code Quality": {
321
+ "General Functionality Correctness": 0.0211546,
322
+ "Best Practices": 0.00237303,
323
+ "Error Handling": -0.0082897,
324
+ "Runtime Console Errors": 0.00029315,
325
+ "Static Syntax Checking (Linting)": -0.00421208
326
+ },
327
+ "Visual Quality": {
328
+ "General Visual Experience": -0.00756852,
329
+ "Component Style Consistency": -0.00367941,
330
+ "Icon Style Consistency": 0.00108609,
331
+ "Layout Consistency": 0.00043512,
332
+ "Layout Sparsity": -0.00101916,
333
+ "Visual Harmony Degree": 0.00130448
334
+ },
335
+ "Content Quality": {
336
+ "Copywriting Quality": 0.00075582,
337
+ "Media Quality": -0.01503166,
338
+ "Placeholder Quality": 0.00384395,
339
+ "Resource Validity": 0.00479872
340
+ },
341
+ "Performance Quality": {
342
+ "General Performance": 0.00404345
343
+ },
344
+ "Accessbility": {
345
+ "Accessibility Core Metrics": -0.00969871,
346
+ "Cross-Browser Compatibility": 0.00376992,
347
+ "Mobile Device Compatibility": -0.0046956
348
+ },
349
+ "Maintainability": {
350
+ "Code Redundancy Rate": -0.00308165,
351
+ "Comment Rate": 0.02576016
352
+ },
353
+ "Alignment": {
354
+ "Functional Alignment": 0.03196704,
355
+ "Visual Alignment": 0.01498464,
356
+ "Content Alignment": 0.01964775
357
+ },
358
+ "Overall Score": {
359
+ "Overall Score": 0.07894143
360
+ }
361
+ },
362
+ {
363
+ "ID": 9,
364
+ "Model": "Gemini-2.5-Pro",
365
+ "Code Quality": {
366
+ "General Functionality Correctness": 0.01278301,
367
+ "Best Practices": -0.00449064,
368
+ "Error Handling": 0.0015656,
369
+ "Runtime Console Errors": -0.00031775,
370
+ "Static Syntax Checking (Linting)": -0.0006586
371
+ },
372
+ "Visual Quality": {
373
+ "General Visual Experience": 0.01057044,
374
+ "Component Style Consistency": -0.00130536,
375
+ "Icon Style Consistency": 0.00690768,
376
+ "Layout Consistency": -0.00165464,
377
+ "Layout Sparsity": -0.0024738,
378
+ "Visual Harmony Degree": -0.00214396
379
+ },
380
+ "Content Quality": {
381
+ "Copywriting Quality": 0.00197676,
382
+ "Media Quality": -0.00679896,
383
+ "Placeholder Quality": 0.00311854,
384
+ "Resource Validity": -0.00089792
385
+ },
386
+ "Performance Quality": {
387
+ "General Performance": -0.02252942
388
+ },
389
+ "Accessbility": {
390
+ "Accessibility Core Metrics": 0.00232783,
391
+ "Cross-Browser Compatibility": 0.00342958,
392
+ "Mobile Device Compatibility": -0.0024687
393
+ },
394
+ "Maintainability": {
395
+ "Code Redundancy Rate": -0.00605124,
396
+ "Comment Rate": -0.01134216
397
+ },
398
+ "Alignment": {
399
+ "Functional Alignment": 0.00907515,
400
+ "Visual Alignment": 0.01018842,
401
+ "Content Alignment": 0.0038505
402
+ },
403
+ "Overall Score": {
404
+ "Overall Score": 0.00266036
405
+ }
406
+ },
407
+ {
408
+ "ID": 10,
409
+ "Model": "GPT-4o-2024-11-20",
410
+ "Code Quality": {
411
+ "General Functionality Correctness": -0.02331699,
412
+ "Best Practices": 0.00252153,
413
+ "Error Handling": 0.0073473,
414
+ "Runtime Console Errors": -0.0081959,
415
+ "Static Syntax Checking (Linting)": 0.00164576
416
+ },
417
+ "Visual Quality": {
418
+ "General Visual Experience": -0.00533596,
419
+ "Component Style Consistency": 0.00363825,
420
+ "Icon Style Consistency": -0.00595689,
421
+ "Layout Consistency": 0.001998,
422
+ "Layout Sparsity": -0.00717288,
423
+ "Visual Harmony Degree": -0.00406348
424
+ },
425
+ "Content Quality": {
426
+ "Copywriting Quality": 0.00333013,
427
+ "Media Quality": -0.00673246,
428
+ "Placeholder Quality": 0.00324627,
429
+ "Resource Validity": -0.01890416
430
+ },
431
+ "Performance Quality": {
432
+ "General Performance": -0.02486437
433
+ },
434
+ "Accessbility": {
435
+ "Accessibility Core Metrics": 0.00831667,
436
+ "Cross-Browser Compatibility": -0.017255,
437
+ "Mobile Device Compatibility": 0.0048594
438
+ },
439
+ "Maintainability": {
440
+ "Code Redundancy Rate": -0.0020257,
441
+ "Comment Rate": -0.0516912
442
+ },
443
+ "Alignment": {
444
+ "Functional Alignment": -0.11046357,
445
+ "Visual Alignment": -0.06624838,
446
+ "Content Alignment": -0.071247
447
+ },
448
+ "Overall Score": {
449
+ "Overall Score": -0.3865
450
+ }
451
+ },
452
+ {
453
+ "ID": 11,
454
+ "Model": "GPT-5-Codex-High",
455
+ "Code Quality": {
456
+ "General Functionality Correctness": 0.02510394,
457
+ "Best Practices": -0.02013363,
458
+ "Error Handling": -0.0028557,
459
+ "Runtime Console Errors": 0.0028864,
460
+ "Static Syntax Checking (Linting)": -0.00099308
461
+ },
462
+ "Visual Quality": {
463
+ "General Visual Experience": 0.0237888,
464
+ "Component Style Consistency": 1.176e-05,
465
+ "Icon Style Consistency": 0.00155472,
466
+ "Layout Consistency": -0.00385244,
467
+ "Layout Sparsity": 0.00267444,
468
+ "Visual Harmony Degree": -0.00120404
469
+ },
470
+ "Content Quality": {
471
+ "Copywriting Quality": -0.00319124,
472
+ "Media Quality": -0.00688142,
473
+ "Placeholder Quality": 0.00379093,
474
+ "Resource Validity": -0.00515568
475
+ },
476
+ "Performance Quality": {
477
+ "General Performance": -0.02136764
478
+ },
479
+ "Accessbility": {
480
+ "Accessibility Core Metrics": 0.00782109,
481
+ "Cross-Browser Compatibility": 0.002261,
482
+ "Mobile Device Compatibility": 0.0076947
483
+ },
484
+ "Maintainability": {
485
+ "Code Redundancy Rate": -0.00535733,
486
+ "Comment Rate": -0.0698739
487
+ },
488
+ "Alignment": {
489
+ "Functional Alignment": 0.02103465,
490
+ "Visual Alignment": 0.01796454,
491
+ "Content Alignment": 0.0238935
492
+ },
493
+ "Overall Score": {
494
+ "Overall Score": -0.0003
495
+ }
496
+ },
497
+ {
498
+ "ID": 12,
499
+ "Model": "GPT-5-High",
500
+ "Code Quality": {
501
+ "General Functionality Correctness": 0.03342499,
502
+ "Best Practices": 0.00324621,
503
+ "Error Handling": -0.012787,
504
+ "Runtime Console Errors": 0.00201105,
505
+ "Static Syntax Checking (Linting)": -0.00440596
506
+ },
507
+ "Visual Quality": {
508
+ "General Visual Experience": 0.02114324,
509
+ "Component Style Consistency": -0.00308259,
510
+ "Icon Style Consistency": -0.00250182,
511
+ "Layout Consistency": -0.00359936,
512
+ "Layout Sparsity": 0.00063156,
513
+ "Visual Harmony Degree": 0.0009796
514
+ },
515
+ "Content Quality": {
516
+ "Copywriting Quality": -0.00213826,
517
+ "Media Quality": -0.01566474,
518
+ "Placeholder Quality": 0.00407772,
519
+ "Resource Validity": 0.0020056
520
+ },
521
+ "Performance Quality": {
522
+ "General Performance": 0.01268846
523
+ },
524
+ "Accessbility": {
525
+ "Accessibility Core Metrics": -0.01463008,
526
+ "Cross-Browser Compatibility": 0.00531692,
527
+ "Mobile Device Compatibility": -0.0111384
528
+ },
529
+ "Maintainability": {
530
+ "Code Redundancy Rate": -0.01040865,
531
+ "Comment Rate": 0.0192507
532
+ },
533
+ "Alignment": {
534
+ "Functional Alignment": 0.05508405,
535
+ "Visual Alignment": 0.02362162,
536
+ "Content Alignment": 0.03499875
537
+ },
538
+ "Overall Score": {
539
+ "Overall Score": 0.13812361
540
+ }
541
+ },
542
+ {
543
+ "ID": 13,
544
+ "Model": "Manus",
545
+ "Code Quality": {
546
+ "General Functionality Correctness": 0.00822358,
547
+ "Best Practices": -0.00065637,
548
+ "Error Handling": -0.0035435,
549
+ "Runtime Console Errors": -0.0051086,
550
+ "Static Syntax Checking (Linting)": 0.00356532
551
+ },
552
+ "Visual Quality": {
553
+ "General Visual Experience": -0.01029904,
554
+ "Component Style Consistency": 0.00369117,
555
+ "Icon Style Consistency": -0.00177243,
556
+ "Layout Consistency": 0.00010064,
557
+ "Layout Sparsity": 0.00083562,
558
+ "Visual Harmony Degree": -0.00017856
559
+ },
560
+ "Content Quality": {
561
+ "Copywriting Quality": -0.00071706,
562
+ "Media Quality": -0.0020482,
563
+ "Placeholder Quality": 0.00181232,
564
+ "Resource Validity": 0.00945024
565
+ },
566
+ "Performance Quality": {
567
+ "General Performance": -0.0055811
568
+ },
569
+ "Accessbility": {
570
+ "Accessibility Core Metrics": -0.0010819,
571
+ "Cross-Browser Compatibility": -0.0102935,
572
+ "Mobile Device Compatibility": 0.0013728
573
+ },
574
+ "Maintainability": {
575
+ "Code Redundancy Rate": -0.01002506,
576
+ "Comment Rate": 0.02587764
577
+ },
578
+ "Alignment": {
579
+ "Functional Alignment": 0.03295194,
580
+ "Visual Alignment": 0.00329208,
581
+ "Content Alignment": 0.01255875
582
+ },
583
+ "Overall Score": {
584
+ "Overall Score": 0.05242678
585
+ }
586
+ },
587
+ {
588
+ "ID": 14,
589
+ "Model": "MiniMax Agent",
590
+ "Code Quality": {
591
+ "General Functionality Correctness": -0.00287356,
592
+ "Best Practices": 0.00569349,
593
+ "Error Handling": -0.0056962,
594
+ "Runtime Console Errors": -0.0028126,
595
+ "Static Syntax Checking (Linting)": 0.00356532
596
+ },
597
+ "Visual Quality": {
598
+ "General Visual Experience": -0.01220356,
599
+ "Component Style Consistency": -0.00678993,
600
+ "Icon Style Consistency": -0.00524349,
601
+ "Layout Consistency": 0.0002886,
602
+ "Layout Sparsity": -0.00028272,
603
+ "Visual Harmony Degree": -0.00020584
604
+ },
605
+ "Content Quality": {
606
+ "Copywriting Quality": -0.00345287,
607
+ "Media Quality": 0.03579296,
608
+ "Placeholder Quality": 0.00577918,
609
+ "Resource Validity": 0.0245824
610
+ },
611
+ "Performance Quality": {
612
+ "General Performance": -0.01386163
613
+ },
614
+ "Accessbility": {
615
+ "Accessibility Core Metrics": -0.00083411,
616
+ "Cross-Browser Compatibility": -0.01517726,
617
+ "Mobile Device Compatibility": 0.0029679
618
+ },
619
+ "Maintainability": {
620
+ "Code Redundancy Rate": -0.02048112,
621
+ "Comment Rate": 0.03050208
622
+ },
623
+ "Alignment": {
624
+ "Functional Alignment": 0.01709505,
625
+ "Visual Alignment": 0.00768152,
626
+ "Content Alignment": 0.000255
627
+ },
628
+ "Overall Score": {
629
+ "Overall Score": 0.04428861
630
+ }
631
+ }
632
+ ]
src/weights.json ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "sheet": "Sheet1",
3
+ "dimension": "A1:D25",
4
+ "bounds": {
5
+ "min_row": 1,
6
+ "min_col": 1,
7
+ "max_row": 25,
8
+ "max_col": 4
9
+ },
10
+ "merges": [
11
+ {
12
+ "r1": 13,
13
+ "c1": 2,
14
+ "r2": 16,
15
+ "c2": 2
16
+ },
17
+ {
18
+ "r1": 13,
19
+ "c1": 1,
20
+ "r2": 16,
21
+ "c2": 1
22
+ },
23
+ {
24
+ "r1": 7,
25
+ "c1": 1,
26
+ "r2": 12,
27
+ "c2": 1
28
+ },
29
+ {
30
+ "r1": 2,
31
+ "c1": 1,
32
+ "r2": 6,
33
+ "c2": 1
34
+ },
35
+ {
36
+ "r1": 7,
37
+ "c1": 2,
38
+ "r2": 12,
39
+ "c2": 2
40
+ },
41
+ {
42
+ "r1": 2,
43
+ "c1": 2,
44
+ "r2": 6,
45
+ "c2": 2
46
+ },
47
+ {
48
+ "r1": 18,
49
+ "c1": 1,
50
+ "r2": 20,
51
+ "c2": 1
52
+ },
53
+ {
54
+ "r1": 21,
55
+ "c1": 2,
56
+ "r2": 22,
57
+ "c2": 2
58
+ },
59
+ {
60
+ "r1": 18,
61
+ "c1": 2,
62
+ "r2": 20,
63
+ "c2": 2
64
+ },
65
+ {
66
+ "r1": 21,
67
+ "c1": 1,
68
+ "r2": 22,
69
+ "c2": 1
70
+ }
71
+ ],
72
+ "rows": [
73
+ [
74
+ "Perspectives",
75
+ "Weights",
76
+ "Evaluation Metrics",
77
+ "Weights"
78
+ ],
79
+ [
80
+ "Code Quality",
81
+ 0.1202,
82
+ "General Functionality Correctness",
83
+ 0.0361
84
+ ],
85
+ [
86
+ null,
87
+ null,
88
+ "Best Practices",
89
+ 0.0297
90
+ ],
91
+ [
92
+ null,
93
+ null,
94
+ "Error Handling",
95
+ 0.019
96
+ ],
97
+ [
98
+ null,
99
+ null,
100
+ "Runtime Console Errors",
101
+ 0.0205
102
+ ],
103
+ [
104
+ null,
105
+ null,
106
+ "Static Syntax Checking (Linting)",
107
+ 0.0148
108
+ ],
109
+ [
110
+ "Visual Quality",
111
+ 0.0892,
112
+ "General Visual Experience",
113
+ 0.0236
114
+ ],
115
+ [
116
+ null,
117
+ null,
118
+ "Component Style Consistency",
119
+ 0.0147
120
+ ],
121
+ [
122
+ null,
123
+ null,
124
+ "Icon Style Consistency",
125
+ 0.0123
126
+ ],
127
+ [
128
+ null,
129
+ null,
130
+ "Layout Consistency",
131
+ 0.0148
132
+ ],
133
+ [
134
+ null,
135
+ null,
136
+ "Layout Sparsity",
137
+ 0.0114
138
+ ],
139
+ [
140
+ null,
141
+ null,
142
+ "Visual Harmony Degree",
143
+ 0.0124
144
+ ],
145
+ [
146
+ "Content Quality",
147
+ 0.1198,
148
+ "Copywriting Quality",
149
+ 0.0323
150
+ ],
151
+ [
152
+ null,
153
+ null,
154
+ "Media Quality",
155
+ 0.0266
156
+ ],
157
+ [
158
+ null,
159
+ null,
160
+ "Placeholder Quality",
161
+ 0.0241
162
+ ],
163
+ [
164
+ null,
165
+ null,
166
+ "Resource Validity",
167
+ 0.0368
168
+ ],
169
+ [
170
+ "Performance Quality",
171
+ 0.1139,
172
+ "General Performance",
173
+ 0.1139
174
+ ],
175
+ [
176
+ "Accessibility",
177
+ 0.0977,
178
+ "Accessibility Core Metrics",
179
+ 0.0349
180
+ ],
181
+ [
182
+ null,
183
+ null,
184
+ "Cross-Browser Compatibility",
185
+ 0.0238
186
+ ],
187
+ [
188
+ null,
189
+ null,
190
+ "Mobile Device Compatibility",
191
+ 0.039
192
+ ],
193
+ [
194
+ "Maintainability",
195
+ 0.0965,
196
+ "Code Redundancy Rate",
197
+ 0.0431
198
+ ],
199
+ [
200
+ null,
201
+ null,
202
+ "Comment Rate",
203
+ 0.0534
204
+ ],
205
+ [
206
+ "Functional Alignment",
207
+ 0.1407,
208
+ "Functional Alignment",
209
+ 0.1407
210
+ ],
211
+ [
212
+ "Visual Alignment",
213
+ 0.0946,
214
+ "Visual Alignment",
215
+ 0.0946
216
+ ],
217
+ [
218
+ "Content Alignment",
219
+ 0.1275,
220
+ "Content Alignment",
221
+ 0.1275
222
+ ]
223
+ ]
224
+ }