Spaces:
Sleeping
Sleeping
minor, get back
Browse files
app.py
CHANGED
|
@@ -21,6 +21,29 @@ def main() -> None:
|
|
| 21 |
# add_sphere_btn = gr.Button("Add Random Sphere")
|
| 22 |
iframe_html = gr.HTML("")
|
| 23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
@demo.load(outputs=[iframe_html])
|
| 25 |
def start_server(request: gr.Request):
|
| 26 |
assert request.session_hash is not None
|
|
@@ -38,12 +61,27 @@ def main() -> None:
|
|
| 38 |
|
| 39 |
# Add three random spheres automatically
|
| 40 |
server = viser_manager.get_server(request.session_hash)
|
| 41 |
-
|
|
|
|
| 42 |
|
| 43 |
return f"""
|
| 44 |
<iframe src="{protocol}://{host}/viser/{request.session_hash}/" width="100%" height="500px" frameborder="0" style="display: block;"></iframe>
|
| 45 |
"""
|
| 46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
@demo.unload
|
| 48 |
def stop(request: gr.Request):
|
| 49 |
assert request.session_hash is not None
|
|
|
|
| 21 |
# add_sphere_btn = gr.Button("Add Random Sphere")
|
| 22 |
iframe_html = gr.HTML("")
|
| 23 |
|
| 24 |
+
# @demo.load(outputs=[iframe_html])
|
| 25 |
+
# def start_server(request: gr.Request):
|
| 26 |
+
# assert request.session_hash is not None
|
| 27 |
+
# viser_manager.start_server(request.session_hash)
|
| 28 |
+
|
| 29 |
+
# # Use the request's base URL if available
|
| 30 |
+
# host = request.headers["host"]
|
| 31 |
+
|
| 32 |
+
# # Determine protocol (use HTTPS for HuggingFace Spaces or other secure environments)
|
| 33 |
+
# protocol = (
|
| 34 |
+
# "https"
|
| 35 |
+
# if request.headers.get("x-forwarded-proto") == "https"
|
| 36 |
+
# else "http"
|
| 37 |
+
# )
|
| 38 |
+
|
| 39 |
+
# # Add three random spheres automatically
|
| 40 |
+
# server = viser_manager.get_server(request.session_hash)
|
| 41 |
+
# visualize_st4rtrack(server=server)
|
| 42 |
+
|
| 43 |
+
# return f"""
|
| 44 |
+
# <iframe src="{protocol}://{host}/viser/{request.session_hash}/" width="100%" height="500px" frameborder="0" style="display: block;"></iframe>
|
| 45 |
+
# """
|
| 46 |
+
|
| 47 |
@demo.load(outputs=[iframe_html])
|
| 48 |
def start_server(request: gr.Request):
|
| 49 |
assert request.session_hash is not None
|
|
|
|
| 61 |
|
| 62 |
# Add three random spheres automatically
|
| 63 |
server = viser_manager.get_server(request.session_hash)
|
| 64 |
+
for _ in range(3):
|
| 65 |
+
add_random_sphere(server)
|
| 66 |
|
| 67 |
return f"""
|
| 68 |
<iframe src="{protocol}://{host}/viser/{request.session_hash}/" width="100%" height="500px" frameborder="0" style="display: block;"></iframe>
|
| 69 |
"""
|
| 70 |
|
| 71 |
+
# @add_sphere_btn.click
|
| 72 |
+
def add_random_sphere(server):
|
| 73 |
+
# Add icosphere with random properties
|
| 74 |
+
server.scene.add_icosphere(
|
| 75 |
+
name=f"sphere_{random.randint(1, 10000)}",
|
| 76 |
+
position=(
|
| 77 |
+
random.uniform(-1, 1),
|
| 78 |
+
random.uniform(-1, 1),
|
| 79 |
+
random.uniform(-1, 1),
|
| 80 |
+
),
|
| 81 |
+
radius=random.uniform(0.05, 0.2),
|
| 82 |
+
color=(random.random(), random.random(), random.random()),
|
| 83 |
+
)
|
| 84 |
+
|
| 85 |
@demo.unload
|
| 86 |
def stop(request: gr.Request):
|
| 87 |
assert request.session_hash is not None
|