feat(topology): M2 - API-driven demo page with layout tables and dynamic rendering

- Add diagram_layouts and diagram_nodes tables
- Seed layout coordinates extracted from SVG
- Extend snapshot API to return layout data
- Rewrite demo page to fetch from API dynamically
- Support ?mission= and ?at= URL parameters
- Modal details populated from database component data
- Show/hide nodes based on component existence at snapshot time

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-09 21:06:13 +08:00
co-authored by Claude
parent b5156d1306
commit 772f0f78f6
6 changed files with 570 additions and 493 deletions
+2
View File
@@ -1,11 +1,13 @@
# topology_api/app.py
from flask import Flask
from flask_cors import CORS
from topology_api.config import API_HOST, API_PORT, API_DEBUG
from topology_api.routes.snapshot import snapshot_bp
def create_app():
app = Flask(__name__)
CORS(app)
app.register_blueprint(snapshot_bp)
@app.route("/health")