Skip to content

Commit 5831564

Browse files
ofriwclaude
andcommitted
Add styling for codeExecution flow visualization
- Semantic color-coding: human (neutral), prediction (purple), execution (green), feedback (purple light), summary (neutral) - Fragment animation with smooth transitions and flow arrows - Scrollable container with auto-scroll support - Fix max-height for comparison and marketingReality columns 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent dbc270f commit 5831564

File tree

1 file changed

+136
-2
lines changed

1 file changed

+136
-2
lines changed

website/src/components/PresentationMode/RevealSlideshow.module.css

Lines changed: 136 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
grid-template-columns: 1fr 1fr;
116116
gap: clamp(1em, 2vw, 1.5em);
117117
margin: 1em 0;
118-
max-height: calc(100vh - 18rem);
118+
max-height: 400px;
119119
}
120120

121121
.comparisonLeft,
@@ -183,7 +183,7 @@
183183
grid-template-columns: 1fr 1fr;
184184
gap: clamp(1em, 2vw, 1.5em);
185185
margin: 1em 0;
186-
max-height: calc(100vh - 18rem);
186+
max-height: 400px;
187187
}
188188

189189
.metaphorColumn,
@@ -273,6 +273,140 @@
273273
font-size: 1.2em;
274274
}
275275

276+
/* Code Execution Flow Styles */
277+
.executionFlow {
278+
text-align: left;
279+
max-width: 90%;
280+
margin: 1em auto;
281+
padding: 0.5em;
282+
max-height: 450px;
283+
overflow-y: auto;
284+
}
285+
286+
.executionStep {
287+
margin: 0.4em 0;
288+
padding: 0.6em 1em;
289+
border-radius: 6px;
290+
border-left: 4px solid transparent;
291+
background: rgba(255, 255, 255, 0.05);
292+
transition: all 0.3s ease;
293+
position: relative;
294+
}
295+
296+
.executionStep.fragment.visible {
297+
border-left-color: rgba(255, 255, 255, 0.3);
298+
}
299+
300+
.executionStep.fragment.current-fragment {
301+
background: rgba(255, 255, 255, 0.1);
302+
transform: translateX(0.3em);
303+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
304+
}
305+
306+
/* Color-coded highlight types - Design system colors only */
307+
/* Human: neutral/default (no special color) */
308+
.executionHuman {
309+
border-left-color: rgba(255, 255, 255, 0.4) !important;
310+
background: rgba(255, 255, 255, 0.05);
311+
}
312+
313+
.executionHuman.fragment.current-fragment {
314+
background: rgba(255, 255, 255, 0.12);
315+
box-shadow: 0 2px 12px rgba(255, 255, 255, 0.2);
316+
}
317+
318+
/* LLM Prediction: Purple (brand primary) */
319+
.executionPrediction {
320+
border-left-color: #8b5cf6 !important;
321+
background: rgba(139, 92, 246, 0.08);
322+
}
323+
324+
.executionPrediction.fragment.current-fragment {
325+
background: rgba(139, 92, 246, 0.15);
326+
box-shadow: 0 2px 12px rgba(139, 92, 246, 0.4);
327+
}
328+
329+
/* Agent Execution: Green (effective/positive) */
330+
.executionExecution {
331+
border-left-color: #51cf66 !important;
332+
background: rgba(81, 207, 102, 0.08);
333+
}
334+
335+
.executionExecution.fragment.current-fragment {
336+
background: rgba(81, 207, 102, 0.15);
337+
box-shadow: 0 2px 12px rgba(81, 207, 102, 0.4);
338+
}
339+
340+
/* Feedback: Purple lighter (LLM context update) */
341+
.executionFeedback {
342+
border-left-color: #8b5cf6 !important;
343+
background: rgba(139, 92, 246, 0.06);
344+
}
345+
346+
.executionFeedback.fragment.current-fragment {
347+
background: rgba(139, 92, 246, 0.12);
348+
box-shadow: 0 2px 12px rgba(139, 92, 246, 0.3);
349+
}
350+
351+
/* Summary: neutral/default */
352+
.executionSummary {
353+
border-left-color: rgba(255, 255, 255, 0.4) !important;
354+
background: rgba(255, 255, 255, 0.05);
355+
}
356+
357+
.executionSummary.fragment.current-fragment {
358+
background: rgba(255, 255, 255, 0.12);
359+
box-shadow: 0 2px 12px rgba(255, 255, 255, 0.2);
360+
}
361+
362+
.stepLine {
363+
display: flex;
364+
align-items: flex-start;
365+
gap: 0.5em;
366+
font-size: clamp(0.7rem, 1.4vw, 0.85em);
367+
line-height: 1.4;
368+
}
369+
370+
.flowArrow {
371+
color: rgba(255, 255, 255, 0.5);
372+
font-size: 1.1em;
373+
font-weight: bold;
374+
min-width: 1em;
375+
display: inline-block;
376+
animation: arrowFlow 0.5s ease-out;
377+
}
378+
379+
.stepText {
380+
flex: 1;
381+
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
382+
white-space: pre-wrap;
383+
word-break: break-word;
384+
}
385+
386+
.stepAnnotation {
387+
margin-top: 0.3em;
388+
padding-left: 1.5em;
389+
font-size: clamp(0.6rem, 1.1vw, 0.7em);
390+
color: rgba(255, 255, 255, 0.6);
391+
font-style: italic;
392+
line-height: 1.3;
393+
}
394+
395+
/* Arrow flow animation */
396+
@keyframes arrowFlow {
397+
0% {
398+
transform: translateY(-8px);
399+
opacity: 0;
400+
}
401+
50% {
402+
opacity: 0.5;
403+
}
404+
100% {
405+
transform: translateY(0);
406+
opacity: 1;
407+
}
408+
}
409+
276410
.error {
277411
color: #ff6b6b;
278412
font-size: 1.2em;

0 commit comments

Comments
 (0)