Main

Main Content

Sub-Category

sub content

subsub1

subsub1 content

subsub2
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


            
toggle top left HUD
toggle bottom left HUD
toggle top right HUD
toggle bottom right HUD
save SVG