diff --git a/engine/CHANGELOG.md b/engine/CHANGELOG.md index d677d1df..8c24fcda 100644 --- a/engine/CHANGELOG.md +++ b/engine/CHANGELOG.md @@ -1,3 +1,9 @@ +# @wwtelescope/engine 7.28.1 (2023-07-01) + +- Make sure that annotations properly rerender after their opacity is changed + (#259, @Carifio24). + + # @wwtelescope/engine 7.28.0 (2023-06-26) - Add support for rotating the view with two-finger touch gestures (#257, @Carifio24). diff --git a/engine/package.json b/engine/package.json index 9f241eae..574a1c54 100644 --- a/engine/package.json +++ b/engine/package.json @@ -58,5 +58,5 @@ "uglify": "uglifyjs src/index.js -c -o src/index.min.js" }, "types": "./src/index.d.ts", - "version": "7.28.0" + "version": "7.28.1" } diff --git a/engine/wwtlib/Annotation.cs b/engine/wwtlib/Annotation.cs index e22f2ee0..ae2f3a2a 100644 --- a/engine/wwtlib/Annotation.cs +++ b/engine/wwtlib/Annotation.cs @@ -97,7 +97,11 @@ public static double Separation(double Alpha1, double Delta1, double Alpha2, dou public double Opacity { get { return opacity; } - set { opacity = value; } + set + { + Annotation.BatchDirty = true; + opacity = value; + } } string id; diff --git a/research-app/CHANGELOG.md b/research-app/CHANGELOG.md index 3a960a05..460248c8 100644 --- a/research-app/CHANGELOG.md +++ b/research-app/CHANGELOG.md @@ -1,3 +1,11 @@ +# @wwtelescope/research-app 0.15.0 (2023-07-01) + +- Allow some grid overlay colors to be modified through JSON messages (#258, + @Carifio24). In particular, `altAzGridColor`, `eclipticColor`, + `eclipticGridColor`, `equatorialGridColor`, `galacticGridColor`, and + `precessionChartColor` are now handled as engine settings. + + # @wwtelescope/research-app 0.14.4 (2023-06-08) - Also ensure that catalog layer info is not a proxy (#253, @Carifio24). diff --git a/research-app/package.json b/research-app/package.json index 0f8176ca..81f436c6 100644 --- a/research-app/package.json +++ b/research-app/package.json @@ -69,5 +69,5 @@ "lint": "vue-cli-service lint src", "serve": "vue-cli-service serve" }, - "version": "0.14.4" + "version": "0.15.0" } diff --git a/research-app/src/App.vue b/research-app/src/App.vue index 1339989b..87c048af 100644 --- a/research-app/src/App.vue +++ b/research-app/src/App.vue @@ -426,6 +426,8 @@ import { } from "@wwtelescope/research-app-messages"; import { + convertEngineSetting, + isResearchAppEngineSetting, convertPywwtSpreadSheetLayerSetting, convertSpreadSheetLayerSetting, } from "./settings"; @@ -1970,9 +1972,10 @@ const App = defineComponent({ const setting: [string, any] = [msg.setting, msg.value]; - if (!isEngineSetting(setting)) return false; + if (!isResearchAppEngineSetting(setting)) return false; + const convertedSetting = convertEngineSetting(setting); - this.applySetting(setting); + this.applySetting(convertedSetting); return true; }, diff --git a/research-app/src/settings.ts b/research-app/src/settings.ts index 83fb4d83..681b511a 100644 --- a/research-app/src/settings.ts +++ b/research-app/src/settings.ts @@ -7,7 +7,9 @@ import { AltTypes, AltUnits, + BaseEngineSetting, CoordinatesType, + isBaseEngineSetting, MarkerScales, PlotTypes, PointScaleTypes, @@ -16,6 +18,7 @@ import { import { Color, + EngineSetting, SpreadSheetLayer, SpreadSheetLayerSetting, } from "@wwtelescope/engine"; @@ -24,6 +27,31 @@ import { classicPywwt, } from "@wwtelescope/research-app-messages"; + +export type ResearchAppEngineSetting = BaseEngineSetting | + ["altAzGridColor", string] | + ["eclipticColor", string] | + ["eclipticGridColor", string] | + ["equatorialGridColor", string] | + ["galacticGridColor", string] | + ["precessionChartColor", string]; + +const researchAppEngineSettingTypeInfo = { + "altAzGridColor/string": true, + "eclipticColor/string": true, + "eclipticGridColor/string": true, + "equatorialGridColor/string": true, + "galacticGridColor/string": true, + "precessionChartColor/string": true, +}; + +export function isResearchAppEngineSetting(obj: [string, any]): obj is ResearchAppEngineSetting { // eslint-disable-line @typescript-eslint/no-explicit-any + if (isBaseEngineSetting(obj)) return true; + + const key = obj[0] + "/" + typeof obj[1]; + return (key in researchAppEngineSettingTypeInfo); +} + function colValToIndex(layer: SpreadSheetLayer, colval: number | string): number { if (typeof colval === "number") return colval; @@ -136,4 +164,22 @@ export function convertSpreadSheetLayerSetting(setting: SpreadSheetLayerSetting) } return setting; -} \ No newline at end of file +} + +export function convertEngineSetting(setting: ResearchAppEngineSetting): EngineSetting { + if (setting[0] == "altAzGridColor") { + return [setting[0], Color.load(setting[1])]; + } else if (setting[0] == "eclipticColor") { + return [setting[0], Color.load(setting[1])]; + } else if (setting[0] == "eclipticGridColor") { + return [setting[0], Color.load(setting[1])]; + } else if (setting[0] == "equatorialGridColor") { + return [setting[0], Color.load(setting[1])]; + } else if (setting[0] == "galacticGridColor") { + return [setting[0], Color.load(setting[1])]; + } else if (setting[0] == "precessionChartColor") { + return [setting[0], Color.load(setting[1])]; + } + + return setting; +}