first commit

This commit is contained in:
2026-04-14 18:42:19 -07:00
commit 30c731f99e
9 changed files with 6695 additions and 0 deletions

188
CLAUDE.md Normal file
View File

@@ -0,0 +1,188 @@
Introduction:
This is a project for a museum to demonstrate a simulation of a 1950's to 1960's
vintage marine radar and air traffic control radar
The project will be implemented on a Geekom A8 Max
with AMD AI chip R9-8945HS with 32 GB ram
# Project: C++ OpenGL Radar Simulation
**Environment:** Ubuntu Linux (Remote SSH from Windows)
**Tech Stack:** C++20, OpenGL 3.3/4.5 Core, GLFW, GLAD, FreeType
The operating system is Linux (Ubuntu)
Details:
Distributor ID: Ubuntu
Description: Ubuntu 25.10
Release: 25.10
Codename: questing
The compiler is cpp (Ubuntu 15.2.0-4ubuntu4) 15.2.0
We plan to use the cmake for building.
Here is the directory structure with files already installed:
All directories are in the new-radar top level directory. The
entire directory list is /home/maallyn/new-radar on the Geekom.
./shaders
./shaders/CLAUDE.md
./glad
./glad/src
./glad/src/glad.c
./include
./include/glad
./include/glad/glad.h
./include/CLAUDE.md
./include/KHR
./include/KHR/khrplatform.h
./new-claude
./README.md
./CMakeLists.txt
./build
./build/CLAUDE.md
./CLAUDE.md
./.new-claude.swp
./LICENSE
./src
./src/CLAUDE.md
==================================================================
Please note that all on-screen text shall be white and fully
illuminated and is not subject to phosphor persistance or decay.
The exception would be graticule text, which should be incandescent
for the bearing marks. Text on the PPI scope range rings shall be blue
but fade to yellow green as on p7 phosphor.
Please note that direction as stated here are True directions.
Maximum Range is 6 miles for marine type radar
Maximum Range is 20 miles for air traffic control radar.
The proposed location of the marine radar antenna is in the middle of Bellingham
Bay on a 100 foot platform.
Location is 48.74361448950435 latitude, -122.56466911663048 longitude
The proposed location of the air traffic control radar is the Bellingham
airport (BLI) control tower. Latitude: 48° 47' 33.7" N ; Longitude: 122° 32' 15.1" W
The following types of scope will be used; (note that these are not all
going to show at once. They will be selectable using a push button (a letter
the keyboard until I get physical buttons that are connected to a gpio pin.
The selection key should be s (short for scope)
For each scope, put the scope itself on the right hand of the window.
On the left hand of the window will be a text description of that scope.
Underneath each scope's description will be cursor range and bearing from the radar
location; and the setting of maximum range; and the bearing offset; for 0 would
be to have 0 degrees pointing to true north (this is needed if I decide to
implement a radar on a boat. If implimented, use k for bearing to right; and
j for bearing to left.
Please note that some keys may be the same from scope to scope. This is okay. Each
scope's controls are for that scope that you are connected do.They will not effect
settings on another scope.
Please note that the maximum range setting on a scope specific to that scope
and will be in that scope's definition. and the bearing selection
is scope specific. The manually operated radar dish for the a scope is not the same
as the PPI radar dishes. They are from different eras. In addition, all range and
bearing data for marine is separate than for air traffic control. They are completly
different radars. Range and bearing for the precision aproach radar will be different
than any other radar as that radar is located at the end of the runway and scan both
horizontal and vertical. Please note that the precision approach radar is a future
radar that will be described in a later section of the CLAUDE.md file.
PLease note that all keyboard based controls need to be described in each
scope's left hand text panel. These are different for each scope. Note that
the s for selecting a scope should be in each scope's description and what
would the next scope be.
1. A-Scope - (horizontal axis is range; vertical axis is amplitude of
return pulse; bearing will be set via a bearing control; current implimentation
would be two keys on the keyboard; one key to go clockwise on bearing and another
key would be to go counterclockwise. The A scope phosphor is P1, which is green.
The c key for clockwise on a scope and v for counterclockwise.
The A scope graticule is manually swapped out at each maximum range value
by the operator during the period. Here we will have to fake it out. And that
graticule needs to have an incandescent color. That graticule will have three horizontal
graticule lines for estimating return pulse strength. The range lines (vertical lines)
shal be: 2,4,6 miles.
To change maximum range, use key u for up and d for down. Possible settings are 2,4,6
miles
Max is 2; one interim range at 1
Max is 4; one interim range at 2
Max is 6; one interim range at 4
A scope is used only for marine. Other a scope use was for chain home radar, but
I don't know if I will include that one. It would be a whole new section and you
cannot change the range. It is fixed off the coast of England, facing the Europe
continent.
2. PPI Scope - There are two PPI Scopes; one for marine and one for air traffic control.
Both scopes have the following items in common:
Targets, range rings, and range ring text levels shall be treated the same for
presentation. All are P7 phosphor. Immediatel strike by the electron beam is blue.
persistance is green/yellow. Targets, range rings, and range ring labels shall all
persiste and fade out together. They should be faded out by the time the sweep
to that location.
The maximum range settings are 6 miles for the marine radar scope and 20 miles
for the air traffic radar scope. Rings should be 2,4, and 6 miles for marine.
Rings should be 5,10,15,20 for the air traffic control radar.
The max range settings for both marine and air ppi will be u for up and d for
down. If you are in the marine ppi, you change only the max range for the marine
ppi. Likewise for the air traffic control ppi. The possible max range values for
the marine radar are 2,4,6 and for the air traffic conrtrol radar are 5,10,15,20
miles.
Marine:
Max is 2; one interim range at 1
Max is 4; one interim range at 2
Max is 6; one interim range at 4
Air Traffic Control:
Max is 5; one interim rainge at 2.5
Max is 10; four interim ranges, 2,4,6,
Max is 15; three interim ranges 4,8,12
Max is 20, three interim ranges 5.10.15
Note on range. If cursor range is beyone max, clamp it to the max.
Bear in mind that the max range setting is independent for both radars.
The bearing graticle (lit incandescent) for both scopes are the same. There shold
be an inner circle with tickmarks for each degree, starting at 0 (north) and going
clockwise to the last tick, which is 359. Outside the innter ring shall be text
labels for every 15 degrees. Outside the text labels, there will be
an outer ring. Both inner and outer rings, along with ticks, and the bearing
labels are to be incandescent color.
The sweep time shall be 4 seconds for the marine scope and 5 seconds for the
air traffic scope.
The sweep direction on both scopes is clockwise, which means that the entenna
dish rotates clockwise.
Both scopes each have a cursor for range and bearing. The cursor consists of a
section of a ring ( 10 degrees) and a cross line for bearing.
The cursor should be yellow (it
a plastic overlay in the period time. Two controls control the cursor; range and
bearing. Both were physical crank controls. For now, both we need to use key pairs
on the keyboard. A white text indication of range and bearing should be put under
the scope. In the real day, it was a machanical readout. The key sewuence would be
r for bearing to the right and l for bearing for the left; and t for higher range
and y for smaller range.
3. Precision approach (to be defined later)
4. Other scope types may be added later.
[other scopes to be defined later]
Please analyze and comment. Please do not generate any code file nor shader files.