Nipun Claude commited on
Commit
640e9ee
·
1 Parent(s): 04da7a0

Deep fix: CSS loading order and exact test_image.py plot settings

Browse files

- Moved critical CSS to top of file with \!important flags for instant blue styling
- Applied exact test_image.py settings: 9x6 figsize @ 1200 DPI
- Creates 10,800x7,200 pixel images for ultra-sharp display
- Display width set to 1080px for perfect 10:1 pixel density
- Both UI responsiveness and plot quality issues resolved

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

Files changed (4) hide show
  1. app.py +32 -3
  2. new_system_prompt.txt +4 -4
  3. src.py +1 -1
  4. vayuchat.mplstyle +1 -1
app.py CHANGED
@@ -36,6 +36,35 @@ st.set_page_config(
36
  initial_sidebar_state="expanded"
37
  )
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  # JavaScript for interactions
40
  # st.markdown("""
41
  # <script>
@@ -419,7 +448,7 @@ def show_custom_response(response):
419
  content = response.get("content", "")
420
 
421
  if role == "user":
422
- # User message with right alignment - reduced margins
423
  st.markdown(f"""
424
  <div style='display: flex; justify-content: flex-end; margin: 1rem 0;'>
425
  <div class='user-message'>
@@ -506,7 +535,7 @@ def show_custom_response(response):
506
  <div style='margin: 1rem 0; display: flex; justify-content: center;'>
507
  </div>
508
  """, unsafe_allow_html=True)
509
- st.image(content, width=1200, caption="Generated Visualization")
510
  return {"is_image": True}
511
  # Also handle case where content shows filename but we want to show image
512
  elif isinstance(content, str) and any(ext in content for ext in ['.png', '.jpg']):
@@ -520,7 +549,7 @@ def show_custom_response(response):
520
  <div style='margin: 1rem 0; display: flex; justify-content: center;'>
521
  </div>
522
  """, unsafe_allow_html=True)
523
- st.image(filename, width=1200, caption="Generated Visualization")
524
  return {"is_image": True}
525
  except:
526
  pass
 
36
  initial_sidebar_state="expanded"
37
  )
38
 
39
+ # CRITICAL: CSS must be loaded FIRST for immediate blue message styling
40
+ st.markdown("""
41
+ <style>
42
+ /* User message styling - MUST be defined early */
43
+ .user-message {
44
+ background: #3b82f6 !important;
45
+ color: white !important;
46
+ padding: 0.75rem 1rem !important;
47
+ border-radius: 7px !important;
48
+ max-width: 95% !important;
49
+ }
50
+
51
+ /* Assistant message styling */
52
+ .assistant-message {
53
+ background: #f1f5f9 !important;
54
+ color: #334155 !important;
55
+ padding: 0.75rem 1rem !important;
56
+ border-radius: 12px !important;
57
+ max-width: 85% !important;
58
+ }
59
+
60
+ .assistant-info {
61
+ font-size: 0.875rem !important;
62
+ color: #6b7280 !important;
63
+ margin-bottom: 5px !important;
64
+ }
65
+ </style>
66
+ """, unsafe_allow_html=True)
67
+
68
  # JavaScript for interactions
69
  # st.markdown("""
70
  # <script>
 
448
  content = response.get("content", "")
449
 
450
  if role == "user":
451
+ # User message with right alignment - CSS now loaded at top of file
452
  st.markdown(f"""
453
  <div style='display: flex; justify-content: flex-end; margin: 1rem 0;'>
454
  <div class='user-message'>
 
535
  <div style='margin: 1rem 0; display: flex; justify-content: center;'>
536
  </div>
537
  """, unsafe_allow_html=True)
538
+ st.image(content, width=1080, caption="Generated Visualization")
539
  return {"is_image": True}
540
  # Also handle case where content shows filename but we want to show image
541
  elif isinstance(content, str) and any(ext in content for ext in ['.png', '.jpg']):
 
549
  <div style='margin: 1rem 0; display: flex; justify-content: center;'>
550
  </div>
551
  """, unsafe_allow_html=True)
552
+ st.image(filename, width=1080, caption="Generated Visualization")
553
  return {"is_image": True}
554
  except:
555
  pass
new_system_prompt.txt CHANGED
@@ -33,11 +33,11 @@ DATA SAFETY:
33
  - Use .dropna() to remove missing values before analysis
34
 
35
  PLOTTING REQUIREMENTS:
36
- - Create plots for visualization requests: fig, ax = plt.subplots(figsize=(12, 7))
37
- - Display plots directly with Streamlit: st.pyplot(fig); plt.close()
38
- - Store success message: answer = "Plot displayed successfully"
 
39
  - For non-plots: answer = "text result"
40
- - NEVER use plt.savefig() - always use st.pyplot(fig) for direct display
41
 
42
  BASIC ERROR PREVENTION:
43
  - Use try/except for complex operations
 
33
  - Use .dropna() to remove missing values before analysis
34
 
35
  PLOTTING REQUIREMENTS:
36
+ - Create plots for visualization requests: fig, ax = plt.subplots(figsize=(9, 6))
37
+ - Save plots with ULTRA high resolution: filename = f"plot_{uuid.uuid4().hex[:8]}.png"; plt.savefig(filename, dpi=1200, bbox_inches='tight', facecolor='white', edgecolor='none')
38
+ - Close plots: plt.close()
39
+ - Store filename: answer = filename
40
  - For non-plots: answer = "text result"
 
41
 
42
  BASIC ERROR PREVENTION:
43
  - Use try/except for complex operations
src.py CHANGED
@@ -149,7 +149,7 @@ def ask_question(model_name, question):
149
  # Skip style file and set everything manually to ensure it works
150
  plt.rcParams['figure.dpi'] = 1200
151
  plt.rcParams['savefig.dpi'] = 1200
152
- plt.rcParams['figure.figsize'] = [12, 7]
153
  plt.rcParams['figure.facecolor'] = 'white'
154
  plt.rcParams['savefig.facecolor'] = 'white'
155
  plt.rcParams['savefig.bbox'] = 'tight'
 
149
  # Skip style file and set everything manually to ensure it works
150
  plt.rcParams['figure.dpi'] = 1200
151
  plt.rcParams['savefig.dpi'] = 1200
152
+ plt.rcParams['figure.figsize'] = [9, 6]
153
  plt.rcParams['figure.facecolor'] = 'white'
154
  plt.rcParams['savefig.facecolor'] = 'white'
155
  plt.rcParams['savefig.bbox'] = 'tight'
vayuchat.mplstyle CHANGED
@@ -16,7 +16,7 @@ legend.fontsize: 9
16
  figure.dpi: 1200
17
  figure.facecolor: white
18
  figure.edgecolor: none
19
- figure.figsize: 12, 7
20
  figure.autolayout: True
21
 
22
  # Modern Color Palette (inspired by Tailwind/GitHub)
 
16
  figure.dpi: 1200
17
  figure.facecolor: white
18
  figure.edgecolor: none
19
+ figure.figsize: 9, 6
20
  figure.autolayout: True
21
 
22
  # Modern Color Palette (inspired by Tailwind/GitHub)