Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,4 @@ docker-compose.env.yml
.serena
.claude
.playwright-mcp
CLAUDE.md
#tools
5 changes: 3 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ MMGIS/
├── src/ # Frontend source code
│ └── essence/
│ ├── Basics/ # Core map functionality
│ │ └── Map_.js # Map rendering engine (Leaflet/Cesium)
│ │ ├── Map_.js # Map rendering engine (Leaflet/Cesium)
│ │ └── TimeControl_/ # Temporal data control and UI
│ ├── Tools/ # Interactive tool plugins (16 core tools)
│ │ ├── Animation/ # Map animation creation (GIF/MP4)
│ │ ├── Chemistry/ # Chemical composition visualization
Expand All @@ -132,7 +133,6 @@ MMGIS/
│ │ ├── Sites/ # Quick navigation bookmarks
│ │ └── Viewshed/ # Line-of-sight visibility
│ └── Ancillary/ # UI components and helpers
│ └──TimeControl/ # Temporal data control
├── configure/ # Admin configuration interface
│ └── build/ # Configuration UI
├── docs/ # Documentation (Jekyll site)
Expand Down Expand Up @@ -162,6 +162,7 @@ MMGIS/
- **`API/Backend/Databases/`** - Sequelize ORM models and database migrations
- **`src/essence/Tools/`** - Plugin-based interactive mapping tools. Each tool is self-contained with defined interfaces.
- **`src/essence/Basics/Map_.js`** - Core map rendering engine managing both Leaflet (2D) and Cesium (3D)
- **`src/essence/Basics/TimeControl_/`** - Temporal data control system for time-enabled layers
- **`configure/`** - Separate admin interface for mission configuration, user management, and tool setup. Also known as the "Configure Page" or "CMS"
- **`specs/`** - Feature specifications following spec-kit format

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ _TBD_

#### Changed

