What is normally at /astrogation should now be at /astrogation?system=current (and is now known as the System Map). The /astrogation path without a system parameter now points at the Star Map, which is a rendering of a directed graph of all the player-known star systems. The server should make the player-known star systems available to the client and we should seed the db with some connections as seen below. The Star Map is also a map, much like the System Map, with pan and zoom abilities. Each node in the graph is a clickable star with the name hovering above it. When clicked, the name should be rendered in a slightly accented way to show it is the actively selected star system. Each directed edge in the graph is a chevron alignment arrow - care to draw them slightly curved in a counter-clockwise bend to account for system pairs with reciprocal directed edges. The background of the map should be a picture of looking down on the milky way, with the center of the milky way being the coordinates of 0, 0. The edges of the picture of the milky way vertically and horizontally should be from [-10000,10000].
When a star is selected in teh System Map, a Star Details box appears in the lower left of the System Map. When a star is selected and the user clicks in empty space, the star is unselected and the Star Details box disappears.
The Star Details box should have a heading with the name of the star. It should then have <label>: <details> of the following:
- Gates: number of gates
- Planets: number of planets
- Stations: number of stations
As far as data model:
-
a StarSystem represents a star. It has:
name (string)
galactic_coordinates_x (int)
galactic_coordinates_y (int)
star_class (enum matching star_classes.yml keys)
-
Each CelestialBody has a parent StarSystem
-
a GateTransitPath represents the directed edge between StarSystems
- a
from which is a foreign key to a CelestialBody with kind: gate
- a
to which is a foreign key to a CelestialBody with kind: gate
When writing this story, help me generate a graph with 6 nodes, including our Tejat system. Codify the generation in the seeds file.
What is normally at /astrogation should now be at
/astrogation?system=current(and is now known as the System Map). The/astrogationpath without a system parameter now points at the Star Map, which is a rendering of a directed graph of all the player-known star systems. The server should make the player-known star systems available to the client and we should seed the db with some connections as seen below. The Star Map is also a map, much like the System Map, with pan and zoom abilities. Each node in the graph is a clickable star with the name hovering above it. When clicked, the name should be rendered in a slightly accented way to show it is the actively selected star system. Each directed edge in the graph is a chevron alignment arrow - care to draw them slightly curved in a counter-clockwise bend to account for system pairs with reciprocal directed edges. The background of the map should be a picture of looking down on the milky way, with the center of the milky way being the coordinates of 0, 0. The edges of the picture of the milky way vertically and horizontally should be from [-10000,10000].When a star is selected in teh System Map, a Star Details box appears in the lower left of the System Map. When a star is selected and the user clicks in empty space, the star is unselected and the Star Details box disappears.
The Star Details box should have a heading with the name of the star. It should then have
<label>: <details>of the following:As far as data model:
a
StarSystemrepresents a star. It has:name(string)galactic_coordinates_x(int)galactic_coordinates_y(int)star_class(enum matching star_classes.yml keys)Each
CelestialBodyhas a parentStarSystema
GateTransitPathrepresents the directed edge between StarSystemsfromwhich is a foreign key to aCelestialBodywithkind: gatetowhich is a foreign key to aCelestialBodywithkind: gateWhen writing this story, help me generate a graph with 6 nodes, including our Tejat system. Codify the generation in the seeds file.