Main Content
sub content
subsub1 content
geoCAD
cad draw tools
gis data tools
geomatics cogo tools // https://q-cogo.com/ is insipiration to keep going on this project
to-do:
make layer panels expand ► / collapse ▼
add object type and count when there's an object
make spacer variable and function names specific to the vertical spacer to allow creating a horizontal spacer in the control panel
rebuild camera controls - request animation frame / holding down for too long without Raf start to flood ram?
add import data
instead of using svg icons as images, store them in a 'database' and add the actual svg element instead of linking to a file, will also help with highlight coloring and styling
layerSummary() - if (property) then "property: property.length"
add dark/light mode toggle
add save svg button
make camera dimensions smaller
make image frame match current svg width
make background match image frame
svg targets to groups canvas-draw-layer, canvas background, canvas foreground
store svg styles in the index.html canvas object for svg svg to work
overview
geocad
│ =run666.bat // python basic server
│ favicon.ico // basic globe with lat-long lines
│ index.html // the web page that loads to the user
│
├───css
│ style_byclass.css
│ style_byid.css
│ style_html.css
│ style_svg.css
│
├───js
│ HTMLinterface.js // for displaying and interacting with html elements
│ geoCAD.js // builds and runs the app
│
│ Model.js // stores geometry objects, cameras, and other models to create a layered/nested hierarchy
│ Camera.js // this projects or renders the vector data to an SVG
│ Point.js // simple xyz objects
│ Line.js
│
│ *commands.js // list of command functions for users, database api essentially
│ *commandline.js // logic for using the command line with input commands
│ *tools.js // gui for commands, generates a panel on the tools page for each tool
│
│ svg.js // svg element create and modify
│
└───svg // holds all the svg icons used in the app, thanks to https://heroicons.com/
* not started yet
model
models
cameras
textfiles
geometry
geoCAD
system // stores all system variables
models // saved models
projects // 'top level' models
cameras // stores the types of cameras you can import into your model
textfiles // stores ascii files to import into your model
commands // stores all the commands
tools // stores all the tools
index.html
workstation
viewscreen
huds
svg canvas
spacer
controlpanel
controlpanel_nav // select page for main
controlpanel_header // controls for selected page
controlpanel_main // displays selected page
page1
page2 // pages hidden until selected
page3
page4 // give pages more descriptive names
page5
controlpanel_footer
commandline_log
commandline
icon
hud
page
panel
row
rowtext // maybe make into a cell? like cells on a row