{
  "app_settings": {
    "header": {
      "title": "Digital Twin",
      "logoIcon": "fa-cube",
      "buttons": [
        {
          "id": "resetAll",
          "icon": "fa-redo",
          "action": "resetViewAll"
        },
        {
          "id": "fullscreen",
          "icon": "fa-expand",
          "action": "toggleFullscreen"
        },
        {
          "id": "settings",
          "icon": "fa-cog",
          "action": "openSettings"
        }
      ]
    },
    "viewerPanel": {
      "titleIcon": "fa-image",
      "defaultTitle": "Seleziona una foto - Viewer",
      "buttons": [
        {
          "id": "swapPanels",
          "icon": "fa-exchange-alt",
          "action": "toggleViewPanel"
        },
        {
          "id": "resetViewer",
          "icon": "fa-redo",
          "action": "resetViewer"
        },
        {
          "id": "viewerFullscreen",
          "icon": "fa-expand",
          "action": "toggleViewerFullscreen"
        }
      ]
    },
    "mapPanel": {
      "titleIcon": "fa-globe",
      "defaultTitle": "Planimetria",
      "collapsed": false,
      "buttons": [
        {
          "id": "toggleMap",
          "icon": "fa-chevron-right",
          "action": "toggleMap"
        },
        {
          "id": "resetMap",
          "icon": "fa-redo",
          "action": "resetMap"
        },
        {
          "id": "mapFullscreen",
          "icon": "fa-expand",
          "action": "toggleMapFullscreen"
        }
      ]
    },
    "modalData": {
      "titleIcon": "fa-file",
      "defaultTitle": "Documento",
      "enabled": true
    },
    "footer": {
      "left": "© 2025 matlab srl",
      "links": [
        {
          "label": "www.matlab.srl",
          "href": "https://www.matlab.srl/index.html"
        },
        {
          "label": "info@matlab.srl.com",
          "href": "mailto:info@matlab.srl.com"
        }
      ],
      "social": [
        {
          "id": "facebook",
          "href": "https://www.facebook.com/MATLAB.SRL/",
          "icon": "fab fa-facebook-f"
        },
        {
          "id": "linkedin",
          "href": "https://www.linkedin.com/company/matlab-srl/?viewAsMember=true",
          "icon": "fab fa-linkedin-in"
        },
        {
          "id": "instagram",
          "href": "https://www.instagram.com/matlab.srl/",
          "icon": "fab fa-instagram"
        }
      ]
    },
    "pannellum": {
      "default": {
        "autoLoad": true,
        "showZoomCtrl": false,
        "compass": false,
        "showFullscreenCtrl": false,
        "friction": 0.15,
        "mouseZoom": true,
        "doubleClickZoom": false,
        "type": "multires",
        "haov": 360,
        "pitch": 0,
        "yaw": 0,
        "multiRes": {
          "path": "/%l/%s%y_%x",
          "fallbackPath": "/fallback/%s",
          "extension": "jpg"
        }
      },
      "panoPresets": {
        "DRONE": {
          "hfov": 100,
          "minHfov": 14.41,
          "maxHfov": 120,
          "multiRes": {
            "tileResolution": 512,
            "maxLevel": 4,
            "cubeResolution": 2600
          }
        },
        "PANO": {
          "hfov": 100,
          "multiRes": {
            "tileResolution": 512,
            "maxLevel": 3,
            "cubeResolution": 1704
          }
        },
        "LS_RIEGL_FOTO": {
          "hfov": 70,
          "minHfov": 14.41,
          "maxHfov": 120,
          "avoidShowingBackground": true,
          "vaov": 61.931,
          "minPitch": -30.9655,
          "maxPitch": 30.9655,
          "multiRes": {
            "tileResolution": 510,
            "maxLevel": 5,
            "cubeResolution": 4096
          }
        },
        "LS_RIEGL_BN": {
          "hfov": 100,
          "vaov": 96.25,
          "vOffset": -7.925,
          "multiRes": {
            "tileResolution": 510,
            "maxLevel": 4,
            "cubeResolution": 2288
          }
        },
        "LS_FARO_FOTO": {
          "hfov": 100,
          "multiRes": {
            "tileResolution": 512,
            "maxLevel": 4,
            "cubeResolution": 3224
          }
        },
        "LS_FARO_BN": {
          "hfov": 100,
          "vaov": 178.73462214411248,
          "vOffset": 0.632688927943761,
          "multiRes": {
            "tileResolution": 510,
            "maxLevel": 4,
            "cubeResolution": 2576
          }
        }
      }
    },
    "leaflet": {
      "default": {
        "fullscreenControl": false,
        "zoomControl": false,
        "detectRetina": true
      }
    },
    "3dhop": {
      "default": {
        "trackball": {
          "type": "TurnTableTrackball",
          "startPhi": -40,
          "startTheta": 5,
          "startDistance": 2.5,
          "minMaxPhi": [
            -180,
            180
          ],
          "minMaxTheta": [
            5,
            90
          ],
          "minMaxDist": [
            1,
            5
          ]
        },
        "spotColors": {
          "drone": [
            1,
            0,
            0
          ],
          "camera": [
            0,
            1,
            0
          ],
          "laser": [
            0,
            0,
            1
          ],
          "data": [
            1,
            1,
            0
          ]
        }
      }
    },
    "ui": {
      "defaultTab": "planimetrie",
      "panels": {
        "sidebar": {
          "defaultCollapsed": false
        },
        "viewer": {
          "defaultUrl": ""
        },
        "map": {
          "defaultCollapsed": false,
          "defaultUrl": ""
        }
      },
      "features": {
        "enablePanelSwap": true,
        "enableFullscreen": true,
        "enableKeyboardShortcuts": true,
        "enable3DModelSelection": true,
        "enableFilterSystem": true
      }
    },
    "metadata": {
      "company": {
        "name": "matlab srl",
        "website": "https://www.matlab.srl",
        "email": "data@matlab.srl.com",
        "social": {
          "facebook": "https://www.facebook.com/MATLAB.SRL/",
          "linkedin": "https://www.linkedin.com/company/matlab-srl/?viewAsMember=true",
          "instagram": "https://www.instagram.com/matlab.srl/"
        }
      },
      "copyright": "© 2025 matlab srl"
    },
    "shortcuts": {
      "1": "switchFloor:0",
      "2": "switchFloor:1",
      "3": "switchFloor:2",
      "F11": "toggleFullscreen",
      "m": "toggleMap",
      "s": "toggleSidebar",
      "Escape": "close360Modal"
    }
  },
  "projects": [
    {
      "id": "project_250055",
      "name": "NOMEPROGETTO",
      "description": "Digital Twin Dashboard - React Version",
      "icon": "fa-building",
      "color": "from-blue-500 to-blue-700",
      "status": "active",
      "createdAt": "2025-01-15",
      "lastModified": "2025-12-20",
      "project": {
        "protocollo": "250055",
        "name": "NOMEPROGETTO",
        "version": "1.0",
        "description": "Digital Twin Dashboard - React Version"
      },
      "paths": {
        "root": "/assets",
        "icons": {
          "fa": "fontawesome",
          "app": "/assets/icons/"
        },
        "leaflet": {
          "imageBase": "/image/leaflet/250055/",
          "iconBase": "/icons/leaflet/",
          "icons": {
            "default": "marker-icon-2x.png",
            "red": "marker-icon-2x-red.png",
            "shadow": "marker-shadow.png"
          }
        },
        "pannellum": {
          "images": "/image/pannellum"
        },
        "3dhop": {
          "models": "/assets/models/3dhop",
          "externalStorage": ""
        },
        "documents": {
          "base": "/assets/documents"
        }
      },
      "shift": {
        "lat": 45.75,
        "lon": 9.03,
        "z": 250
      },
      "sidebar": {
        "tabs": [
          {
            "id": "planimetrie",
            "icon": "fa-map",
            "label": "Planimetrie"
          },
          {
            "id": "modelli3d",
            "icon": "fa-cube",
            "label": "Modelli 3D"
          },
          {
            "id": "data",
            "icon": "fas fa-folder-open",
            "label": "data"
          }
        ],
        "trees": {
          "planimetrie": [
            {
              "type": "folder",
              "label": "250055",
              "expanded": true,
              "children": [
                {
                  "type": "folder",
                  "label": "Planimetrie",
                  "expanded": true,
                  "children": [
                    {
                      "icon": "fas fa-globe",
                      "type": "file",
                      "dataType": "map",
                      "label": "Mappa Globale",
                      "badge": null,
                      "tags": [
                        "drone",
                        "camera",
                        "laser",
                        "data"
                      ],
                      "action": {
                        "viewType": "leaflet",
                        "maps": "global"
                      }
                    },
                    {
                      "icon": "fa-map",
                      "type": "file",
                      "dataType": "map",
                      "label": "L00",
                      "badge": null,
                      "tags": [
                        "drone",
                        "camera",
                        "laser",
                        "data"
                      ],
                      "action": {
                        "viewType": "leaflet",
                        "maps": "local"
                      }
                    }
                  ]
                },
                {
                  "type": "folder",
                  "label": "Filtri",
                  "expanded": true,
                  "children": [
                    {
                      "type": "filter",
                      "key": "drone",
                      "label": "drone"
                    },
                    {
                      "type": "filter",
                      "key": "camera",
                      "label": "camera"
                    },
                    {
                      "type": "filter",
                      "key": "laser",
                      "label": "laser"
                    },
                    {
                      "type": "filter",
                      "key": "data",
                      "label": "data"
                    }
                  ]
                }
              ]
            }
          ],
          "modelli3d": [
            {
              "type": "folder",
              "label": "Modelli 3D",
              "expanded": true,
              "children": [
                {
                  "type": "file",
                  "dataType": "3d",
                  "label": "edificio_1",
                  "badge": "3D",
                  "action": {
                    "viewType": "3dhop",
                    "modelId": "edificio_1"
                  }
                },
                {
                  "type": "file",
                  "dataType": "3d",
                  "label": "edificio_2",
                  "badge": "MESH",
                  "tags": [
                    "drone",
                    "camera",
                    "laser",
                    "data"
                  ],
                  "action": {
                    "viewType": "3dhop",
                    "modelId": "edificio_2"
                  }
                },
                {
                  "type": "file",
                  "dataType": "3d",
                  "label": "interno_piano_00",
                  "badge": "3D",
                  "tags": [
                    "drone",
                    "camera",
                    "laser",
                    "data"
                  ],
                  "action": {
                    "viewType": "3dhop",
                    "modelId": "interno_piano_00"
                  }
                },
                {
                  "type": "folder",
                  "label": "Filtri",
                  "expanded": true,
                  "children": [
                    {
                      "type": "filter",
                      "key": "drone",
                      "label": "drone"
                    },
                    {
                      "type": "filter",
                      "key": "camera",
                      "label": "camera"
                    },
                    {
                      "type": "filter",
                      "key": "laser",
                      "label": "laser"
                    },
                    {
                      "type": "filter",
                      "key": "data",
                      "label": "data"
                    }
                  ]
                }
              ]
            }
          ],
          "data": [
            {
              "type": "folder",
              "label": "Documentazione",
              "expanded": true,
              "children": [
                {
                  "type": "file",
                  "dataType": "markdown",
                  "label": "Introduzione al Progetto",
                  "icon": "fa-file-alt",
                  "action": {
                    "viewType": "markdown",
                    "filePath": "/assets/documents/250055/introduzione.md"
                  }
                },
                {
                  "type": "file",
                  "dataType": "markdown",
                  "label": "Specifiche Tecniche",
                  "icon": "fa-file-code",
                  "action": {
                    "viewType": "markdown",
                    "filePath": "/assets/documents/250055/specifiche-tecniche.md"
                  }
                },
                {
                  "type": "file",
                  "dataType": "markdown",
                  "label": "Guida Utente",
                  "icon": "fa-book",
                  "action": {
                    "viewType": "markdown",
                    "filePath": "/assets/documents/250055/guida-utente.md"
                  }
                }
              ]
            }
          ]
        }
      },
      "leaflet": {
        "maps": {
          "global": {
            "floorId": "plan_global",
            "label": "GLOBAL MAP",
            "tileServer": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
            "zoom": 16,
            "coordPrefix": "lat/lon: ",
            "markers": {
              "layerGroups": {
                "drone": {
                  "category": "drone",
                  "preset": "DRONE",
                  "items": [
                    {
                      "id": "DJI_0019",
                      "lat": 45.7505327222,
                      "lon": 9.0338786389,
                      "z": 253.5,
                      "target": "panorama",
                      "path": "TEST_01/DRONE_01"
                    }
                  ]
                },
                "camera": {
                  "category": "camera",
                  "preset": "PANO",
                  "items": [
                    {
                      "id": "CAM_0001",
                      "lat": 45.7506,
                      "lon": 9.03395,
                      "z": 251.8,
                      "target": "panorama",
                      "path": "TEST_01/PANO_01"
                    }
                  ]
                },
                "laser": {
                  "category": "laser",
                  "groups": [
                    {
                      "preset": "LS_RIEGL_FOTO",
                      "items": [
                        {
                          "id": "L001",
                          "lat": 45.7507,
                          "lon": 9.03405,
                          "z": 252.3,
                          "target": "panorama",
                          "path": "TEST_01/RIEGL_FOTO_01"
                        }
                      ]
                    },
                    {
                      "preset": "LS_RIEGL_BN",
                      "items": [
                        {
                          "id": "L002",
                          "lat": 45.7508,
                          "lon": 9.03415,
                          "z": 251.5,
                          "target": "panorama",
                          "path": "TEST_01/LS-RIEGL-BN_001"
                        }
                      ]
                    },
                    {
                      "preset": "LS_FARO_FOTO",
                      "items": [
                        {
                          "id": "L003",
                          "lat": 45.7509,
                          "lon": 9.03425,
                          "z": 250.8,
                          "target": "panorama",
                          "path": "TEST_01/LS-F-COL_000"
                        }
                      ]
                    },
                    {
                      "preset": "LS_FARO_BN",
                      "items": [
                        {
                          "id": "L004",
                          "lat": 45.7509,
                          "lon": 9.03425,
                          "z": 250.8,
                          "target": "panorama",
                          "path": "TEST_01/LS-F-BN_002"
                        }
                      ]
                    }
                  ]
                },
                "data": {
                  "category": "data",
                  "preset": null,
                  "items": [
                    {
                      "id": "data_001",
                      "lat": 45.7506,
                      "lon": 9.0339,
                      "z": 252,
                      "target": "data",
                      "path": "facciata_principale.md"
                    }
                  ]
                }
              }
            }
          },
          "local": {
            "floorId": "plan_00",
            "label": "L00",
            "tilePath": "00",
            "map_rows": 16384,
            "map_cols": 16384,
            "map_maxZoom": 6,
            "map_resolutionX": 0.005,
            "map_resolutionY": 0.005,
            "map_TopX": -40.005,
            "map_TopY": 10,
            "coordPrefix": "xy[m] ",
            "markers": {
              "layerGroups": {
                "drone": {
                  "category": "drone",
                  "preset": "DRONE",
                  "items": [
                    {
                      "id": "DJI_0019",
                      "x": -12.8,
                      "y": 5.25,
                      "z": 2.5,
                      "target": "panorama",
                      "path": "TEST_01/DRONE_01"
                    }
                  ]
                },
                "camera": {
                  "category": "camera",
                  "preset": "PANO",
                  "items": [
                    {
                      "id": "CAM_0001",
                      "x": -15.2,
                      "y": 8.5,
                      "z": 1.8,
                      "target": "panorama",
                      "path": "TEST_01/PANO_01"
                    }
                  ]
                },
                "laser": {
                  "category": "laser",
                  "groups": [
                    {
                      "preset": "LS_RIEGL_FOTO",
                      "items": [
                        {
                          "id": "L001",
                          "x": -8.4,
                          "y": 3.75,
                          "z": 1.5,
                          "target": "panorama",
                          "path": "TEST_01/RIEGL_FOTO_01"
                        }
                      ]
                    },
                    {
                      "preset": "LS_RIEGL_BN",
                      "items": [
                        {
                          "id": "L002",
                          "x": -5.6,
                          "y": 12.3,
                          "z": 1.5,
                          "target": "panorama",
                          "path": "TEST_01/LS-RIEGL-BN_001"
                        }
                      ]
                    },
                    {
                      "preset": "LS_FARO_FOTO",
                      "items": [
                        {
                          "id": "L003",
                          "x": -18.9,
                          "y": 6.8,
                          "z": 1.5,
                          "target": "panorama",
                          "path": "TEST_01/LS-F-COL_000"
                        }
                      ]
                    },
                    {
                      "preset": "LS_FARO_BN",
                      "items": [
                        {
                          "id": "L004",
                          "x": -18.9,
                          "y": 6.8,
                          "z": 1.5,
                          "target": "panorama",
                          "path": "TEST_01/LS-F-BN_002"
                        }
                      ]
                    }
                  ]
                },
                "data": {
                  "category": "data",
                  "preset": null,
                  "items": [
                    {
                      "id": "data_001",
                      "lat": 45.75055,
                      "lon": 9.0339,
                      "x": -15.2,
                      "y": 8.5,
                      "z": 3.8,
                      "target": "data",
                      "path": "interno.md"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "3dhop": {
        "models": {
          "edificio_1": {
            "label": "Edificio Principale",
            "type": "pointcloud",
            "path": "edificio_1.nxz",
            "georeferenced": true,
            "poisSource": "global"
          },
          "edificio_2": {
            "label": "Edificio Secondario",
            "type": "mesh",
            "path": "edificio_2.nxz",
            "georeferenced": false,
            "poisSource": "local"
          },
          "interno_piano_00": {
            "label": "Interno Piano Terra",
            "type": "pointcloud",
            "path": "interno_piano_00.nxz",
            "georeferenced": false,
            "poisSource": "local"
          }
        }
      }
    }
  ]
}