From d4c3504c8db2b74e381e1c7a542ef9f1fc8e386e Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Sat, 14 Dec 2019 23:12:54 -0500 Subject: [PATCH 1/5] Updated about dialog (old logo still there), application name, and readme.md --- README.md | 34 +++++++++++++------ .../qml/hifi/dialogs/TabletAboutDialog.qml | 13 +------ interface/src/Application.cpp | 2 +- interface/src/Menu.cpp | 3 +- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 34c05867a7..41e8dcdd77 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# HiFi Community Edition +# Project Athena -### [Download v0.86.0 K1 (Windows 64-bit, .zip)](https://realities.dev/cdn/hifi-community/v0860-kasen-VS-release+freshstart/Packaged_Release.zip) +### [Download ALPHA-DEV v0.86.0 K1 (Windows 64-bit, .zip)](https://realities.dev/cdn/hifi-community/v0860-kasen-VS-release+freshstart/Packaged_Release.zip) + +This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. #### Changes for **v0.86.0** consist of: @@ -15,13 +17,23 @@ #### Added in K2 (TBD) -* QML Interface to access and save whitelist live to interface.json. -* Add "VideoDecodeStats" to .gitignore. -* Fix VCPKG SDL2 to port files from 2.0.8 to 2.0.10 to fix CMake build issues. -* Added Github link to "About High Fidelity". +##### Features * Removed environment variable requirement for "procedural shader materials". +* QML Interface to access, save, and load whitelist live from interface.json. +* QML whitelist now allows external QML scripts when full URL to the file is given in the list. +* Added procedural vertex shader support. https://github.com/kasenvr/hifi-community/pull/15 +* glTF AlphaModes are now supported. https://github.com/kasenvr/hifi-community/pull/15 +* Material entities can specify face culling method. https://github.com/kasenvr/hifi-community/pull/15 +* gLTF double-sided property is now supported. https://github.com/kasenvr/hifi-community/pull/15 -This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. +##### Bugs and Housekeeping +* Add "VideoDecodeStats" to .gitignore. +* Added Github link to "About High Fidelity" and removed High Fidelity's link, updated the support link. +* Fix VCPKG SDL2 to port files from 2.0.8 to 2.0.10 to fix CMake build issues. +* Fix wearables not disappearing with avatar. https://github.com/kasenvr/hifi-community/pull/15 + +##### Server +* Added custom support selection which allows for multi-server deployment on the same operating system. https://github.com/kasenvr/hifi-community/pull/15 ### Whitelist Instructions @@ -58,7 +70,7 @@ Too many of us have our own personal combinations of High Fidelity from C++ modi The goal of this repo is to give a common area to PR the very best of our findings and creations so that we may effectively take each necessary step towards our common goal of living in a true metaverse. -### Why High Fidelity? +### Why High Fidelity's Engine? Because of all the options, it is the only starting point that is open-source, cross-platform, fully VR integrated + fully desktop integrated with an aim for quality visuals and performance. It also does us the service of providing a foundation to start from such as entity management, full body IK, etc. @@ -68,6 +80,8 @@ Platforms like NeosVR or VRChat are unusable from go due to their fundamental cl So the necessary desire is to use High Fidelity as our foundation as a community of one, of all to build a metaverse worth living in. -### Contributors +### Contribution -A special thanks to the contributors of the community edition. +A special thanks to the contributors of the Project Athena. + +[Contribution & Governance Model](CONTRIBUTING.md) diff --git a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml index 4d57d7074c..91e40aa608 100644 --- a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml +++ b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml @@ -53,18 +53,7 @@ Rectangle { textFormat: Text.StyledText linkColor: "#00B4EF" color: "white" - text: "www.highfidelity.com." - size: 20 - onLinkActivated: { - HiFiAbout.openUrl("https:/www.highfidelity.com"); - } - - } - RalewayRegular { - textFormat: Text.StyledText - linkColor: "#00B4EF" - color: "white" - text: "HiFi Community Github." + text: "Project Athena Github." size: 20 onLinkActivated: { HiFiAbout.openUrl("https:/github.com/kasenvr/hifi-community"); diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 9c60139d06..d49520cb87 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -7029,7 +7029,7 @@ void Application::updateWindowTitle() const { auto accountManager = DependencyManager::get(); auto isInErrorState = nodeList->getDomainHandler().isInErrorState(); - QString buildVersion = " - Kasen Community Edition v0.86.0 K2 - " + QString buildVersion = " - Project Athena v0.86.0 K2 - " + (BuildInfo::BUILD_TYPE == BuildInfo::BuildType::Stable ? QString("Version") : QString("Build")) + " " + applicationVersion(); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 9bc1dae56e..b57675fb62 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -772,6 +772,7 @@ Menu::Menu() { // Help > About High Fidelity action = addActionToQMenuAndActionHash(helpMenu, "About High Fidelity"); connect(action, &QAction::triggered, [] { + DependencyManager::get()->clearCache(); qApp->showDialog(QString("hifi/dialogs/AboutDialog.qml"), QString("hifi/dialogs/TabletAboutDialog.qml"), "AboutDialog"); }); @@ -808,7 +809,7 @@ Menu::Menu() { // Help > Report a Bug! action = addActionToQMenuAndActionHash(helpMenu, "Report a Bug!"); connect(action, &QAction::triggered, qApp, [] { - QDesktopServices::openUrl(QUrl("mailto:support@highfidelity.com")); + QDesktopServices::openUrl(QUrl("https://github.com/kasenvr/hifi-community/issues")); }); } From 83e9b891d87774e631f27a5b3261332a4e874d6f Mon Sep 17 00:00:00 2001 From: Fluffy Jenkins Date: Thu, 19 Dec 2019 23:31:10 +0000 Subject: [PATCH 2/5] Workaround for Secondary camera crash --- libraries/render/src/render/CullTask.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/render/src/render/CullTask.cpp b/libraries/render/src/render/CullTask.cpp index 068d6f9851..8cedbc7f3e 100644 --- a/libraries/render/src/render/CullTask.cpp +++ b/libraries/render/src/render/CullTask.cpp @@ -130,6 +130,10 @@ void FetchSpatialTree::configure(const Config& config) { } void FetchSpatialTree::run(const RenderContextPointer& renderContext, const Inputs& inputs, ItemSpatialTree::ItemSelection& outSelection) { + if (!renderContext){ + return; + } + // start fresh outSelection.clear(); @@ -142,6 +146,10 @@ void FetchSpatialTree::run(const RenderContextPointer& renderContext, const Inpu RenderArgs* args = renderContext->args; auto& scene = renderContext->_scene; + if (!args) { + return; + } + auto queryFrustum = args->getViewFrustum(); // Eventually use a frozen frustum if (_freezeFrustum) { From 4856dd07fc9a6d1d9507dd0003f40089232420b1 Mon Sep 17 00:00:00 2001 From: Nex-Pro Date: Wed, 25 Dec 2019 00:20:36 +0000 Subject: [PATCH 3/5] Update interface window title Change window title from "High Fidelity" to "Project Athena" --- interface/src/Application.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index dd9a10a237..fdbf309f88 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1158,7 +1158,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-SemiBold.ttf"); QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-Regular.ttf"); QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-Medium.ttf"); - _window->setWindowTitle("High Fidelity"); + _window->setWindowTitle("Project Athena"); Model::setAbstractViewStateInterface(this); // The model class will sometimes need to know view state details from us From 683f790fc240d0df4cbfeb5b4d9adb053d221162 Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Tue, 24 Dec 2019 19:42:10 -0500 Subject: [PATCH 4/5] updated readme for cleanliness. --- README.md | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 41e8dcdd77..be317e4371 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. -#### Changes for **v0.86.0** consist of: - -#### Added in K1 (12/3/19) +#### v0.86.0 K1 (12/3/19) * Audio Buffer choppy audio bugfix by increasing the buffer size. * User Activity Logger disabled, option in code to log the reports to console. @@ -15,25 +13,10 @@ This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. * Entity Script Whitelist, no scripts are whitelisted by default. * Background CMD outputs full log, instant close of application on closing of the CMD-line. -#### Added in K2 (TBD) +#### v0.86.0 K2 (TBD) -##### Features -* Removed environment variable requirement for "procedural shader materials". -* QML Interface to access, save, and load whitelist live from interface.json. -* QML whitelist now allows external QML scripts when full URL to the file is given in the list. -* Added procedural vertex shader support. https://github.com/kasenvr/hifi-community/pull/15 -* glTF AlphaModes are now supported. https://github.com/kasenvr/hifi-community/pull/15 -* Material entities can specify face culling method. https://github.com/kasenvr/hifi-community/pull/15 -* gLTF double-sided property is now supported. https://github.com/kasenvr/hifi-community/pull/15 - -##### Bugs and Housekeeping -* Add "VideoDecodeStats" to .gitignore. -* Added Github link to "About High Fidelity" and removed High Fidelity's link, updated the support link. -* Fix VCPKG SDL2 to port files from 2.0.8 to 2.0.10 to fix CMake build issues. -* Fix wearables not disappearing with avatar. https://github.com/kasenvr/hifi-community/pull/15 - -##### Server -* Added custom support selection which allows for multi-server deployment on the same operating system. https://github.com/kasenvr/hifi-community/pull/15 +##### Features, Bugs, and Housekeeping +Check out the releases page for more information! ### Whitelist Instructions @@ -43,15 +26,7 @@ The Interface has the whitelist settings under "**Settings -> Entity Script Whit Do not use spaces or commas in the whitelist interface, you will only separate by commas and not new lines in the environment variables. -It is recommended that you add High Fidelity's CDN URLs ahead of time to ensure general content works right off the bat: - -``` -http://mpassets.highfidelity.com/ -https://raw.githubusercontent.com/highfidelity/ -https://hifi-content.s3.amazonaws.com/ -``` - -You can also set the Windows environment variable "**EXTRA_WHITELIST**" with your whitelisted domains comma separated like so: "**https://kasen.io/,http://kasen.io/,https://exampledomain.com/scriptFolder/**" +You can also set the Windows environment variable "**EXTRA_WHITELIST**" with your whitelisted domains comma separated like so: "**http://mpassets.highfidelity.com/,https://raw.githubusercontent.com/highfidelity/,https://hifi-content.s3.amazonaws.com/**" Alternatively you can make a batch file placed in the same folder as interface.exe that sets the whitelist environment variable temporarily: @@ -62,7 +37,8 @@ interface.exe ### How to build interface.exe -[For Windows](https://github.com/kasenvr/hifi-community/blob/kasen/core/BUILD_WIN.md) +[For Windows](https://github.com/kasenvr/project-athena/blob/kasen/core/BUILD_WIN.md) +[For Linux](https://github.com/kasenvr/project-athena/blob/kasen/core/BUILD_LINUX.md) ### Boot to Metaverse: The Goal @@ -84,4 +60,4 @@ So the necessary desire is to use High Fidelity as our foundation as a community A special thanks to the contributors of the Project Athena. -[Contribution & Governance Model](CONTRIBUTING.md) +[Contribution](CONTRIBUTING.md) From 7489505f998e4fda6266584fd43aee3900b0c315 Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Thu, 26 Dec 2019 22:27:58 -0500 Subject: [PATCH 5/5] Updated whitelist info and name to include QML. --- ...tityScriptWhitelist.qml => EntityScriptQMLWhitelist.qml} | 6 ++++-- interface/src/Menu.cpp | 6 ++---- interface/src/Menu.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) rename interface/resources/qml/hifi/dialogs/security/{EntityScriptWhitelist.qml => EntityScriptQMLWhitelist.qml} (95%) diff --git a/interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml similarity index 95% rename from interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml rename to interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml index e5c3c10176..aa30b5d014 100644 --- a/interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml +++ b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml @@ -1,5 +1,5 @@ // -// ScriptWhitelist.qml +// EntityScriptQMLWhitelist.qml // interface/resources/qml/hifi/dialogs/security // // Created by Kasen IO on 2019.12.05 | realities.dev | kasenvr@gmail.com @@ -145,7 +145,9 @@ Rectangle { https://google.com/ https://bing.com/ https://mydomain.here/ - \nEnsure there are no spaces or whitespace." + \nEnsure there are no spaces or whitespace. + \nFor QML files, you can only whitelist each file individually + ending with '.qml'." // Text size size: 16; // Style diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index b57675fb62..1be67ef188 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -288,13 +288,12 @@ Menu::Menu() { }); // Settings > Entity Script Whitelist - action = addActionToQMenuAndActionHash(settingsMenu, "Entity Script Whitelist"); + action = addActionToQMenuAndActionHash(settingsMenu, "Entity Script / QML Whitelist"); connect(action, &QAction::triggered, [] { auto tablet = DependencyManager::get()->getTablet("com.highfidelity.interface.tablet.system"); auto hmd = DependencyManager::get(); - DependencyManager::get()->clearCache(); - tablet->pushOntoStack("hifi/dialogs/security/EntityScriptWhitelist.qml"); + tablet->pushOntoStack("hifi/dialogs/security/EntityScriptQMLWhitelist.qml"); if (!hmd->getShouldShowTablet()) { hmd->toggleShouldShowTablet(); @@ -772,7 +771,6 @@ Menu::Menu() { // Help > About High Fidelity action = addActionToQMenuAndActionHash(helpMenu, "About High Fidelity"); connect(action, &QAction::triggered, [] { - DependencyManager::get()->clearCache(); qApp->showDialog(QString("hifi/dialogs/AboutDialog.qml"), QString("hifi/dialogs/TabletAboutDialog.qml"), "AboutDialog"); }); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 37b3f971fc..1d6c010a05 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -181,7 +181,7 @@ namespace MenuOption { const QString RunningScripts = "Running Scripts..."; const QString RunTimingTests = "Run Timing Tests"; const QString ScriptedMotorControl = "Enable Scripted Motor Control"; - const QString EntityScriptWhitelist = "Entity Script Whitelist"; + const QString EntityScriptQMLWhitelist = "Entity Script / QML Whitelist"; const QString ShowTrackedObjects = "Show Tracked Objects"; const QString SelfieCamera = "Selfie"; const QString SendWrongDSConnectVersion = "Send wrong DS connect version";