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 overview geoCAD system // stores all system variables commands // stores all the commands tools // stores all the tools, which each reference a command activemodel activecamera library 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 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 class meta models cameras textfiles geometry example project: // project 1 is a model and each tabbed group is a nested model Project 1 Standard Blocks Project Blocks World (xyz or neh) ex 2023 concept 1 concept 2 design 50% Sheet 1 Sheet 2 Survey data GIS data 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 HTML/css classes - icon, hud, page, panel, row, rowtext // maybe make rowtext into a cell? like cells on a row NOTES generally, but not universally, if the js ends with ; it is by chatgpt and if left empty it is by me to-do: make layer panels expand ► / collapse ▼ put geometryobjects into a panel GEOMETRY is on the same level as nested models 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? make image frame match current svg width. maybe max ratio for the very thing windows? 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 css to work ?? not sure how to word this howeverrr instead of camera it is a view object (perspective, orthographic, stereo, 2d & 3d) a camera instead is a model with a 3d model that aligns with a view add import data, start with ascci only simplify SVG icons, currently limited using them as img references make one file that has all the svgs and write them into the app as well layerSummary() - if (property) then "property: property.length" // not sure where i was going with this one make command line functions make a list of all commands route all gui functions thru this command list add dark/light mode toggle CREATE template for project model template for 3d space model template for 2d space model MAKE lines MAKE BASIC GRID