"""Deployable Gradio wrapper for the Robot Learning Landscape. The landscape is a self-contained interactive HTML page (constellation map, Magic-Move detail panels, per-paradigm SMIL animations). It is embedded in an ' '' '' '' '' '' '' '' '' '' '' '' ) return (wrapper.replace("__U__", inner_u).replace("__A__", inner_a).replace("__D__", inner_d) .replace("__L__", inner_l).replace("__T__", inner_t) .replace("__V__", inner_v).replace("__X__", inner_x).replace("__W__", inner_w) .replace("__R__", inner_r).replace("__C__", inner_c)) def iframe_embed(html: str) -> str: srcdoc = _esc(html) return ( f'' ) with gr.Blocks(title="Robot Learning Landscape") as demo: gr.HTML(iframe_embed(combined_html()), padding=False, container=False, min_height=700) if __name__ == "__main__": share = os.environ.get("LANDSCAPE_SHARE", "1") == "1" port = int(os.environ.get("LANDSCAPE_PORT", "7861")) demo.launch( server_name="0.0.0.0", # also reachable on your LAN server_port=port, share=share, # public *.gradio.live link when True inbrowser=False, theme=gr.themes.Soft(primary_hue="indigo", secondary_hue="violet"), css=".gradio-container{max-width:100% !important; padding:6px !important;}" " footer{display:none !important;}", )