feat: Add legacy shaders, model I/O, and project panel functionality
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
- Introduced `legacy-shaders.js` containing vertex and fragment shaders for rendering. - Implemented `model-io.js` for parsing and encoding GLB files, ensuring compatibility with glTF 2.0. - Created `project-panel.js` to manage project resources and survey overlays, enhancing user interaction. - Added `solar.js` for calculating solar positions based on UTC time, latitude, and longitude. - Developed `three-renderer.js` as a standard backend for Three.js, managing scene rendering and material synchronization. - Included a new GLB model `dum.glb` for testing and demonstration purposes. - Established `data_checks.mjs` for validating model data and ensuring integrity of assets. - Created `prepare_export.py` to facilitate Blender GLB exports, maintaining material and node references. - Added `vendor_three.py` to download and configure a local version of Three.js for the project.
This commit is contained in:
@@ -1,529 +0,0 @@
|
||||
{
|
||||
"rooms": [
|
||||
[
|
||||
"101",
|
||||
"Zádveří",
|
||||
"5,20",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"102",
|
||||
"Chodba",
|
||||
"6,36",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"103",
|
||||
"Pokoj 1",
|
||||
"10,62",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"104",
|
||||
"Pokoj 2",
|
||||
"12,35",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"105",
|
||||
"Koupelna",
|
||||
"7,72",
|
||||
"tile"
|
||||
],
|
||||
[
|
||||
"106",
|
||||
"WC",
|
||||
"1,40",
|
||||
"tile"
|
||||
],
|
||||
[
|
||||
"107",
|
||||
"Ložnice",
|
||||
"15,86",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"108",
|
||||
"Obývací pokoj + KK",
|
||||
"37,69",
|
||||
"lam"
|
||||
],
|
||||
[
|
||||
"109",
|
||||
"Technická místnost",
|
||||
"3,09",
|
||||
"tile"
|
||||
]
|
||||
],
|
||||
"options": {
|
||||
"entryModel": [
|
||||
[
|
||||
"solid",
|
||||
"Plné",
|
||||
"",
|
||||
false,
|
||||
"door0"
|
||||
],
|
||||
[
|
||||
"line1",
|
||||
"Jemná linka",
|
||||
"",
|
||||
true,
|
||||
"door1"
|
||||
],
|
||||
[
|
||||
"line2",
|
||||
"Dvě linky",
|
||||
"",
|
||||
true,
|
||||
"door2"
|
||||
],
|
||||
[
|
||||
"slit",
|
||||
"Svislé sklo",
|
||||
"",
|
||||
true,
|
||||
"door3"
|
||||
],
|
||||
[
|
||||
"three",
|
||||
"3 skla",
|
||||
"",
|
||||
true,
|
||||
"requestedDoor"
|
||||
],
|
||||
[
|
||||
"four",
|
||||
"4 skla",
|
||||
"",
|
||||
true,
|
||||
"door5"
|
||||
],
|
||||
[
|
||||
"five",
|
||||
"5 skel",
|
||||
"",
|
||||
true,
|
||||
"door6"
|
||||
],
|
||||
[
|
||||
"wide",
|
||||
"Velké sklo",
|
||||
"",
|
||||
true,
|
||||
"door7"
|
||||
]
|
||||
],
|
||||
"entryColor": [
|
||||
[
|
||||
"3003",
|
||||
"RAL 3003",
|
||||
"#8d1d2c"
|
||||
],
|
||||
[
|
||||
"7012",
|
||||
"RAL 7012",
|
||||
"#575d5e"
|
||||
],
|
||||
[
|
||||
"7016",
|
||||
"RAL 7016",
|
||||
"#383e42"
|
||||
],
|
||||
[
|
||||
"9016",
|
||||
"RAL 9016",
|
||||
"#f1f0ea"
|
||||
]
|
||||
],
|
||||
"extSill": [
|
||||
[
|
||||
"anthracite",
|
||||
"Antracit",
|
||||
"#383e42"
|
||||
],
|
||||
[
|
||||
"white",
|
||||
"Bílá",
|
||||
"#eeefeb"
|
||||
],
|
||||
[
|
||||
"elox",
|
||||
"Elox",
|
||||
"#bfc3c4"
|
||||
],
|
||||
[
|
||||
"silver",
|
||||
"Stříbrná",
|
||||
"#b2b5b5"
|
||||
],
|
||||
[
|
||||
"brown",
|
||||
"Hnědá",
|
||||
"#5c4338",
|
||||
true
|
||||
]
|
||||
],
|
||||
"gutter": [
|
||||
[
|
||||
"015",
|
||||
"015 CERN",
|
||||
"#262b2b"
|
||||
],
|
||||
[
|
||||
"087",
|
||||
"087 TMSE",
|
||||
"#444f52"
|
||||
],
|
||||
[
|
||||
"035",
|
||||
"035 BRSE",
|
||||
"#394c55"
|
||||
],
|
||||
[
|
||||
"434",
|
||||
"434 HNED",
|
||||
"#5a4441"
|
||||
],
|
||||
[
|
||||
"758",
|
||||
"758 TMCE",
|
||||
"#82282d",
|
||||
true
|
||||
],
|
||||
[
|
||||
"742",
|
||||
"742 CICE",
|
||||
"#a34832",
|
||||
true
|
||||
],
|
||||
[
|
||||
"045",
|
||||
"045 SMET",
|
||||
"#aaaeb2",
|
||||
true
|
||||
],
|
||||
[
|
||||
"044",
|
||||
"044 SEME",
|
||||
"#82878b",
|
||||
true
|
||||
]
|
||||
],
|
||||
"roof": [
|
||||
[
|
||||
"chestnut",
|
||||
"Kaštanová",
|
||||
"#6e3930",
|
||||
false,
|
||||
"roof0"
|
||||
],
|
||||
[
|
||||
"brick",
|
||||
"Cihlová",
|
||||
"#934837",
|
||||
false,
|
||||
"roof1"
|
||||
],
|
||||
[
|
||||
"terracotta",
|
||||
"Terakota",
|
||||
"#94402e",
|
||||
false,
|
||||
"roof2"
|
||||
],
|
||||
[
|
||||
"black",
|
||||
"Černá",
|
||||
"#252a2b",
|
||||
false,
|
||||
"roof3"
|
||||
],
|
||||
[
|
||||
"darkgray",
|
||||
"Tmavě šedivá",
|
||||
"#464a48",
|
||||
false,
|
||||
"roof4"
|
||||
]
|
||||
],
|
||||
"blindColor": [
|
||||
[
|
||||
"140H",
|
||||
"140 H",
|
||||
"#e6e7e5"
|
||||
],
|
||||
[
|
||||
"9007",
|
||||
"9007",
|
||||
"#969996"
|
||||
],
|
||||
[
|
||||
"7012",
|
||||
"7012",
|
||||
"#575d5e"
|
||||
],
|
||||
[
|
||||
"7022",
|
||||
"7022",
|
||||
"#4c4a44"
|
||||
],
|
||||
[
|
||||
"7016",
|
||||
"7016",
|
||||
"#383e42"
|
||||
]
|
||||
],
|
||||
"intSill": [
|
||||
[
|
||||
"white",
|
||||
"Bílá",
|
||||
"#edecea",
|
||||
false,
|
||||
"intsill0"
|
||||
],
|
||||
[
|
||||
"gray",
|
||||
"Žíhaná šedá",
|
||||
"#b9b9b5",
|
||||
false,
|
||||
"intsill1"
|
||||
],
|
||||
[
|
||||
"brown",
|
||||
"Žíhaná hnědá",
|
||||
"#b4a692",
|
||||
false,
|
||||
"intsill2"
|
||||
]
|
||||
],
|
||||
"intHandle": [
|
||||
[
|
||||
"square",
|
||||
"Hranatá"
|
||||
],
|
||||
[
|
||||
"round",
|
||||
"Oblá"
|
||||
]
|
||||
],
|
||||
"shower": [
|
||||
[
|
||||
"tray",
|
||||
"S vaničkou"
|
||||
],
|
||||
[
|
||||
"walkin",
|
||||
"Walk-in"
|
||||
]
|
||||
],
|
||||
"kitchenColor": [
|
||||
[
|
||||
"#35463e",
|
||||
"Zelená",
|
||||
"#35463e"
|
||||
],
|
||||
[
|
||||
"#eeeae1",
|
||||
"Krémová",
|
||||
"#eeeae1"
|
||||
],
|
||||
[
|
||||
"#e9e9e5",
|
||||
"Bílá",
|
||||
"#e9e9e5"
|
||||
],
|
||||
[
|
||||
"#b3aaa0",
|
||||
"Kašmír",
|
||||
"#b3aaa0"
|
||||
],
|
||||
[
|
||||
"#686d69",
|
||||
"Šedá",
|
||||
"#686d69"
|
||||
],
|
||||
[
|
||||
"#343a3d",
|
||||
"Antracit",
|
||||
"#343a3d"
|
||||
]
|
||||
],
|
||||
"worktop": [
|
||||
[
|
||||
"oak",
|
||||
"Dřevo",
|
||||
"#b59369"
|
||||
],
|
||||
[
|
||||
"white",
|
||||
"Bílá",
|
||||
"#eeeeea"
|
||||
],
|
||||
[
|
||||
"graphite",
|
||||
"Grafit",
|
||||
"#444946"
|
||||
],
|
||||
[
|
||||
"stone",
|
||||
"Kámen",
|
||||
"#c7c5b9"
|
||||
]
|
||||
],
|
||||
"backsplash": [
|
||||
[
|
||||
"stone",
|
||||
"Světlý kámen",
|
||||
"#c7c5b9"
|
||||
],
|
||||
[
|
||||
"white",
|
||||
"Bílá",
|
||||
"#eaeae5"
|
||||
],
|
||||
[
|
||||
"worktop",
|
||||
"Jako deska",
|
||||
"#b59369"
|
||||
]
|
||||
],
|
||||
"faucet": [
|
||||
[
|
||||
"chrome",
|
||||
"Chrom",
|
||||
"#bec1c1"
|
||||
],
|
||||
[
|
||||
"black",
|
||||
"Černá",
|
||||
"#303434"
|
||||
]
|
||||
],
|
||||
"wallPaint": [
|
||||
[
|
||||
"#ffffff",
|
||||
"HET bílá",
|
||||
"#ffffff"
|
||||
],
|
||||
[
|
||||
"#eeeae1",
|
||||
"Teplá bílá",
|
||||
"#eeeae1"
|
||||
],
|
||||
[
|
||||
"#ded4c7",
|
||||
"Písková",
|
||||
"#ded4c7"
|
||||
],
|
||||
[
|
||||
"#ccd2c5",
|
||||
"Šalvěj",
|
||||
"#ccd2c5"
|
||||
]
|
||||
],
|
||||
"kitchenBodyColor": [
|
||||
[
|
||||
"#35463e",
|
||||
"Zelená",
|
||||
"#35463e"
|
||||
],
|
||||
[
|
||||
"#eeeae1",
|
||||
"Krémová",
|
||||
"#eeeae1"
|
||||
],
|
||||
[
|
||||
"#e9e9e5",
|
||||
"Bílá",
|
||||
"#e9e9e5"
|
||||
],
|
||||
[
|
||||
"#b3aaa0",
|
||||
"Kašmír",
|
||||
"#b3aaa0"
|
||||
],
|
||||
[
|
||||
"#686d69",
|
||||
"Šedá",
|
||||
"#686d69"
|
||||
],
|
||||
[
|
||||
"#343a3d",
|
||||
"Antracit",
|
||||
"#343a3d"
|
||||
]
|
||||
]
|
||||
},
|
||||
"defaults": {
|
||||
"entryModel": "three",
|
||||
"entryColor": "7016",
|
||||
"extSill": "anthracite",
|
||||
"gutter": "015",
|
||||
"roof": "darkgray",
|
||||
"blinds": false,
|
||||
"blindColor": "7016",
|
||||
"blindDrop": 100,
|
||||
"floors": {
|
||||
"101": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"102": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"103": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"104": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"105": {
|
||||
"type": "tile",
|
||||
"sample": 1
|
||||
},
|
||||
"106": {
|
||||
"type": "tile",
|
||||
"sample": 1
|
||||
},
|
||||
"107": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"108": {
|
||||
"type": "lam",
|
||||
"sample": 6
|
||||
},
|
||||
"109": {
|
||||
"type": "tile",
|
||||
"sample": 1
|
||||
}
|
||||
},
|
||||
"wallTile105": 1,
|
||||
"wallTile106": 1,
|
||||
"tileCorner": "profile",
|
||||
"intSill": "white",
|
||||
"wallPaint": "#ffffff",
|
||||
"intDoor": "sample",
|
||||
"intDoorColor": "#c3aa85",
|
||||
"intDoorCode": "",
|
||||
"intDoorType": "hinged",
|
||||
"intHandle": "square",
|
||||
"kitchenColor": "#35463e",
|
||||
"kitchenBodyColor": "#35463e",
|
||||
"worktop": "oak",
|
||||
"backsplash": "stone",
|
||||
"shower": "tray",
|
||||
"faucet": "chrome",
|
||||
"hood": "facade",
|
||||
"fans": true,
|
||||
"aircon": true,
|
||||
"ventilation": "local",
|
||||
"hotWaterCirculation": false,
|
||||
"radiator": "electric",
|
||||
"note": ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user