- Moved TimeControl from `Ancillary/` to `Basics/TimeControl_/` to reflect its role as core infrastructure (#835)
- TimeControl and TimeUI now located in `src/essence/Basics/TimeControl_/`
- Updated import paths across 19 files
- **Breaking change for external plugins**: Import path changed from `'Ancillary/TimeControl'` to `'Basics/TimeControl_/TimeControl'`
- Moved admin login assets from `config/login/` to `public/` directory
- `adminlogin.js` and `adminlogin.css` now served from `/public`

Expand Down
7 changes: 7 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# MMGIS - Claude Code Context

This file provides context to Claude Code about the MMGIS project.

**For complete project context, see AGENTS.md.**

@AGENTS.md
2 changes: 1 addition & 1 deletion configure/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "configure",
"version": "4.2.2-20251222",
"version": "4.2.3-20251223",
"homepage": "./configure/build",
"private": true,
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mmgis",
"version": "4.2.2-20251222",
"version": "4.2.3-20251223",
"description": "A web-based mapping and localization solution for science operation on planetary missions.",
"homepage": "build",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Ancillary/Coordinates.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import $ from 'jquery'
import F_ from '../Basics/Formulae_/Formulae_'
import Map_ from '../Basics/Map_/Map_'
import L_ from '../Basics/Layers_/Layers_'
import TimeUI from './TimeUI'
import TimeUI from '../Basics/TimeControl_/TimeUI'
import Dropy from '../../external/Dropy/dropy'
import * as _UserInterface_ from '../Basics/UserInterface_/UserInterface_'
import calls from '../../pre/calls'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Ancillary/Description.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Dropy from '../../external/Dropy/dropy'
import flat from 'flat'
import { booleanIntersects, bbox } from '@turf/turf'
import calls from '../../pre/calls'
import TimeControl from './TimeControl'
import TimeControl from '../Basics/TimeControl_/TimeControl'

import tippy from 'tippy.js'

Expand Down
4 changes: 2 additions & 2 deletions src/essence/Ancillary/QueryURL.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import F_ from '../Basics/Formulae_/Formulae_'
import L_ from '../Basics/Layers_/Layers_'
import T_ from '../Basics/ToolController_/ToolController_'
import calls from '../../pre/calls'
import TimeControl from './TimeControl'
import TimeUI from './TimeUI'
import TimeControl from '../Basics/TimeControl_/TimeControl'
import TimeUI from '../Basics/TimeControl_/TimeUI'

var QueryURL = {
checkIfMission: function () {
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Basics/Globe_/Globe_.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import F_ from '../Formulae_/Formulae_'
import L_ from '../Layers_/Layers_'
import $ from 'jquery'

import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../TimeControl_/TimeControl'
import GlobeRenderer from './GlobeRenderer'

let Globe_ = {
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Basics/Layers_/LayerCapturer.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { utcFormat } from 'd3-time-format'
import F_ from '../Formulae_/Formulae_'
import L_ from '../Layers_/Layers_'
import calls from '../../../pre/calls'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../TimeControl_/TimeControl'

// This is so that an eariler and slower dynamic geodataset request
// does not override an earlier shorter one
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Basics/Map_/Map_.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import MetadataCapturer from '../Layers_/MetadataCapturer.js'
import { Kinds } from '../../../pre/tools'
import DataShaders from '../../Ancillary/DataShaders'
import calls from '../../../pre/calls'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../TimeControl_/TimeControl'

import gjv from 'geojson-validation'
import {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import { utcFormat } from 'd3-time-format'
import * as moment from 'moment'
import $ from 'jquery'
import F_ from '../Basics/Formulae_/Formulae_'
import L_ from '../Basics/Layers_/Layers_'
import Map_ from '../Basics/Map_/Map_'
import F_ from '../Formulae_/Formulae_'
import L_ from '../Layers_/Layers_'
import Map_ from '../Map_/Map_'
import TimeUI from './TimeUI'

import './TimeControl.css'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
*/
import $ from 'jquery'
import * as moment from 'moment'
import F_ from '../Basics/Formulae_/Formulae_'
import Map_ from '../Basics/Map_/Map_'
import L_ from '../Basics/Layers_/Layers_'
import calls from '../../pre/calls'
import F_ from '../Formulae_/Formulae_'
import Map_ from '../Map_/Map_'
import L_ from '../Layers_/Layers_'
import calls from '../../../pre/calls'
import tippy from 'tippy.js'
import Dropy from '../../external/Dropy/dropy'
import Dropy from '../../../external/Dropy/dropy'

import { TempusDominus, Namespace } from '@eonasdan/tempus-dominus'
import '@eonasdan/tempus-dominus/dist/css/tempus-dominus.css'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Basics/ToolController_/ToolController_.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import $ from 'jquery'
import L_ from '../Layers_/Layers_'
import TimeUI from '../../Ancillary/TimeUI'
import TimeUI from '../TimeControl_/TimeUI'
import { toolModules, toolConfigs } from '../../../pre/tools'

import tippy from 'tippy.js'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Tools/Animation/AnimationTool.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Viewer_ from '../../Basics/Viewer_/Viewer_'
import ToolController_ from '../../Basics/ToolController_/ToolController_'
import CursorInfo from '../../Ancillary/CursorInfo'
import Description from '../../Ancillary/Description'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../../Basics/TimeControl_/TimeControl'
import Modal from '../../Ancillary/Modal'
import HTML2Canvas from 'html2canvas'
import gifshot from 'gifshot'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Tools/Draw/DrawTool.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import Viewer_ from '../../Basics/Viewer_/Viewer_'
import ToolController_ from '../../Basics/ToolController_/ToolController_'
import CursorInfo from '../../Ancillary/CursorInfo'
import Description from '../../Ancillary/Description'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../../Basics/TimeControl_/TimeControl'
import { Kinds } from '../../../pre/tools'
import turf from 'turf'

Expand Down
2 changes: 1 addition & 1 deletion src/essence/Tools/Draw/DrawTool_Templater.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import $ from 'jquery'
import F_ from '../../Basics/Formulae_/Formulae_'
import CursorInfo from '../../Ancillary/CursorInfo'
import Dropy from '../../../external/Dropy/dropy'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../../Basics/TimeControl_/TimeControl'
import calls from '../../../pre/calls'

import * as moment from 'moment'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/Tools/Layers/LayersTool.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import LayerInfoModal from './LayerInfoModal/LayerInfoModal'
import Filtering from '../../Basics/Layers_/Filtering/Filtering'
import Help from '../../Ancillary/Help'
import CursorInfo from '../../Ancillary/CursorInfo'
import TimeUI from '../../Ancillary/TimeUI'
import TimeUI from '../../Basics/TimeControl_/TimeUI'

import LegendTool from '../Legend/LegendTool.js'

Expand Down
2 changes: 1 addition & 1 deletion src/essence/Tools/Shade/ShadeTool.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import Map_ from '../../Basics/Map_/Map_'
import Globe_ from '../../Basics/Globe_/Globe_'
import CursorInfo from '../../Ancillary/CursorInfo'
import DataShaders from '../../Ancillary/DataShaders'
import TimeControl from '../../Ancillary/TimeControl'
import TimeControl from '../../Basics/TimeControl_/TimeControl'
import Help from '../../Ancillary/Help'

import '../../../external/ColorPicker/jqColorPicker'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/essence.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import MapLogo from './Ancillary/MapLogo'
import Attributions from './Ancillary/Attributions'
//import Swap from './Ancillary/Swap'
import QueryURL from './Ancillary/QueryURL'
import TimeControl from './Ancillary/TimeControl'
import TimeControl from './Basics/TimeControl_/TimeControl'
import calls from '../pre/calls'
import { mmgisAPI_, mmgisAPI } from './mmgisAPI/mmgisAPI'
import { makeMissionNotFoundDiv } from './LandingPage/LandingPage'
Expand Down
2 changes: 1 addition & 1 deletion src/essence/mmgisAPI/mmgisAPI.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import L_ from '../Basics/Layers_/Layers_'
import F_ from '../Basics/Formulae_/Formulae_'
import ToolController_ from '../Basics/ToolController_/ToolController_'
import QueryURL from '../Ancillary/QueryURL'
import TimeControl from '../Ancillary/TimeControl'
import TimeControl from '../Basics/TimeControl_/TimeControl'
import Login from '../Ancillary/Login/Login'
import LegendTool from '../Tools/Legend/LegendTool.js'

Expand Down