Skip to content

Commit 1ba4643

Browse files
ofriwclaude
andcommitted
Add AbstractShapesVisualization component
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 7cf3b9a commit 1ba4643

File tree

2 files changed

+171
-0
lines changed

2 files changed

+171
-0
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
.container {
2+
margin: 2rem 0;
3+
padding: 2rem 1.5rem;
4+
border-radius: 8px;
5+
background: var(--visual-bg-decision);
6+
border: 1px solid var(--visual-decision);
7+
}
8+
9+
.comparison {
10+
display: flex;
11+
gap: 3rem;
12+
justify-content: center;
13+
align-items: flex-start;
14+
margin-bottom: 1.5rem;
15+
}
16+
17+
.side {
18+
flex: 1;
19+
max-width: 280px;
20+
text-align: center;
21+
}
22+
23+
.label {
24+
font-weight: 600;
25+
font-size: 1rem;
26+
margin-bottom: 1.5rem;
27+
color: rgba(255, 255, 255, 0.9);
28+
}
29+
30+
.shapes {
31+
min-height: 180px;
32+
display: flex;
33+
align-items: center;
34+
justify-content: center;
35+
margin: 1rem 0;
36+
}
37+
38+
.clutteredShapes {
39+
display: flex;
40+
flex-direction: column;
41+
gap: 0.5rem;
42+
align-items: center;
43+
}
44+
45+
.row {
46+
font-size: 2.5rem;
47+
line-height: 1;
48+
letter-spacing: 0.3rem;
49+
color: var(--visual-limitation);
50+
font-weight: 300;
51+
}
52+
53+
.cleanShape {
54+
font-size: 4rem;
55+
line-height: 1;
56+
color: var(--visual-capability);
57+
font-weight: 300;
58+
}
59+
60+
.arrow {
61+
font-size: 2rem;
62+
color: rgba(255, 255, 255, 0.7);
63+
margin: 1rem 0;
64+
line-height: 1;
65+
}
66+
67+
.outcome {
68+
font-size: 0.95rem;
69+
color: rgba(255, 255, 255, 0.8);
70+
font-style: italic;
71+
min-height: 2.5rem;
72+
display: flex;
73+
align-items: center;
74+
justify-content: center;
75+
padding: 0 0.5rem;
76+
}
77+
78+
.description {
79+
text-align: center;
80+
font-size: 1rem;
81+
color: rgba(255, 255, 255, 0.9);
82+
font-weight: 500;
83+
padding-top: 1.5rem;
84+
border-top: 1px solid rgba(255, 255, 255, 0.2);
85+
margin-top: 0.5rem;
86+
}
87+
88+
/* Responsive design for mobile */
89+
@media (max-width: 768px) {
90+
.container {
91+
padding: 1.5rem 1rem;
92+
}
93+
94+
.comparison {
95+
flex-direction: column;
96+
gap: 2.5rem;
97+
}
98+
99+
.side {
100+
max-width: 100%;
101+
}
102+
103+
.shapes {
104+
min-height: 140px;
105+
}
106+
107+
.row {
108+
font-size: 2rem;
109+
letter-spacing: 0.2rem;
110+
}
111+
112+
.cleanShape {
113+
font-size: 3rem;
114+
}
115+
116+
.arrow {
117+
font-size: 1.5rem;
118+
margin: 0.75rem 0;
119+
}
120+
121+
.outcome {
122+
font-size: 0.9rem;
123+
min-height: 2rem;
124+
}
125+
126+
.description {
127+
font-size: 0.9rem;
128+
}
129+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import React from 'react';
2+
import styles from './AbstractShapesVisualization.module.css';
3+
4+
export default function AbstractShapesVisualization() {
5+
return (
6+
<div
7+
className={styles.container}
8+
role="img"
9+
aria-label="Comparison of cluttered context with multiple squares versus clean context with single circle, demonstrating how context density affects agent solutions"
10+
>
11+
<div className={styles.comparison}>
12+
{/* Cluttered Context Side */}
13+
<div className={styles.side}>
14+
<div className={styles.label}>Cluttered Context</div>
15+
<div className={styles.shapes}>
16+
<div className={styles.clutteredShapes}>
17+
<div className={styles.row}>■ ■ ■ ■</div>
18+
<div className={styles.row}>■ ■ ■</div>
19+
<div className={styles.row}>■ ■</div>
20+
</div>
21+
</div>
22+
<div className={styles.arrow}></div>
23+
<div className={styles.outcome}>Small patch</div>
24+
</div>
25+
26+
{/* Clean Context Side */}
27+
<div className={styles.side}>
28+
<div className={styles.label}>Clean Context (after /clear)</div>
29+
<div className={styles.shapes}>
30+
<div className={styles.cleanShape}></div>
31+
</div>
32+
<div className={styles.arrow}></div>
33+
<div className={styles.outcome}>Architectural solution</div>
34+
</div>
35+
</div>
36+
37+
<div className={styles.description}>
38+
Same problem → Different context → Different solution class
39+
</div>
40+
</div>
41+
);
42+
}

0 commit comments

Comments
 (0)