diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8544f76..52e6267 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -15,6 +15,12 @@ "script": "build_engine_dev", "group": "build", "label": "npm: build_engine_dev" + }, + { + "type": "npm", + "script": "lint", + "group": "build", + "label": "npm: lint" } ] } diff --git a/package.json b/package.json index 7d8c74b..fe16db7 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "scripts": { "start": "http-server", "test": "mocha test", - "lint": "eslint source", + "lint": "eslint source --fix", "docs": "jsdoc -c tools/jsdoc.json", "generate_icon_font": "node tools/run_python.js tools/generate_icon_font.py", "update_engine_exports": "node tools/run_python.js tools/update_engine_exports.py", diff --git a/sandbox/embed_selfhost_externallibs.html b/sandbox/embed_selfhost_externallibs.html index 98058c9..e5f6360 100644 --- a/sandbox/embed_selfhost_externallibs.html +++ b/sandbox/embed_selfhost_externallibs.html @@ -33,12 +33,12 @@
+ environmentmap="../website/assets/envmaps/fishermans_bastion/posx.jpg,../website/assets/envmaps/fishermans_bastion/negx.jpg,../website/assets/envmaps/fishermans_bastion/posy.jpg,../website/assets/envmaps/fishermans_bastion/negy.jpg,../website/assets/envmaps/fishermans_bastion/posz.jpg,../website/assets/envmaps/fishermans_bastion/negz.jpg">
+ environmentmap="../website/assets/envmaps/fishermans_bastion/posx.jpg,../website/assets/envmaps/fishermans_bastion/negx.jpg,../website/assets/envmaps/fishermans_bastion/posy.jpg,../website/assets/envmaps/fishermans_bastion/negy.jpg,../website/assets/envmaps/fishermans_bastion/posz.jpg,../website/assets/envmaps/fishermans_bastion/negz.jpg">
+ environmentmap="../website/assets/envmaps/fishermans_bastion/posx.jpg,../website/assets/envmaps/fishermans_bastion/negx.jpg,../website/assets/envmaps/fishermans_bastion/posy.jpg,../website/assets/envmaps/fishermans_bastion/negy.jpg,../website/assets/envmaps/fishermans_bastion/posz.jpg,../website/assets/envmaps/fishermans_bastion/negz.jpg">
+ environmentmap="../website/assets/envmaps/fishermans_bastion/posx.jpg,../website/assets/envmaps/fishermans_bastion/negx.jpg,../website/assets/envmaps/fishermans_bastion/posy.jpg,../website/assets/envmaps/fishermans_bastion/negy.jpg,../website/assets/envmaps/fishermans_bastion/posz.jpg,../website/assets/envmaps/fishermans_bastion/negz.jpg" + environmentmapbg="true">
diff --git a/source/engine/viewer/embeddedviewer.js b/source/engine/viewer/embeddedviewer.js index c91e421..97fd91a 100644 --- a/source/engine/viewer/embeddedviewer.js +++ b/source/engine/viewer/embeddedviewer.js @@ -162,14 +162,18 @@ export function Init3DViewerElements (onReady) } let environmentSettings = null; - let environmentSettingsParams = element.getAttribute ('environmentsettings'); - if (environmentSettingsParams) { - let environmentSettingsParts = environmentSettingsParams.split (','); - if (environmentSettingsParts.length === 6) { - // TODO: background is env map + let environmentMapParams = element.getAttribute ('environmentmap'); + if (environmentMapParams) { + let environmentMapParts = environmentMapParams.split (','); + if (environmentMapParts.length === 6) { + let backgroundIsEnvMap = false; + let backgroundIsEnvMapParam = element.getAttribute ('environmentmapbg'); + if (backgroundIsEnvMapParam && backgroundIsEnvMapParam === 'true') { + backgroundIsEnvMap = true; + } environmentSettings = { - environmentMap : environmentSettingsParts, - backgroundIsEnvMap : false + environmentMap : environmentMapParts, + backgroundIsEnvMap : backgroundIsEnvMap }; } } diff --git a/source/website/featureset.js b/source/website/featureset.js index cfd2ced..c2ea5c3 100644 --- a/source/website/featureset.js +++ b/source/website/featureset.js @@ -1,5 +1,6 @@ export const FeatureSet = { ShowGrid : false, - MeasureTool : false + MeasureTool : false, + EnvironmentMap : false }; diff --git a/source/website/sharingdialog.js b/source/website/sharingdialog.js index c490476..d05b68b 100644 --- a/source/website/sharingdialog.js +++ b/source/website/sharingdialog.js @@ -95,7 +95,7 @@ export function ShowSharingDialog (fileList, settings, camera) HandleEvent ('model_shared', 'embedding_code'); return GetEmbeddingCode (modelFiles, useCurrentSettings, settings, camera); }); - AddCheckboxLine (optionsSection, 'Use current settings instead of defaults', 'embed_current_settings', (checked) => { + AddCheckboxLine (optionsSection, 'Use customized settings', 'embed_current_settings', (checked) => { useCurrentSettings = checked; embeddingCodeInput.value = GetEmbeddingCode (modelFiles, useCurrentSettings, settings, camera); }); diff --git a/source/website/sidebarsettingspanel.js b/source/website/sidebarsettingspanel.js index 8079949..c85a3af 100644 --- a/source/website/sidebarsettingspanel.js +++ b/source/website/sidebarsettingspanel.js @@ -1,6 +1,7 @@ import { Color, ColorToHexString } from '../engine/model/color.js'; import { AddDiv, AddDomElement, AddRangeSlider, AddToggle, AddCheckbox, ShowDomElement, SetDomElementOuterHeight } from '../engine/viewer/domutils.js'; import { CalculatePopupPositionToElementTopLeft } from './dialogs.js'; +import { FeatureSet } from './featureset.js'; import { PopupDialog } from './modal.js'; import { Settings, Theme } from './settings.js'; import { SidebarPanel } from './sidebarpanel.js'; @@ -154,17 +155,19 @@ class SettingsModelDisplaySection extends SettingsSection Init (settings, callbacks) { - this.environmentMapButton = AddDiv (this.contentDiv, 'ov_panel_button'); - AddSvgIconElement (this.environmentMapButton, 'arrow_left', 'ov_panel_button_left_icon'); - AddDiv (this.environmentMapButton, 'ov_panel_button_text', 'Environment Map'); - this.environmentMapButton.addEventListener ('click', () => { - this.environmentMapPopup = new EnvironmentMapPopup (); - this.environmentMapPopup.ShowPopup (this.environmentMapButton, settings, { - onEnvironmentMapChange : () => { - callbacks.onEnvironmentMapChange (); - } + if (FeatureSet.EnvironmentMap) { + this.environmentMapButton = AddDiv (this.contentDiv, 'ov_panel_button'); + AddSvgIconElement (this.environmentMapButton, 'arrow_left', 'ov_panel_button_left_icon'); + AddDiv (this.environmentMapButton, 'ov_panel_button_text', 'Environment Map'); + this.environmentMapButton.addEventListener ('click', () => { + this.environmentMapPopup = new EnvironmentMapPopup (); + this.environmentMapPopup.ShowPopup (this.environmentMapButton, settings, { + onEnvironmentMapChange : () => { + callbacks.onEnvironmentMapChange (); + } + }); }); - }); + } let backgroundColorDiv = AddDiv (this.contentDiv, 'ov_sidebar_parameter'); let backgroundColorInput = AddDiv (backgroundColorDiv, 'ov_color_picker'); @@ -216,7 +219,9 @@ class SettingsModelDisplaySection extends SettingsSection UpdateVisibility (isPhysicallyBased) { - ShowDomElement (this.environmentMapButton, isPhysicallyBased); + if (this.environmentMapButton !== null) { + ShowDomElement (this.environmentMapButton, isPhysicallyBased); + } } Update (settings)