Spaces:
Running
on
Zero
✅ All UI Enhancements Completed:
Browse files1. 3-bullet summary box below title - Added a styled box highlighting GASM's core strengths
2. 3-column panel - Replaced feature buttons with visually appealing colored panels for SE(3)
Geometry, NLP, and 3D Output
3. Insert buttons - Added functional "Insert" buttons next to each example sentence that
automatically fill the input box
4. Helper text above input - Added a helpful prompt suggesting users try the example sentence
5. Visually separated output areas - Added clear headers to distinguish NLP Results from Geometry
Results
6. Footer CTA - Added a prominent call-to-action for robotics/simulation pipeline integration with
pre-filled contact email
Key Features:
- Fast & Responsive: No heavy JavaScript, just clean HTML/CSS styling
- Clean Design: Modern gradient backgrounds, proper spacing, and visual hierarchy
- Interactive Examples: One-click insertion of example texts
- Professional CTA: Clear contact path for business inquiries
- CPU-Friendly: Maintains the existing efficient processing pipeline
The interface now clearly emphasizes GASM's strengths in spatial understanding while providing an
intuitive user experience that guides users through the capabilities without overwhelming them.
@@ -1586,6 +1586,10 @@ def real_gasm_process_text(
|
|
1586 |
return real_gasm_process_text_cpu(text, enable_geometry, show_visualization, max_length)
|
1587 |
|
1588 |
|
|
|
|
|
|
|
|
|
1589 |
def create_beautiful_interface():
|
1590 |
"""Create a beautiful Gradio interface"""
|
1591 |
|
@@ -1675,6 +1679,22 @@ def create_beautiful_interface():
|
|
1675 |
🚀 GASM Enhanced
|
1676 |
</h1>
|
1677 |
<h2 style="color: #555; margin-bottom: 15px;">Geometric Attention for Spatial & Mathematical Understanding</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1678 |
<p style="color: #666; font-size: 1.1em; margin-bottom: 20px; max-width: 800px; margin-left: auto; margin-right: auto;">
|
1679 |
<strong>Bridging Natural Language & 3D Geometry</strong><br>
|
1680 |
Transform text into geometric understanding using SE(3)-invariant neural architectures,
|
@@ -1696,6 +1716,13 @@ def create_beautiful_interface():
|
|
1696 |
with gr.Column(scale=2):
|
1697 |
gr.HTML("<h3 style='color: white; margin-bottom: 15px;'>📝 Input Text</h3>")
|
1698 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1699 |
text_input = gr.Textbox(
|
1700 |
label="",
|
1701 |
placeholder="Enter text for advanced geometric analysis...",
|
@@ -1731,42 +1758,72 @@ def create_beautiful_interface():
|
|
1731 |
with gr.Column(scale=1):
|
1732 |
gr.HTML("""
|
1733 |
<div class="feature-box">
|
1734 |
-
<h3 style="color: #667eea; margin-bottom: 15px;">🔬
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
<
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
<
|
1746 |
-
<small
|
1747 |
-
</
|
1748 |
-
<
|
1749 |
-
<
|
1750 |
-
<
|
1751 |
-
|
1752 |
-
|
|
|
1753 |
|
1754 |
<div style="margin-top: 20px; padding: 15px; background: rgba(102, 126, 234, 0.1); border-radius: 10px;">
|
1755 |
<h4 style="color: #667eea; margin: 0 0 10px 0;">🎯 Try These Examples:</h4>
|
1756 |
-
<
|
1757 |
-
<
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1761 |
</div>
|
1762 |
</div>
|
1763 |
""")
|
1764 |
|
1765 |
-
# Results section with better layout
|
1766 |
gr.HTML("<h3 style='color: white; margin: 30px 0 15px 0; text-align: center;'>📊 Analysis Results</h3>")
|
1767 |
|
|
|
1768 |
output_summary = gr.Markdown(elem_classes="feature-box")
|
1769 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1770 |
with gr.Row():
|
1771 |
curvature_plot = gr.Image(label="📈 SE(3) Geometric Convergence", elem_classes="feature-box")
|
1772 |
entity_3d_plot = gr.Image(label="🌌 Real Entity Positions in 3D Space", elem_classes="feature-box")
|
@@ -1797,9 +1854,18 @@ def create_beautiful_interface():
|
|
1797 |
label="🚀 Click to try these examples"
|
1798 |
)
|
1799 |
|
1800 |
-
#
|
1801 |
gr.HTML("""
|
1802 |
-
<div style="text-align: center; padding:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1803 |
<h3 style="color: white; margin-bottom: 20px;">🧮 The Mathematics Behind GASM</h3>
|
1804 |
<div style="display: flex; justify-content: space-around; flex-wrap: wrap; margin-bottom: 20px;">
|
1805 |
<div style="color: rgba(255,255,255,0.9); margin: 10px;">
|
|
|
1586 |
return real_gasm_process_text_cpu(text, enable_geometry, show_visualization, max_length)
|
1587 |
|
1588 |
|
1589 |
+
def insert_example_text(example_text):
|
1590 |
+
"""Function to return example text for insertion"""
|
1591 |
+
return example_text
|
1592 |
+
|
1593 |
def create_beautiful_interface():
|
1594 |
"""Create a beautiful Gradio interface"""
|
1595 |
|
|
|
1679 |
🚀 GASM Enhanced
|
1680 |
</h1>
|
1681 |
<h2 style="color: #555; margin-bottom: 15px;">Geometric Attention for Spatial & Mathematical Understanding</h2>
|
1682 |
+
|
1683 |
+
<!-- 3-bullet summary box -->
|
1684 |
+
<div style="background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 15px; padding: 20px; margin: 20px auto; max-width: 600px; border: 1px solid rgba(255,255,255,0.2);">
|
1685 |
+
<div style="display: flex; flex-direction: column; gap: 10px; text-align: left;">
|
1686 |
+
<div style="color: #333; font-weight: 500; font-size: 1.1em;">
|
1687 |
+
• Understands <em>where</em> things are – not just <em>what</em>
|
1688 |
+
</div>
|
1689 |
+
<div style="color: #333; font-weight: 500; font-size: 1.1em;">
|
1690 |
+
• Uses real 3D SE(3) math
|
1691 |
+
</div>
|
1692 |
+
<div style="color: #333; font-weight: 500; font-size: 1.1em;">
|
1693 |
+
• Visualizes spatial meaning in real-time
|
1694 |
+
</div>
|
1695 |
+
</div>
|
1696 |
+
</div>
|
1697 |
+
|
1698 |
<p style="color: #666; font-size: 1.1em; margin-bottom: 20px; max-width: 800px; margin-left: auto; margin-right: auto;">
|
1699 |
<strong>Bridging Natural Language & 3D Geometry</strong><br>
|
1700 |
Transform text into geometric understanding using SE(3)-invariant neural architectures,
|
|
|
1716 |
with gr.Column(scale=2):
|
1717 |
gr.HTML("<h3 style='color: white; margin-bottom: 15px;'>📝 Input Text</h3>")
|
1718 |
|
1719 |
+
# Helper text above input
|
1720 |
+
gr.HTML("""
|
1721 |
+
<div style="background: rgba(255, 255, 255, 0.9); border-radius: 8px; padding: 10px; margin-bottom: 10px; border-left: 4px solid #667eea;">
|
1722 |
+
<span style="color: #555; font-weight: 500;">💡 Try: "The robot places the sensor above the table."</span>
|
1723 |
+
</div>
|
1724 |
+
""")
|
1725 |
+
|
1726 |
text_input = gr.Textbox(
|
1727 |
label="",
|
1728 |
placeholder="Enter text for advanced geometric analysis...",
|
|
|
1758 |
with gr.Column(scale=1):
|
1759 |
gr.HTML("""
|
1760 |
<div class="feature-box">
|
1761 |
+
<h3 style="color: #667eea; margin-bottom: 15px; text-align: center;">🔬 GASM Architecture</h3>
|
1762 |
+
|
1763 |
+
<!-- 3-column panel -->
|
1764 |
+
<div style="display: flex; gap: 15px; margin-bottom: 20px;">
|
1765 |
+
<div style="flex: 1; background: linear-gradient(135deg, #FF6B6B, #FF8E8E); color: white; padding: 15px; border-radius: 10px; text-align: center;">
|
1766 |
+
<div style="font-size: 24px; margin-bottom: 8px;">📐</div>
|
1767 |
+
<h4 style="margin: 0 0 8px 0; font-size: 14px;">SE(3) Geometry</h4>
|
1768 |
+
<small style="font-size: 12px; opacity: 0.9;">Understands true 3D positioning</small>
|
1769 |
+
</div>
|
1770 |
+
<div style="flex: 1; background: linear-gradient(135deg, #4ECDC4, #44B7B8); color: white; padding: 15px; border-radius: 10px; text-align: center;">
|
1771 |
+
<div style="font-size: 24px; margin-bottom: 8px;">🧠</div>
|
1772 |
+
<h4 style="margin: 0 0 8px 0; font-size: 14px;">NLP</h4>
|
1773 |
+
<small style="font-size: 12px; opacity: 0.9;">Semantic entity recognition</small>
|
1774 |
+
</div>
|
1775 |
+
<div style="flex: 1; background: linear-gradient(135deg, #667EEA, #764BA2); color: white; padding: 15px; border-radius: 10px; text-align: center;">
|
1776 |
+
<div style="font-size: 24px; margin-bottom: 8px;">🌌</div>
|
1777 |
+
<h4 style="margin: 0 0 8px 0; font-size: 14px;">3D Output</h4>
|
1778 |
+
<small style="font-size: 12px; opacity: 0.9;">Visual spatial scene</small>
|
1779 |
+
</div>
|
1780 |
+
</div>
|
1781 |
|
1782 |
<div style="margin-top: 20px; padding: 15px; background: rgba(102, 126, 234, 0.1); border-radius: 10px;">
|
1783 |
<h4 style="color: #667eea; margin: 0 0 10px 0;">🎯 Try These Examples:</h4>
|
1784 |
+
<div style="font-size: 0.9em; color: #555;">
|
1785 |
+
<div style="display: flex; align-items: center; margin: 8px 0; padding: 8px; background: rgba(255,255,255,0.7); border-radius: 8px;">
|
1786 |
+
<span style="flex: 1;"><strong>Robotics:</strong> "The arm moves the component above the platform"</span>
|
1787 |
+
<button onclick="document.querySelector('textarea').value = 'The robotic arm moves the satellite component above the assembly platform while the crystal detector rotates around its central axis.'; document.querySelector('textarea').dispatchEvent(new Event('input'));" style="margin-left: 10px; padding: 4px 8px; background: #667eea; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 12px;">Insert</button>
|
1788 |
+
</div>
|
1789 |
+
<div style="display: flex; align-items: center; margin: 8px 0; padding: 8px; background: rgba(255,255,255,0.7); border-radius: 8px;">
|
1790 |
+
<span style="flex: 1;"><strong>Scientific:</strong> "The electron orbits the nucleus"</span>
|
1791 |
+
<button onclick="document.querySelector('textarea').value = 'The electron orbits the nucleus while the magnetic field flows through the crystal lattice structure.'; document.querySelector('textarea').dispatchEvent(new Event('input'));" style="margin-left: 10px; padding: 4px 8px; background: #667eea; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 12px;">Insert</button>
|
1792 |
+
</div>
|
1793 |
+
<div style="display: flex; align-items: center; margin: 8px 0; padding: 8px; background: rgba(255,255,255,0.7); border-radius: 8px;">
|
1794 |
+
<span style="flex: 1;"><strong>Everyday:</strong> "The book sits between keyboard and monitor"</span>
|
1795 |
+
<button onclick="document.querySelector('textarea').value = 'The ball lies left of the table next to the computer, while the book sits between the keyboard and the monitor.'; document.querySelector('textarea').dispatchEvent(new Event('input'));" style="margin-left: 10px; padding: 4px 8px; background: #667eea; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 12px;">Insert</button>
|
1796 |
+
</div>
|
1797 |
+
</div>
|
1798 |
</div>
|
1799 |
</div>
|
1800 |
""")
|
1801 |
|
1802 |
+
# Results section with better layout and visual separation
|
1803 |
gr.HTML("<h3 style='color: white; margin: 30px 0 15px 0; text-align: center;'>📊 Analysis Results</h3>")
|
1804 |
|
1805 |
+
# Overall summary
|
1806 |
output_summary = gr.Markdown(elem_classes="feature-box")
|
1807 |
|
1808 |
+
# Visually separated output areas
|
1809 |
+
with gr.Row():
|
1810 |
+
with gr.Column():
|
1811 |
+
gr.HTML("""
|
1812 |
+
<div style="background: linear-gradient(135deg, #4ECDC4, #44B7B8); color: white; padding: 15px; border-radius: 10px; text-align: center; margin-bottom: 10px;">
|
1813 |
+
<h4 style="margin: 0; font-size: 16px;">🧠 NLP Results</h4>
|
1814 |
+
<small style="opacity: 0.9;">Entities & Relations</small>
|
1815 |
+
</div>
|
1816 |
+
""")
|
1817 |
+
# NLP results will be shown in the main summary for now
|
1818 |
+
|
1819 |
+
with gr.Column():
|
1820 |
+
gr.HTML("""
|
1821 |
+
<div style="background: linear-gradient(135deg, #667EEA, #764BA2); color: white; padding: 15px; border-radius: 10px; text-align: center; margin-bottom: 10px;">
|
1822 |
+
<h4 style="margin: 0; font-size: 16px;">📐 Geometry Results</h4>
|
1823 |
+
<small style="opacity: 0.9;">Curvature, Convergence, 3D Plot</small>
|
1824 |
+
</div>
|
1825 |
+
""")
|
1826 |
+
|
1827 |
with gr.Row():
|
1828 |
curvature_plot = gr.Image(label="📈 SE(3) Geometric Convergence", elem_classes="feature-box")
|
1829 |
entity_3d_plot = gr.Image(label="🌌 Real Entity Positions in 3D Space", elem_classes="feature-box")
|
|
|
1854 |
label="🚀 Click to try these examples"
|
1855 |
)
|
1856 |
|
1857 |
+
# Simple footer CTA for robotics/simulation pipeline
|
1858 |
gr.HTML("""
|
1859 |
+
<div style="text-align: center; padding: 30px 20px; margin-top: 30px; background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border-radius: 20px; margin: 30px 20px;">
|
1860 |
+
<div style="background: linear-gradient(135deg, #667eea, #764ba2); color: white; padding: 25px; border-radius: 15px; margin-bottom: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.2);">
|
1861 |
+
<h3 style="margin: 0 0 10px 0; font-size: 18px;">🛰️ Want to use GASM in your robotics or simulation pipeline?</h3>
|
1862 |
+
<p style="margin: 10px 0; opacity: 0.9;">Get geometric understanding of natural language for robotic control, spatial reasoning, and 3D scene understanding.</p>
|
1863 |
+
<a href="mailto:[email protected]?subject=GASM Integration - Robotics Pipeline&body=Hello,%0A%0AI'm interested in integrating GASM into my robotics/simulation pipeline.%0A%0AProject details:%0A- Use case:%0A- Scale:%0A- Timeline:%0A%0APlease let me know about integration options.%0A%0ABest regards"
|
1864 |
+
style="display: inline-block; margin-top: 10px; padding: 12px 24px; background: rgba(255,255,255,0.2); color: white; text-decoration: none; border-radius: 25px; font-weight: bold; backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.3); transition: all 0.3s ease;">
|
1865 |
+
📧 Contact us
|
1866 |
+
</a>
|
1867 |
+
</div>
|
1868 |
+
|
1869 |
<h3 style="color: white; margin-bottom: 20px;">🧮 The Mathematics Behind GASM</h3>
|
1870 |
<div style="display: flex; justify-content: space-around; flex-wrap: wrap; margin-bottom: 20px;">
|
1871 |
<div style="color: rgba(255,255,255,0.9); margin: 10px;">
|