import gradio as gr from sdf_export import mesh_to_sdf_glsl def generate_sdf_glsl(file_obj): glsl_code = mesh_to_sdf_glsl(file_obj.name) return glsl_code, ("sdf_generated.glsl", glsl_code) iface = gr.Interface( fn=generate_sdf_glsl, inputs=gr.File(label="Upload 3D Mesh (.obj, .stl, .ply, .glb, etc.)"), outputs=[ gr.Textbox(label="GLSL Output"), gr.File(label="Download GLSL File"), ], title="Mesh to Embedded GLSL SDF Generator", description="Upload a 3D mesh file to generate a fully embedded GLSL function with float[] SDF data.", ) if __name__ == "__main__": iface.launch()