Commit Graph
75 Commits
Author SHA1 Message Date
ArmorandOpenAI Codex c99c910aa3 feat(topology): add square light canvas
Co-Authored-By: OpenAI Codex <codex@openai.com>
2026-07-15 12:21:34 +08:00
ArmorandOpenAI Codex 8d057dbfa3 fix(wiki): proxy topology through public gateway
Co-Authored-By: OpenAI Codex <codex@openai.com>
2026-07-15 10:53:18 +08:00
Armor e3b3a16b10 feat(wiki): embed GHC-05 topology 2026-07-15 00:08:13 +08:00
ArmorandClaude 450080d6fd docs(timeline): add GHC-06 Guanghan 04 module installation EVA-8 to EVA-14
7 EVAs covering unload, cross node positioning, module deployment,
pressurized corridor, and integration testing. Base capacity 10→14.
Also fix typo: 金蟾#3 → 金蟾二号.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 23:21:37 +08:00
ArmorandClaude 9d66d00a4e docs(timeline): add GHC-06 EVA-4 and EVA-5 (Jan 23-28)
Fill the gap between EVA-3 (Jan 15 handover) and EVA-6 (Feb 6).
EVA-4: Physical removal of Binglun #1 ISRU equipment after software
shutdown in EVA-2. Binglun #1 converted to standard cargo configuration.
EVA-5: Fuel transfer line verification between Binglun #1/#2 plus full
base system inspection following GHC-05 crew departure.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 23:03:27 +08:00
ArmorandClaude ac2578ca8b fix(wiki): use group(1) for script extraction; use link button for topology
The wiki_update_page.py script had a bug where extract_script_to_script_js
used match.group(0) (including <script> tags) instead of group(1) (pure JS).
This caused Wiki.js to render page JS as escaped HTML text rather than
executing it.

