first build attempt
This commit is contained in:
152
build_progress.md
Normal file
152
build_progress.md
Normal file
@@ -0,0 +1,152 @@
|
||||
# Build Progress Checklist
|
||||
# Museum Vintage Radar Exhibit — C++ / OpenGL
|
||||
# Update this file as each item is completed.
|
||||
# At the start of a new session, read this file to Claude to resume.
|
||||
|
||||
## HOW TO USE
|
||||
- Mark completed files with [x]
|
||||
- Note any partial files with [~] and add a comment
|
||||
- If a session ends mid-task, note it under RESUME POINT below
|
||||
|
||||
---
|
||||
|
||||
## RESUME POINT
|
||||
*(update this when a session ends mid-task)*
|
||||
|
||||
Last completed: Marine PPI builds and runs cleanly (build_progress.md updated).
|
||||
In-progress: —
|
||||
Next task: Marine A-Scope (scope_ascope + scope_marine_a) or ATC PPI
|
||||
|
||||
---
|
||||
|
||||
## CONFIGURATION
|
||||
|
||||
- [x] src/settings.h — all constexpr constants
|
||||
- [x] CMakeLists.txt — builds main radar binary; terrain_preprocess commented out
|
||||
|
||||
---
|
||||
|
||||
## CORE / INFRASTRUCTURE
|
||||
|
||||
- [x] src/main.cpp — entry point; GLFW/GLAD init; thread launch
|
||||
- [x] src/shared_render_state.h — Mutex A; state vars Thread 1 reads each frame
|
||||
- [x] src/shared_render_state.cpp
|
||||
- [x] src/target_buffer.h — Mutex B; target data between TrafficCop & Simulator
|
||||
- [x] src/target_buffer.cpp
|
||||
|
||||
---
|
||||
|
||||
## SCOPE FRAMEWORK
|
||||
|
||||
- [x] src/scope.h — abstract Scope base; auto-advance timer
|
||||
- [x] src/scope.cpp
|
||||
- [x] src/scope_manager.h — owns scope list; s/S switching; 120s timer
|
||||
- [x] src/scope_manager.cpp
|
||||
|
||||
---
|
||||
|
||||
## SCOPES — INDIVIDUAL
|
||||
|
||||
- [x] src/scope_intro.h — Exhibit Introduction (text only)
|
||||
- [x] src/scope_intro.cpp
|
||||
- [ ] src/scope_ascope.h — abstract AScope (A-scope shared behavior)
|
||||
- [ ] src/scope_ascope.cpp
|
||||
- [ ] src/scope_marine_a.h — Marine A-Scope; P1; graticule swap animation
|
||||
- [ ] src/scope_marine_a.cpp
|
||||
- [ ] src/scope_chain_home.h — Chain Home A-Scope; P2; goniometer; PRF; calibrator
|
||||
- [ ] src/scope_chain_home.cpp
|
||||
- [x] src/scope_ppi.h — abstract PPIScope; P7 phosphor; graticule; cursor; held-keys
|
||||
- [x] src/scope_ppi.cpp
|
||||
- [x] src/scope_marine_ppi.h — Marine PPI; 4s sweep; 2/4/6 mi ranges; beam-painted rings
|
||||
- [x] src/scope_marine_ppi.cpp
|
||||
- [ ] src/scope_boat_ppi.h — Boat PPI; moving origin; heading marker; patrol route
|
||||
- [ ] src/scope_boat_ppi.cpp
|
||||
- [ ] src/scope_atc_ppi.h — ATC PPI; 5s sweep; 5/10/15/20 mi ranges
|
||||
- [ ] src/scope_atc_ppi.cpp
|
||||
- [ ] src/scope_par.h — PAR; dual stacked scopes; az + el; 30 Hz
|
||||
- [ ] src/scope_par.cpp
|
||||
|
||||
---
|
||||
|
||||
## RENDERING SUPPORT
|
||||
|
||||
- [x] src/phosphor.h — P7 decay/persistence; ping-pong FBO
|
||||
- [x] src/phosphor.cpp
|
||||
- [x] src/graticule.h — incandescent bearing ring; ticks; 15° labels; cursor
|
||||
- [x] src/graticule.cpp
|
||||
- [x] src/left_panel.h — FreeType TextRenderer + LeftPanel description pane
|
||||
- [x] src/left_panel.cpp
|
||||
|
||||
---
|
||||
|
||||
## TARGET PIPELINE (THREADS 2 & 4)
|
||||
|
||||
- [x] src/traffic_cop.h — Thread 2; polls Simulator & RPi receivers at 4 Hz
|
||||
- [x] src/traffic_cop.cpp
|
||||
- [x] src/simulator.h — Thread 4; 7 simulated targets; flat-earth projection
|
||||
- [x] src/simulator.cpp
|
||||
- [x] src/rpi_receiver.h — stub; always returns 0 targets
|
||||
- [x] src/rpi_receiver.cpp
|
||||
- [x] src/knob_panel.h — Thread 3; hardware stub; idles until encoders wired
|
||||
- [x] src/knob_panel.cpp
|
||||
|
||||
---
|
||||
|
||||
## TERRAIN (deferred — not part of Marine PPI phase)
|
||||
|
||||
- [ ] src/terrain_map.h
|
||||
- [ ] src/terrain_map.cpp
|
||||
- [ ] src/land_clutter.h
|
||||
- [ ] src/land_clutter.cpp
|
||||
- [ ] src/terrain_preprocess.cpp — STANDALONE offline tool; links GDAL only
|
||||
|
||||
---
|
||||
|
||||
## DATABASE PANEL (deferred)
|
||||
|
||||
- [ ] src/db_panel.h
|
||||
- [ ] src/db_panel.cpp
|
||||
|
||||
---
|
||||
|
||||
## DEAR IMGUI (deferred — needed only for --database mode)
|
||||
|
||||
- [ ] src/imgui/imgui.h
|
||||
- [ ] src/imgui/imgui.cpp
|
||||
- [ ] src/imgui/imgui_impl_glfw.h
|
||||
- [ ] src/imgui/imgui_impl_glfw.cpp
|
||||
- [ ] src/imgui/imgui_impl_opengl3.h
|
||||
- [ ] src/imgui/imgui_impl_opengl3.cpp
|
||||
- [ ] src/imgui/imgui_draw.cpp
|
||||
- [ ] src/imgui/imgui_tables.cpp
|
||||
- [ ] src/imgui/imgui_widgets.cpp
|
||||
|
||||
---
|
||||
|
||||
## SHADERS
|
||||
|
||||
- [x] shaders/sweep.vert — fullscreen quad pass-through
|
||||
- [x] shaders/sweep.frag — P7 ping-pong decay + beam + rings + targets
|
||||
- [x] shaders/phosphor.vert — fullscreen quad pass-through
|
||||
- [x] shaders/phosphor.frag — P7 color curve; bloom; scope circle clip
|
||||
- [x] shaders/graticule.vert — screen-pixel → NDC for line geometry
|
||||
- [x] shaders/graticule.frag
|
||||
- [x] shaders/text.vert — glyph quad (xy=screen pos, zw=atlas UV)
|
||||
- [x] shaders/text.frag — samples GL_RED atlas; applies text color
|
||||
- [x] shaders/bloom.vert — stub (bloom post-process; not yet wired in)
|
||||
- [x] shaders/bloom.frag
|
||||
- [ ] shaders/terrain_clutter.vert — deferred with terrain
|
||||
- [ ] shaders/terrain_clutter.frag
|
||||
|
||||
---
|
||||
|
||||
## DATA FILES
|
||||
|
||||
- [x] data/patrol_route.json — boat waypoints stub (used by future BoatPPIScope)
|
||||
|
||||
---
|
||||
|
||||
## COUNTS
|
||||
Total items: 68
|
||||
Completed: 38
|
||||
Remaining: 30 (A-scopes, Boat PPI, ATC PPI, PAR, terrain, DB panel, ImGui, 2 shaders)
|
||||
Reference in New Issue
Block a user