Since Wiki.js markdown editor strips iframes and only the markdown editor
is enabled, the topology diagram is now linked via a prominent button that
opens the interactive topology viewer in a new tab.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 17:06:33 +08:00
ArmorandClaude e8e2f99450 feat(wiki): embed interactive topology diagram in Guanghan Program page
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 16:53:58 +08:00
Armor 2121247583 test(topology): audit presentation adaptation 2026-07-10 00:10:04 +08:00
ArmorandClaude 67261b10a1 test(topology): verify database-driven presentation rendering
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:51:18 +08:00
ArmorandClaude 10808fd98b feat(topology): render styles from presentation payload
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:49:27 +08:00
ArmorandClaude 2382b5b483 test(topology): require database-driven visual semantics
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:46:41 +08:00
ArmorandClaude 7deda3a589 feat(topology): return diagram presentation styles
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:46:13 +08:00
ArmorandClaude d214d93f71 feat(topology): seed diagram presentation styles
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:44:58 +08:00
ArmorandClaude 00026fbbe7 test(topology): require database presentation payload
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 23:43:20 +08:00
Armor 14ea13d6a4 docs(topology): plan presentation database implementation 2026-07-09 23:40:15 +08:00
Armor 479e37e00f docs(topology): design database-driven presentation layer 2026-07-09 22:51:14 +08:00
Armor f5cbe1b028 test(topology): record repaired page verification 2026-07-09 22:22:30 +08:00
Armor 67229e2cde fix(topology): record verified vehicle dimensions 2026-07-09 22:21:11 +08:00
Armor 5a8a04c440 fix(topology): repair controls navigation and details 2026-07-09 22:08:42 +08:00
Armor 6ff18623e0 feat(topology): render temporal graph from database 2026-07-09 22:04:31 +08:00
Armor 0dbcd3086e feat(topology): persist complete diagram semantics 2026-07-09 21:53:00 +08:00
Armor e7becba0b0 fix(topology): correct mission anchors and rover ports 2026-07-09 21:49:52 +08:00
Armor 808276e225 fix(topology): validate time and list missions 2026-07-09 21:47:29 +08:00
Armor 270956c348 fix(topology): secure and unify demo serving 2026-07-09 21:45:53 +08:00
Armor e5f004fea4 docs: plan Guanghan topology repairs 2026-07-09 21:43:43 +08:00
Armor 9b663aca55 docs: audit Guanghan topology adaptation 2026-07-09 21:35:48 +08:00
ArmorandClaude 772f0f78f6 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>
2026-07-09 21:06:13 +08:00
ArmorandClaude b5156d1306 fix(topology): adapt queries for psycopg 3 array syntax
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:53:48 +08:00
ArmorandClaude adf3c60688 feat(topology): add seed data script for GHC-01 through GHC-05
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:52:11 +08:00
ArmorandClaude e4b633e25d feat(topology): add snapshot query logic, API route, and Flask app entry
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:50:09 +08:00
ArmorandClaude 29fc482bb0 feat(topology): add Flask app skeleton with db connection (psycopg 3)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:49:23 +08:00
ArmorandClaude d31e09fdea feat(topology): create 8 core tables with constraints and indexes
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:48:28 +08:00
ArmorandClaude 481992bacc feat(topology): create database extensions and schema
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-09 20:47:28 +08:00
Armor ec732d5aab docs: design Guanghan temporal topology database 2026-07-09 20:24:12 +08:00
ArmorandCodex 4f41976292 style: label Guanghan radiator panels
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 17:33:57 +08:00
ArmorandCodex b1a91159d9 feat: add Guanghan module detail modal
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:59:39 +08:00
ArmorandCodex 2780847c50 feat: rebuild Guanghan topology diagram
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:55:39 +08:00
ArmorandCodex 5352173f08 docs: 修正广寒基地加压走道记录
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:50:48 +08:00
ArmorandCodex 9f0b8310d8 test: define Guanghan topology contract
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:49:08 +08:00
ArmorandCodex 051aadc707 docs: 添加广寒拓扑实施计划
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:43:35 +08:00
ArmorandCodex bd1cb1efc7 docs: 记录广寒基地拓扑图设计
Co-Authored-By: Codex <noreply@openai.com>
2026-07-09 16:37:26 +08:00
ArmorandClaude Opus 4.7 491b3c9898 chore: update CLAUDE.md and .env.example
- CLAUDE.md: project reference with naming conventions, wiki publishing, run guide
- .env.example: add XIAOMI_MIMO_API_KEY example

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 12:04:50 +08:00
ArmorandClaude Opus 4.7 8d281eefd6 chore: add vision tool and Claude Code skill for UI screenshot review
- scripts/vision.py: call MiMo v2.5 via Anthropic-format API for image analysis
- scripts/screenshot_mission_list.py: Playwright screenshot of /missions page
- .claude/skills/vision.md: Claude Code skill for vision task delegation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 12:04:45 +08:00
ArmorandClaude Opus 4.7 0b4a5c6aa0 style: add mission list page CSS (~190 rules)
Covers previously undefined classes used by /missions and its includes:
- mission-filter-grid, mission-filter-pill, mission-filter-pill-row
- preview-tab, mission-preview-nav, mission-ops-tabs-panel
- mission-page-header, summary-card, mission-page-header-metrics
- data-table, mission-log-table, two-line-cell, table-subline, table-title
- table-actions, table-link, clamp-line, chip, field-label, eyebrow
- mission-datetime-control-row, mission-datetime-display-input
- primary-button, secondary-button
- panel, top-gap, empty-state

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 12:04:40 +08:00
ArmorandClaude Opus 4.7 01ea41de9b chore: add CLAUDE.md project reference
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 17:18:23 +08:00
ArmorandClaude Opus 4.7 bbc924f9b2 chore: gitignore all KSP screenshots (~174 MB, 30 PNGs)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 16:29:04 +08:00
ArmorandClaude Opus 4.7 354c38d246 chore: gitignore wiki-upload cache dirs (~126 MB duplicate PNGs)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 16:27:37 +08:00
ArmorandClaude Opus 4.7 607ce1e373 chore: update .gitignore — ignore IDE config, temp files, one-off scripts, tests, docs, demo
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 16:21:12 +08:00
ArmorandClaude Opus 4.7 84e5027874 refactor: client-side timeline rendering with lane stacking, zoom, drag, event positioning
- Client-side buildHTML() replaces server-side Jinja loop rendering
- Greedy lane assignment algorithm (assignLanes) to prevent segment overlap
- assignEventLanes for detached events stacking
- Wheel zoom with cursor-position anchor; drag pan with user-select:none
- Bucket-based positioning: startOfBucket/nextBucket/bucketDelta for precision
- Events positioned on parent segment track lane; detached events in separate row
- resolveScale with explicit ?scale= URL param support
- Backend: add bucket_origin, track, parent_entry_id, parent_track to JSON data

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 16:19:44 +08:00
ArmorandClaude Opus 4.7 e0c608b7f3 feat: add KSP save file (.sfs) parser script
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 16:19:37 +08:00