diff --git a/README.md b/README.md index b9c8e56aa0..3a6135d588 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,13 @@ If you're a developer who wants to contribute to Synthesis, you're in the right - [Fission (Core Web App)](/fission/README.md) - [Fusion Exporter (Fusion exporter to Mirabuf file format)](/exporter/SynthesisFusionAddin/README.md) -- [Installers](/installer/) +- [Fusion Exporter Installer](/installer/) Follow the above links to the respective READMEs on how to build and run each component. ### Compatibility Notes -As Fusion is not supported on linux, the linux installer does not come with the Fusion Addin for exporting robots and fields. +As Fusion is not officially supported on Linux, we do not provide an installer for the Fusion Exporter on Linux. ## Contributing diff --git a/installer/Linux/.gitignore b/installer/Linux/.gitignore deleted file mode 100644 index 2bdd6e8d6c..0000000000 --- a/installer/Linux/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -Synthesis.AppDir/usr/bin/* -Synthesis.AppDir/fields/* -Synthesis.AppDir/robots/* - -*.md5 -*.AppImage diff --git a/installer/Linux/README.md b/installer/Linux/README.md deleted file mode 100644 index 46e539d52a..0000000000 --- a/installer/Linux/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# `>_` Synthesis App Image - -For running Synthesis we have decided to package our application as an AppImage. It allows Synthesis to be packaged as a single .AppImage file. This also allows for users to run Synthesis without needing a specific distribution. - -### Initial Setup ### -It is recommended that you update the packages on your system. For arch users, run `pacman -Syu` as root. Debian users can run `apt update && apt upgrade` as root. - -### Dependencies ### -Certain dependencies are necessary in order to package Synthesis as an AppImage. - -##### FUSE ##### -For Arch, you may need to run: `pacman -S fuse` as root. For Debian, run: `apt install fuse` as root. -If you are still encountering issues, refer to this page: https://docs.appimage.org/user-guide/troubleshooting/fuse.html#ref-install-fuse - -##### appimagetool ##### -You will also end up needing appimagetool to actually create the AppImage file. However the `package.sh` script will prompt you and install it automatically. If you wish to install in manually, download the latest release from here: https://github.com/AppImage/AppImageKit/releases and make it executable. It should be called appimagetool-$ARCH.AppImage ($ARCH = whatever architecture you are using to package synthesis; most likely x86_64). - -### Initial Setup ### -In order to acheive the proper package structure for proper extraction, you must first compile a Unity build as: `Synthesis.x86_64` and store it along with all other files and directories that came with it somewhere on your machine. - -Note: It is important that you do not modify or remove any of the files and folders that come built with the `Synthesis.x86_64` file. - -It is also strongly recommended that you have some fields and robots exported in the Mirabuf format. - -### Packaging ### -The recommended way of creating the AppImage is by using the `package.sh` script. You may also opt to package Synthesis manually. There is some documentation for that process but it is recommended that you have a good understanding of what you are doing if you choose this option. - -To run the script, you will likely need to make it executable by running: `chmod +x package.sh` in your preferred terminal. You may also right click on `package.sh` in a file browser and select the option to make it executable. - -Now run the script and specify input directories for the version of synthesis you compiled as well as fields and robots: `./init.sh -f /path/to/fields/ -r /path/to/robots/ -b /path/to/synthesis/` - -Note: While it is not strictly necessary to include fields and robots, it is strongly recommended to include at least one of each - -If it is not already installed, the script will ask to install appimagetool. We recommended answering yes as it will install appimagetool.AppImage to the `~/Applications/` directory and is necessary for creating AppImage files. - -### Installing appimagetool ### -appimagetool is the name of the program that is used to create AppImages. You can download and install appimagetool through the official website https://appimage.github.io/appimagetool/ or get it through your distribution's package manager. - -Note: appimagetool is usually packaged under AppImageKit rather than as a standalone application. - -### Manual Packaging ### - -##### File locations ##### -Certain files must be moved to the correct locations. First you should move any robot files to `Synthesis.AppDir/robots` (create it if it doesn't exist). Do the same for field files but put them in `Synthesis.AppDir/fields` (create it if it doesn't exist). Finally, move all files and directories in your Synthesis build directory into `Synthesis.AppDir/usr/bin/` (once again, create it if it doesn't exist). - -##### Creating The AppImage ##### -Finally you can create your AppImage! Make sure you have all dependencies installed and run: `ARCH=x86_64 appimagetool Synthesis.AppDir` which will create the Synthesis AppImage. - -Note: Run this instead if you installed appimagetool locally: `ARCH=x86_64 /path/to/appimagetool Synthesis.AppDir` - -### Final Note ### -When the end user is downloading the AppImage file, it is strongly recommended to have them put it in the `~/Applications/` directory. This allows it to be found by appimaged as well as itself when running uninstall. It is also recommended to allow them to download the checksum.md5 file so that the file integrity can be verified using `md5sum -c checksum.md5` in the same directory as the AppImage and md5 files. - -### Troubleshooting ### -Refer to the AppImage troubleshooting page first if you are having issues: https://docs.appimage.org/user-guide/troubleshooting/index.html -The general documentation may be of use as well: https://docs.appimage.org/index.html -If the issues persist, open a github issue with details about the problem. - diff --git a/installer/Linux/Synthesis.AppDir/.DirIcon b/installer/Linux/Synthesis.AppDir/.DirIcon deleted file mode 120000 index 8c7bb9a13f..0000000000 --- a/installer/Linux/Synthesis.AppDir/.DirIcon +++ /dev/null @@ -1 +0,0 @@ -synthesis.png \ No newline at end of file diff --git a/installer/Linux/Synthesis.AppDir/AppRun b/installer/Linux/Synthesis.AppDir/AppRun deleted file mode 100755 index da2da947f5..0000000000 --- a/installer/Linux/Synthesis.AppDir/AppRun +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -show_help() { - echo "-h display help message" - echo "-u run uninstall script" -} - -install_appimaged() { - mkdir -p ~/Applications - wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases -O - | grep "appimaged-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2) -P ~/Applications/ - chmod +x ~/Applications/appimaged-*.AppImage - - # Launch - ~/Applications/appimaged-*.AppImage & -} - -uninstall_synthesis() { - rm -R ~/.config/Autodesk/Synthesis/ - if [ -e ~/Applications/Synthesis*.AppImage ] - then - rm ~/Applications/Synthesis*.AppImage - fi - if [ -e ~/Applications/appimaged-*.AppImage ] - then - while true; do - read -p "Do You wish to try and uninstall appimaged? (recommended) (y/n): " yn - case $yn in - [Yy]* ) - rm ~/Applications/appimaged-*.AppImage - break - ;; - [Nn]* ) - break - ;; - * ) - echo "Please answer yes or no." - ;; - esac - done - fi -} - -run_synthesis() { - mkdir -p ~/.config/Autodesk/Synthesis/Mira/Fields - cp "$HERE/fields/"*.mira ~/.config/Autodesk/Synthesis/Mira/Fields - cp "$HERE/robots/"*.mira ~/.config/Autodesk/Synthesis/Mira/ - - if [ ! -e ~/Applications/appimaged-*.AppImage ] - then - while true; do - read -p "Do You wish to install and start appimaged? (recommended) (y/n): " yn - case $yn in - [Yy]* ) - install_appimaged; - break - ;; - [Nn]* ) - break - ;; - * ) - echo "Please answer yes or no." - ;; - esac - done - fi - - exec "$EXEC" -} - -HERE="$(dirname "$(readlink -f "${0}")")" -EXEC="$HERE/usr/bin/Synthesis.x86_64" - -OPTIND=1 -while getopts ":hu" opt; do - case "$opt" in - h|\?) - show_help - exit 0 - ;; - u) - uninstall_synthesis - exit 0 - ;; - esac -done - -shift $((OPTIND-1)) - -run_synthesis diff --git a/installer/Linux/Synthesis.AppDir/synthesis.desktop b/installer/Linux/Synthesis.AppDir/synthesis.desktop deleted file mode 100755 index 424ddebffb..0000000000 --- a/installer/Linux/Synthesis.AppDir/synthesis.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=Synthesis -Exec=Synthesis.x86_64 -Icon=synthesis -Type=Application -Categories=Game diff --git a/installer/Linux/Synthesis.AppDir/synthesis.png b/installer/Linux/Synthesis.AppDir/synthesis.png deleted file mode 100644 index 35f6df0736..0000000000 Binary files a/installer/Linux/Synthesis.AppDir/synthesis.png and /dev/null differ diff --git a/installer/Linux/package.sh b/installer/Linux/package.sh deleted file mode 100755 index 8a584f90a1..0000000000 --- a/installer/Linux/package.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/sh - -# run before with path to a compiled build as well as robots and fields directory -# also allow user to specify version - -show_help() { - echo "-h display help message" - echo "-f specify the input directory for fields" - echo "-r specify the input directory for robots" - echo "-b specify the build directory of synthesis" -} - -install_appimagetool() { - mkdir -p ~/Applications/ - wget -c https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -P ~/Applications/ - chmod +x ~/Applications/appimagetool-x86_64.AppImage -} - -create_appimage() { - ~/Applications/appimagetool-x86_64.AppImage $APP_DIR - md5sum $INIT_DIR/Synthesis-x86_64.AppImage > $INIT_DIR/checksum.md5 - md5sum -c $INIT_DIR/checksum.md5 -} - -OPTIND=1 - -ARCH="x86_64" -APP_NAME="Synthesis" -INIT_DIR="$(dirname "$(readlink -f "${0}")")" -APP_DIR="$INIT_DIR/$APP_NAME.AppDir" - -mkdir -p "$APP_DIR/usr/bin/" -mkdir -p "$APP_DIR/fields" -mkdir -p "$APP_DIR/robots" - -while getopts "h?f:r:b:" opt; do - case "$opt" in - h|\?) - show_help - exit 0 - ;; - f) - fields="$OPTARG" - ;; - r) - robots="$OPTARG" - ;; - b) - build="$OPTARG" - ;; - esac -done - -shift $((OPTIND-1)) - -if [ ! -n "$build" ] ; then - echo "Specify synthesis build directory using \"-b\"" - exit 1 -fi - -if [ -n "$fields" ] ; then - cp "$fields/"*.mira "$APP_DIR/fields/" -fi - -if [ -n "$robots" ] ; then - cp "$robots/"*.mira "$APP_DIR/robots/" -fi - -cp -R "$build/"* "$APP_DIR/usr/bin" -chmod +x "$APP_DIR/AppRun" -chmod +x "$APP_DIR/synthesis.desktop" -chmod +x "$APP_DIR/usr/bin/Synthesis.x86_64" - -if [ ! -e ~/Applications/appimagetool-*.AppImage ] ; then - while true; do - read -p "Do you wish to install appimagetool (Needed for creating the AppImage file) (y/n): " yn - case $yn in - [Yy]* ) - install_appimagetool - break - ;; - [Nn]* ) - break - ;; - * ) - echo "Please answer yes or no." - ;; - esac - done -fi - -if [ -e ~/Applications/appimagetool-x86_64.AppImage ] ; then - create_appimage -else - echo "Install appimagetool before creating AppImage" -fi diff --git a/installer/OSX-DMG/.gitignore b/installer/OSX-DMG/.gitignore deleted file mode 100644 index 5ddb15821b..0000000000 --- a/installer/OSX-DMG/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -source_folder/Synthesis.app/ -exporter_source_folder/ -Synthesis-Installer.dmg -create-dmg/ -addins-folder-link - -exporter-install-instructions.pdf - -*.dmg diff --git a/installer/OSX-DMG/README.md b/installer/OSX-DMG/README.md deleted file mode 100644 index 18cd11dd1c..0000000000 --- a/installer/OSX-DMG/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Synthesis OSX Installer (DMG Version) - -## Setup -1. Install `create-dmg`: -``` -$ git clone git@github.com:create-dmg/create-dmg.git -``` - -2. Copy the signed Synthesis app into source_folder: -``` -$ cp -r [Location of app] ./source_folder/Synthesis.app -``` - -2. Compile the `exporter-install-instructions.md` into a PDF. I recommend using the Yzane extension in VSCode. - -## Create Disk Image -Run the `make-installer.sh` shell script: -``` -$ ./make-installer.sh -``` - -Disk Image will be created at `/installer/OSX-DMG/Synthesis-Installer.dmg` - -## Notes -Update `source_folder/license.html` as needed as well as settings for the `create-dmg` command inside of `make-installer.sh`. See [create-dmg repository](https://github.com/create-dmg/create-dmg) for configuration information. \ No newline at end of file diff --git a/installer/OSX-DMG/SynthesisMacInstallerBackground.png b/installer/OSX-DMG/SynthesisMacInstallerBackground.png deleted file mode 100644 index 0d4d27e9a1..0000000000 Binary files a/installer/OSX-DMG/SynthesisMacInstallerBackground.png and /dev/null differ diff --git a/installer/OSX-DMG/exporter-install-instructions.md b/installer/OSX-DMG/exporter-install-instructions.md deleted file mode 100644 index 2b99e16696..0000000000 --- a/installer/OSX-DMG/exporter-install-instructions.md +++ /dev/null @@ -1,12 +0,0 @@ -# MacOS Exporter Installation Instructions -## Requirements -- Fusion 360 installed on your system. - -## Copy the Files -Move the `Exporter` folder, located in the installer pointing to this file, into the following directory: -``` -~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/ -``` - -## Usage -Upon opening Fusion 360, the exporter should automatically run and be made available in the `UTILITIES` tab. If not, please open the add-ins panel and manually run it. \ No newline at end of file diff --git a/installer/OSX-DMG/license.txt b/installer/OSX-DMG/license.txt deleted file mode 100755 index 4704a010d5..0000000000 --- a/installer/OSX-DMG/license.txt +++ /dev/null @@ -1,188 +0,0 @@ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -Copyright 2021 Autodesk inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/installer/OSX-DMG/make-installer.sh b/installer/OSX-DMG/make-installer.sh deleted file mode 100755 index e153bd8614..0000000000 --- a/installer/OSX-DMG/make-installer.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -test -f Synthesis-Installer.dmg && rm Synthesis-Installer.dmg -./create-dmg/create-dmg \ - --volname "Synthesis Installer" \ - --background "SynthesisMacInstallerBackground.png" \ - --window-pos 200 120 \ - --window-size 375 320 \ - --text-size 12 \ - --icon-size 60 \ - --icon "Synthesis.app" 85 80 \ - --add-file Instructions.pdf exporter-install-instructions.pdf 288 190 \ - --add-file Exporter ../../exporter/SynthesisFusionAddin 85 190 \ - --hide-extension "Synthesis.app" \ - --app-drop-link 288 80 \ - --eula "license.txt" \ - --text-size 10 \ - "Synthesis-Installer.dmg" \ - "source_folder/" - -# --volicon "synthesis-icon.icns" \ -# --background "installer_background.png" \ -# --background "Synthesis-Background.png" \ diff --git a/installer/OSX/.gitignore b/installer/OSX/.gitignore deleted file mode 100644 index 57068f9f27..0000000000 --- a/installer/OSX/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -target/ -application/* -Autdoesk -!application/.gitkeep -!application/uninstall.sh -!application/background.png -!application/spec.json -*.pkg -dmg - -build -build.zip \ No newline at end of file diff --git a/installer/OSX/App/payload/Contents/Info.plist b/installer/OSX/App/payload/Contents/Info.plist deleted file mode 100755 index 734c2b7a8a..0000000000 --- a/installer/OSX/App/payload/Contents/Info.plist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - Synthesis - CFBundleGetInfoString - Unity Player version 2019.4.0f1 (0af376155913). (c) 2020 Unity Technologies ApS. All rights reserved. - CFBundleIconFile - PlayerIcon.icns - CFBundleIdentifier - com.Autodesk.Synthesis - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Synthesis - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.1 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 0 - LSApplicationCategoryType - public.app-category.games - LSMinimumSystemVersion - 10.9.0 - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - - diff --git a/installer/OSX/App/payload/Contents/README.md b/installer/OSX/App/payload/Contents/README.md deleted file mode 100644 index 3b82ea5db1..0000000000 --- a/installer/OSX/App/payload/Contents/README.md +++ /dev/null @@ -1 +0,0 @@ -## Synthesis.zip diff --git a/installer/OSX/App/scripts/postinstall b/installer/OSX/App/scripts/postinstall deleted file mode 100755 index 2c990d0d53..0000000000 --- a/installer/OSX/App/scripts/postinstall +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -mv $2/Contents/Synthesis.zip /Applications/ -rm -rf $2 -cd /Applications/ -unzip /Applications/Synthesis.zip -rm -rf Synthesis.zip -exit 0 diff --git a/installer/OSX/App/scripts/preinstall b/installer/OSX/App/scripts/preinstall deleted file mode 100755 index 06bd986563..0000000000 --- a/installer/OSX/App/scripts/preinstall +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -exit 0 diff --git a/installer/OSX/Assets/payload/Contents/Info.plist b/installer/OSX/Assets/payload/Contents/Info.plist deleted file mode 100755 index 734c2b7a8a..0000000000 --- a/installer/OSX/Assets/payload/Contents/Info.plist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - Synthesis - CFBundleGetInfoString - Unity Player version 2019.4.0f1 (0af376155913). (c) 2020 Unity Technologies ApS. All rights reserved. - CFBundleIconFile - PlayerIcon.icns - CFBundleIdentifier - com.Autodesk.Synthesis - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Synthesis - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.1 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 0 - LSApplicationCategoryType - public.app-category.games - LSMinimumSystemVersion - 10.9.0 - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - - diff --git a/installer/OSX/Assets/payload/Contents/Synthesis/README.md b/installer/OSX/Assets/payload/Contents/Synthesis/README.md deleted file mode 100644 index 970708317f..0000000000 --- a/installer/OSX/Assets/payload/Contents/Synthesis/README.md +++ /dev/null @@ -1 +0,0 @@ -## Asset/Data Files diff --git a/installer/OSX/Assets/scripts/postinstall b/installer/OSX/Assets/scripts/postinstall deleted file mode 100755 index 421ba3de1c..0000000000 --- a/installer/OSX/Assets/scripts/postinstall +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -rm -rf ~/.config/Autodesk/Synthesis -mv $2/Contents/Synthesis ~/.config/Autodesk/ -rm -rf $2 -exit 0 diff --git a/installer/OSX/Assets/scripts/preinstall b/installer/OSX/Assets/scripts/preinstall deleted file mode 100755 index 06bd986563..0000000000 --- a/installer/OSX/Assets/scripts/preinstall +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -exit 0 diff --git a/installer/OSX/Exporter/payload/Contents/Info.plist b/installer/OSX/Exporter/payload/Contents/Info.plist deleted file mode 100755 index 734c2b7a8a..0000000000 --- a/installer/OSX/Exporter/payload/Contents/Info.plist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - Synthesis - CFBundleGetInfoString - Unity Player version 2019.4.0f1 (0af376155913). (c) 2020 Unity Technologies ApS. All rights reserved. - CFBundleIconFile - PlayerIcon.icns - CFBundleIdentifier - com.Autodesk.Synthesis - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Synthesis - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.1 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 0 - LSApplicationCategoryType - public.app-category.games - LSMinimumSystemVersion - 10.9.0 - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - - diff --git a/installer/OSX/Exporter/payload/Contents/SynthesisInventorGltfExporter/README.md b/installer/OSX/Exporter/payload/Contents/SynthesisInventorGltfExporter/README.md deleted file mode 100644 index 0ec8650013..0000000000 --- a/installer/OSX/Exporter/payload/Contents/SynthesisInventorGltfExporter/README.md +++ /dev/null @@ -1 +0,0 @@ -## Exporter Files diff --git a/installer/OSX/Exporter/scripts/postinstall b/installer/OSX/Exporter/scripts/postinstall deleted file mode 100755 index 4000f1e866..0000000000 --- a/installer/OSX/Exporter/scripts/postinstall +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -mv $2/Contents/SynthesisFusionAddin ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/ -rm -rf $2 -exit 0 diff --git a/installer/OSX/Exporter/scripts/preinstall b/installer/OSX/Exporter/scripts/preinstall deleted file mode 100755 index 495e3edbba..0000000000 --- a/installer/OSX/Exporter/scripts/preinstall +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -mkdir -p ~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/ -exit 0 diff --git a/installer/OSX/Installer/Distribution.xml b/installer/OSX/Installer/Distribution.xml deleted file mode 100755 index 4d54db2521..0000000000 --- a/installer/OSX/Installer/Distribution.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - App.pkg - - - - Assets.pkg - - - - Exporter.pkg - diff --git a/installer/OSX/Installer/Resources/conclusion.html b/installer/OSX/Installer/Resources/conclusion.html deleted file mode 100755 index 9151c5f509..0000000000 --- a/installer/OSX/Installer/Resources/conclusion.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - -
-

Synthesis: An Autodesk Technology | 5.0.0.0 ALPHA

-

Thank you for installing Synthesis: An Autodesk Technology

-
-
-

In order to improve this product and understand how it is used, we collect non-personal product usage information. This usage information may consist of custom events like Replay Mode, Driver Practice Mode, Tutorial Link Clicked, etc. This information is not used to identify or contact you. You can turn data collection off from the Control Panel within the simulator. By installing, you agree that you have read the terms of service agreement and data collection statement above.

-
-
-

Resources

-

Go through the following link for additional information.

- -
-
-
-

Copyright © 2021 Autodesk inc.

-
- - diff --git a/installer/OSX/Installer/Resources/license.html b/installer/OSX/Installer/Resources/license.html deleted file mode 100755 index 6be72e4428..0000000000 --- a/installer/OSX/Installer/Resources/license.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - -
-

- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/

- -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

- -1. Definitions.

- -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. -


-"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. -


-"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. -


-"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. -


-"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. -


-"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. -


-"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). -


-"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. -


-"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." -


-"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. -


-2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. -


-3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. -


-4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: -


-(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and -


-(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and -


-(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and -


-(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. -


-You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. -


-5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. -


-6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. -


-7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. -


-8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. -


-9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. -


-END OF TERMS AND CONDITIONS -


-APPENDIX: How to apply the Apache License to your work. -


-Copyright 2021 Autodesk inc. -


-Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -


-http://www.apache.org/licenses/LICENSE-2.0 -


-Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -


-

-

Click “Continue" to continue the setup

-
- - diff --git a/installer/OSX/Installer/Resources/welcome.html b/installer/OSX/Installer/Resources/welcome.html deleted file mode 100755 index dcea4723b3..0000000000 --- a/installer/OSX/Installer/Resources/welcome.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - -
-

This will install Synthesis: An Autodesk Application 5.0.0.0 ALPHA on your computer. You will be guided through the steps necessary to install this software.

-

Click “Continue" to continue the setup

-
- - diff --git a/installer/OSX/README.md b/installer/OSX/README.md deleted file mode 100644 index 846f17c8b2..0000000000 --- a/installer/OSX/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# OSX packager - -## Build Steps : - -1. Get signed Synthesis.app - -2. Zip Synthesis.app - -3. Copy Synthesis.zip to file system ` cp [Synthesis.zip] [synthesis/installer/OSX/App/payload/Contents] ` - - - Remove the Synthesis.zip placeholder ` rm [synthesis/installer/OSX/App/payload/Contents/README.md] ` - -3. Add data files to ` synthesis/installer/OSX/Assets/payload/Contents/Synthesis ` - - - Remove the data file placeholder ` rm [synthesis/installer/OSX/Assets/payload/Contents/Synthesis/README.md] ` - -4. Add unzipped exporter files to ` synthesis/installer/OSX/Exporter/payload/Contents/SynthesisFusionGltfExporter ` - - - Remove the exporter file placeholder ` rm [synthesis/installer/OSX/Exporter/payload/Contents/SynthesisFusionGltfExporter/README.md] ` - -5. Change directories to the OSX installer directory ` cd [synthesis/installer/OSX] ` - -6. Run the pkginstall script ` ./pkginstall ` - -### Optional Build Steps - -Update the license, welcome and conclusion installer menus located in ` [synthesis/installer/OSX/Installer/Resources] ` - -## Package - -Publish the newly created Synthesis.pkg - -## Important Note - -**Do not** rename or move files - diff --git a/installer/OSX/pkginstall b/installer/OSX/pkginstall deleted file mode 100644 index 359e862088..0000000000 --- a/installer/OSX/pkginstall +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -#Priviledges -chmod -R 777 ./Assets/payload/Contents/Synthesis -#Build app -pkgbuild --install-location ~/.config/Autodesk/SynthesisAppInstall --root ./App/payload/ --scripts ./App/scripts/ --identifier org.autodesk.synthesis.app ./Installer/App.pkg -#Build data files -pkgbuild --install-location ~/.config/Autodesk/SynthesisAssetsInstall --root ./Assets/payload/ --scripts ./Assets/scripts/ --identifier org.autodesk.synthesis.assets ./Installer/Assets.pkg -#Build exporter -pkgbuild --install-location ~/.config/Autodesk/SynthesisExporterInstall --root ./Exporter/payload/ --scripts ./Exporter/scripts/ --identifier org.autodesk.synthesis.exporter ./Installer/Exporter.pkg -#Build installer -cd Installer -productbuild --distribution Distribution.xml --resources Resources/ ../Synthesis.pkg diff --git a/installer/README.md b/installer/README.md new file mode 100644 index 0000000000..7234c7cec8 --- /dev/null +++ b/installer/README.md @@ -0,0 +1,31 @@ +# Installing the Synthesis Fusion Exporter + +## Manual Install + +- Navigate to [`synthesis.autodesk.com/download`](https://synthesis.autodesk.com/download.html). +- Find the Exporter source code zip download. + - Note that the source code is platform agnostic, it will work for **both** `Windows` and `Mac`. +- Once the source code for the Exporter is downloaded, unzip the folder. +- Next, if you haven't already, install `Autodesk Fusion`. +- Once Fusion is open, navigate to the `Utilities Toolbar`. +![image_caption](../tutorials/img/fusion/fusion-empty.png) +- Click on `Scripts and Add-ins` in the toolbar. +![image_caption](../tutorials/img/fusion/fusion-addins-highlight.png) +- Navigate to `Add-ins` and select the green plus icon. +![image_caption](../tutorials/img/fusion/fusion-addins-panel.png) +- Now navigate to wherever you extracted the original `.zip` source code file you downloaded. + - Make sure to select the folder that contains the `Synthesis.py` file, this is the entry point to the Exporter. +![image_caption](../tutorials/img/fusion/fusion-add-addin.png) +- Once the extension is added you should be able to see it under `My Add-Ins`. +- Select `Synthesis` from the `My Add-Ins` drop down and click `Run` in the bottom right. +![image_caption](../tutorials/img/fusion/fusion-addin-synthesis.png) +- The first time you run the extension it may prompt you to restart Fusion, this is totally normal. +- Once you restart Fusion the extension will run on startup, you will be able to find it on the right side of the toolbar +under the `Utilities` tab. +![image_caption](../tutorials/img/fusion/fusion-utilities-with-synthesis.png) + +Thanks for installing the Synthesis Fusion Exporter! For any additional help visit our [Synthesis Community Discord Server](https://www.discord.gg/hHcF9AVgZA) where you can talk directly to our developers. + +## Using an Installer + +Our automatic installer is still in development, visit the [Synthesis Discord Server](https://www.discord.gg/hHcF9AVgZA) for updates and any manual installing help. diff --git a/installer/Windows/.gitignore b/installer/Windows/.gitignore deleted file mode 100644 index 65fac130c8..0000000000 --- a/installer/Windows/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -Robots/ -Fields/ -Exporter/ -Themes/ -MixAndMatch/ -Synthesis/ - -Robots.zip -Fields.zip -Themes.zip -MixAndMatch.zip diff --git a/installer/Windows/MainInstaller.nsi b/installer/Windows/MainInstaller.nsi deleted file mode 100644 index 7cf07b658e..0000000000 --- a/installer/Windows/MainInstaller.nsi +++ /dev/null @@ -1,332 +0,0 @@ -!include MUI2.nsh -!include x64.nsh -!define PRODUCT_VERSION "6.0.0" - -Name "Synthesis" - -;Icon "W16_SYN_launch.ico" -Icon "synthesis-logo-64x64.ico" - -Caption "Synthesis ${PRODUCT_VERSION} Setup" - -OutFile "SynthesisWin${PRODUCT_VERSION}.exe" - -InstallDir $PROGRAMFILES64\Autodesk\Synthesis - -InstallDirRegKey HKLM "Software\Synthesis" "Install_Dir" - -RequestExecutionLevel admin - - Section - ${If} ${RunningX64} - goto install_stuff - ${Else} - MessageBox MB_OK "ERROR: This install requires a 64 bit system." - Quit - ${EndIf} - install_stuff: - SectionEnd - -;-------------------------------- - -;Interface Settings - !define MUI_WELCOMEFINISHPAGE_BITMAP "W21_SYN_sidebar.bmp" - !define MUI_UNWELCOMEFINISHPAGE_BITMAP "W21_SYN_sidebar.bmp" - !define MUI_ICON "synthesis-logo-64x64.ico" - !define MUI_UNICON "synthesis-logo-64x64.ico" - !define MUI_HEADERIMAGE - !define MUI_HEADERIMAGE_BITMAP "orange-r.bmp" - !define MUI_HEADERIMAGE_RIGHT - !define MUI_ABORTWARNING - !define MUI_FINISHPAGE_TEXT 'Synthesis has been successfully installed on your system. $\r$\n $\r$\nIn order to improve this product and understand how it is used, we collect non-personal product usage information. This usage information may consist of custom events like Replay Mode, Driver Practice Mode, etc. $\r$\nThis information is not used to identify or contact you. $\r$\nYou can turn data collection off from the Control Panel within the simulator. $\r$\n $\r$\nBy clicking Finish, you agree that you have read the terms of service agreement and data collection statement above.' - !define MUI_FINISHPAGE_LINK "Synthesis Discord" - !define MUI_FINISHPAGE_LINK_LOCATION "https://www.discord.gg/hHcF9AVgZA" - -;-------------------------------- - - ; Installer GUI Pages - !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_LICENSE "..\..\LICENSE.txt" - !insertmacro MUI_PAGE_COMPONENTS - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_PAGE_FINISH - - ; Uninstaller GUI Pages - !insertmacro MUI_UNPAGE_WELCOME - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - !insertmacro MUI_UNPAGE_FINISH - -;-------------------------------- - - ; Default Language - !insertmacro MUI_LANGUAGE "English" - -Section - -IfFileExists "$APPDATA\Autodesk\Synthesis" +1 +28 - MessageBox MB_YESNO "You appear to have Synthesis installed; would you like to reinstall it?" IDYES true IDNO false - true: - DeleteRegKey HKLM SOFTWARE\Synthesis - - ; Remove fusion plugins - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\FusionRobotExporter" - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis" - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\FusionExporter" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\FusionRobotExporter.bundle" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\FusionSynth.bundle" - - ; Remove inventor plugins - Delete "$APPDATA\Autodesk\Inventor 2021\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2020\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2019\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2018\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2017\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete "$APPDATA\Autodesk\ApplicationPlugins\Autodesk.InventorRobotExporter.Inventor.addin" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\InventorRobotExporter" - - ; Remove deprecated bxd inventor plugins - Delete "$APPDATA\Autodesk\Inventor 2020\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2019\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2019\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2018\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2018\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2017\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete "$APPDATA\Autodesk\Inventor 2017\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete "$APPDATA\Autodesk\ApplicationPlugins\Autodesk.BxDRobotExporter.Inventor.addin" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\BxDRobotExporter" - RMDIR /r $APPDATA\RobotViewer - - ; Remove excess shortcuts - Delete "$SMPROGRAMS\Synthesis.lnk" - Delete "$DESKTOP\Synthesis.lnk" - Delete "$SMPROGRAMS\BXD Synthesis.lnk" - Delete "$DESKTOP\BXD Synthesis.lnk" - Delete "$SMPROGRAMS\Autodesk Synthesis.lnk" - Delete "$DESKTOP\Autodesk Synthesis.lnk" - Delete "$DESKTOP\FieldExporter.lnk" - - ; Remove obsolete directories - RMDir /r $INSTDIR - RMDir /r $APPDATA\Synthesis - RMDir /r $APPDATA\BXD_Aardvark - RMDir /r $PROGRAMFILES\Autodesk\Synthesis - - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" - DeleteRegKey HKCU "SOFTWARE\Autodesk\Synthesis" - ;DeleteRegKey HKCU "SOFTWARE\Autodesk\BXD Synthesis" - - Goto next - - false: - Quit - - next: - -# default section end -SectionEnd - -Section "Synthesis (required)" Synthesis - - SectionIn RO - - ; Set output path to the installation directory. - SetOutPath $INSTDIR - - File /r "Synthesis\*" - - CreateShortCut "$SMPROGRAMS\Synthesis.lnk" "$INSTDIR\Synthesis.exe" - CreateShortCut "$DESKTOP\Synthesis.lnk" "$INSTDIR\Synthesis.exe" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "DisplayName" "Autodesk Synthesis" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "DisplayIcon" "$INSTDIR\uninstall.exe" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "Publisher" "Autodesk" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "URLInfoAbout" "synthesis.autodesk.com/tutorials" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "DisplayVersion" "${PRODUCT_VERSION}" - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" \ - "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" - - - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synthesis" "NoModify" 1 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synthesis" "NoRepair" 1 - WriteUninstaller "uninstall.exe" - -SectionEnd - -/* -Section "Inventor Exporter Plugin" iExporter - - ; Set extraction path to Inventor plugin directory - SetOutPath $INSTDIR\Exporter - File /r "InventorExporter\*" - - SetOutPath $APPDATA\Autodesk\ApplicationPlugins - File /r "InventorExporter\Autodesk.InventorRobotExporter.Inventor.addin" - -SectionEnd -*/ - -Section "Fusion Exporter Plugin" fExporter - - ; Set extraction path to Fusion plugin directories - SetOutPath "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis" - File /r "Exporter\*" - ; File /r "..\..\exporter\SynthesisFusionAddin\*" - - ; SetOutPath "$APPDATA\Autodesk\ApplicationPlugins\FusionRobotExporter.bundle\Contents\" - ; File /r "FusionExporter\FusionRobotExporter.dll" - -SectionEnd - -Section "Robots and Fields" RobotFiles - - ; Set extraction path for preloaded robot files - SetOutPath $APPDATA\Autodesk\Synthesis\Mira - File /r "Robots\*" - - SetOutPath $APPDATA\Autodesk\Synthesis\Mira\Fields - File /r "Fields\*" - -SectionEnd - -Section "PartBuilder Samples" PartBuilder - - ; Set extraction path for preloaded robot files - SetOutPath $APPDATA\Autodesk\Synthesis\MixAndMatch - File /r "MixAndMatch\*" - -SectionEnd - -Section "Themes" Themes - - ; Set extraction path for preloaded robot files - SetOutPath $APPDATA\Autodesk\Synthesis\Themes - File /r "Themes\*" - -SectionEnd - -/* -Section "Code Emulator" Emulator - - ; INetC.dll must be installed to proper NSIS Plugins x86 directories - inetc::get "https://qemu.weilnetz.de/w64/2019/qemu-w64-setup-20190724.exe" "$PLUGINSDIR\qemu-w64-setup-20190724.exe" - Pop $R0 ;Get the return value - - ${If} $R0 == "OK" ;Return value should be "OK" - SetOutPath $APPDATA\Autodesk\Synthesis\Emulator - File /r "Emulator\*" - HideWindow - ExecWait '"$PLUGINSDIR\qemu-w64-setup-20190724.exe" /SILENT' - ShowWindow hwnd show_state - ${Else} - MessageBox MB_ICONSTOP "Error: $R0" ;Show cancel/error message - ${EndIf} - -SectionEnd -*/ - -;-------------------------------- -;Component Descriptions - - LangString DESC_Synthesis ${LANG_ENGLISH} "The Simulator Engine is the real-time physics environment which simulates the robots and fields." - ; LangString DESC_iExporter ${LANG_ENGLISH} "The Inventor Exporter Plugin is an Inventor addin used to export Autodesk Inventor Assemblies directly into the simulator" - LangString DESC_fExporter ${LANG_ENGLISH} "The Fusion360 Exporter Plugin is a Fusion addin used to export Autodesk Fusion Assemblies directly into the simulator" - LangString DESC_RobotFiles ${LANG_ENGLISH} "A library of sample robots and fields pre-loaded into the simulator" - LangString DESC_PartBuilder ${LANG_ENGLISH} "A library of sample parts to use in Robot Builder" - LangString DESC_Themes ${LANG_ENGLISH} "Preinstalled themes" - ; LangString DESC_Emulator ${LANG_ENGLISH} "The Robot Code Emulator allows you to emulate your C++ & JAVA robot code in the simulator" - - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${Synthesis} $(DESC_Synthesis) - ; !insertmacro MUI_DESCRIPTION_TEXT ${iExporter} $(DESC_iExporter) - !insertmacro MUI_DESCRIPTION_TEXT ${fExporter} $(DESC_fExporter) - !insertmacro MUI_DESCRIPTION_TEXT ${RobotFiles} $(DESC_RobotFiles) - !insertmacro MUI_DESCRIPTION_TEXT ${PartBuilder} $(DESC_PartBuilder) - !insertmacro MUI_DESCRIPTION_TEXT ${Themes} $(DESC_Themes) - ; !insertmacro MUI_DESCRIPTION_TEXT ${Emulator} $(DESC_Emulator) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- - -Section "Uninstall" - - MessageBox MB_YESNO "Would you like to remove your robot files?" IDNO NawFam - RMDir /r /REBOOTOK $APPDATA\Synthesis - RMDir /r /REBOOTOK $APPDATA\Autodesk\Synthesis - - NawFam: - ; Remove registry keys - DeleteRegKey HKLM SOFTWARE\Synthesis - DeleteRegKey HKCU SOFTWARE\Autodesk\Synthesis - DeleteRegKey HKCU "SOFTWARE\Autodesk\BXD Synthesis" - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Autodesk Synthesis" - - ; Remove installation directories - RMDir /r /REBOOTOK $INSTDIR - RMDir /r /REBOOTOK $PROGRAMFILES\Autodesk\Synthesis - RMDir /r /REBOOTOK $APPDATA\BXD_Aardvark - RMDir /r /REBOOTOK $APPDATA\SynthesisTEMP - - ; Remove fusion plugins - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\FusionRobotExporter" - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis" - RMDir /r "$APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\FusionExporter" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\FusionRobotExporter.bundle" - RMDir /r "$APPDATA\Autodesk\ApplicationPlugins\FusionSynth.bundle" - - ; Remove inventor plugins - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2022\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2021\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2020\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2019\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2018\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2017\Addins\Autodesk.InventorRobotExporter.Inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\ApplicationPlugins\Autodesk.InventorRobotExporter.Inventor.addin" - - ; Remove deprecated bxd inventor plugins - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2020\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2019\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2019\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2018\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2018\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2017\Addins\autodesk.BxDRobotExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\Inventor 2017\Addins\autodesk.BxDFieldExporter.inventor.addin" - Delete /REBOOTOK "$APPDATA\Autodesk\ApplicationPlugins\Autodesk.BxDRobotExporter.Inventor.addin" - RMDir /REBOOTOK "$APPDATA\Autodesk\ApplicationPlugins\BxDRobotExporter" - - ; Remove excess shortcuts - Delete "$SMPROGRAMS\Synthesis.lnk" - Delete "$DESKTOP\Synthesis.lnk" - Delete "$SMPROGRAMS\BXD Synthesis.lnk" - Delete "$DESKTOP\BXD Synthesis.lnk" - Delete "$SMPROGRAMS\Autodesk Synthesis.lnk" - Delete "$DESKTOP\Autodesk Synthesis.lnk" - Delete "$DESKTOP\FieldExporter.lnk" - - /* - ; Execute QEMU uninstaller - IfFileExists "$PROGRAMFILES64\qemu" file_found uninstall_complete - - file_found: - MessageBox MB_YESNO "Would you like to uninstall QEMU as well?" IDNO uninstall_complete - Exec '"$PROGRAMFILES64\qemu\qemu-uninstall.exe"' - Quit - - uninstall_complete: - */ - -SectionEnd - -Function .OnInstSuccess - Exec "$INSTDIR\Synthesis.exe" -FunctionEnd diff --git a/installer/Windows/README.md b/installer/Windows/README.md deleted file mode 100644 index 21ea8340c9..0000000000 --- a/installer/Windows/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# logoNullsoft Scriptable Install System - -For installation on Windows Operating Systems, we use our own custom written NSIS installer in order to extract all the necessary files to their proper locations on the system. - -- [MainInstaller(x64)](https://github.com/Autodesk/synthesis/blob/prod/installer/Windows/MainInstaller.nsi) - (Used for the full installation of Synthesis, only compatible on 64 bit operating systems.) -- [EngInstaller(x86)](https://github.com/Autodesk/synthesis/blob/prod/installer/Windows/EngInstaller(x86).nsi) - (Used only for installation on 32 bit operating systems and extracts just the Unity Engine.) - -### Compiling NSIS: -In order to compile the NSIS configuration properly, you must compile all of the individual components of Synthesis pertaining to the particular script you are trying to compile. Then the compiled components must be stored in the same directory as the NSIS script, in order for them to be packaged during NSIS compilation. For details on this process, feel free to contact matthew.moradi@autodesk.com - -### NSIS FAQ: - -Q: Will I need admin privileges to run the installer? - -A: Yup. - -Q: If I download an updated Synthesis installer, will running it replace all of my custom robot export files? - -A: No, _reinstalling_ Synthesis will only replace all of the application components, but your custom robots will be saved. - -Q: Is it possible to accidently install multiple versions of Synthesis? - -A: It shouldn't be. The installer will always replace any existing Synthesis installations on your system. diff --git a/installer/Windows/W21_SYN_sidebar.bmp b/installer/Windows/W21_SYN_sidebar.bmp deleted file mode 100644 index 60c007ab76..0000000000 Binary files a/installer/Windows/W21_SYN_sidebar.bmp and /dev/null differ diff --git a/installer/Windows/orange-install-nsis.ico b/installer/Windows/orange-install-nsis.ico deleted file mode 100644 index ef3975f56c..0000000000 Binary files a/installer/Windows/orange-install-nsis.ico and /dev/null differ diff --git a/installer/Windows/orange-r.bmp b/installer/Windows/orange-r.bmp deleted file mode 100644 index c74fbdd511..0000000000 Binary files a/installer/Windows/orange-r.bmp and /dev/null differ diff --git a/installer/Windows/synthesis-logo-64x64.ico b/installer/Windows/synthesis-logo-64x64.ico deleted file mode 100644 index 8fe648c48c..0000000000 Binary files a/installer/Windows/synthesis-logo-64x64.ico and /dev/null differ diff --git a/installer/exporter/.gitignore b/installer/exporter/.gitignore deleted file mode 100644 index 290dfd77ff..0000000000 --- a/installer/exporter/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/Synthesis -/*.zip diff --git a/installer/exporter/README.md b/installer/exporter/README.md deleted file mode 100644 index 631eb3527b..0000000000 --- a/installer/exporter/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Synthesis Exporter Installer - -## Creating the installer -### Windows -1. Run `setup.bat`. This will copy the Synthesis exporter into the current directory. -2. Zip together the `install.bat` script and the `Synthesis` directory. - -### MacOS -1. Run `create.sh`. This will copy the Synthesis exporter into the current directory and create a zip file with the necessary files. - -## Using the installer -1. Download the zip file. -2. Unzip it anywhere (likely your Downloads folder). -3. Run the `install.bat` (`install.sh` for MacOS) script. diff --git a/installer/exporter/create.sh b/installer/exporter/create.sh deleted file mode 100755 index 22efb4ac4b..0000000000 --- a/installer/exporter/create.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -if test -d ./Synthesis; then - rm -rf ./Synthesis -fi - -cp -r ../../exporter/SynthesisFusionAddin/ ./Synthesis -echo "Copied over Synthesis exporter!" - -zip -r SynthesisExporter Synthesis/ install.sh -echo "Created zip installer!" diff --git a/installer/exporter/install.bat b/installer/exporter/install.bat deleted file mode 100644 index 293bac431a..0000000000 --- a/installer/exporter/install.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -if exist "%AppData%\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis\" ( - echo "Removing existing Synthesis exporter..." - rmdir "%AppData%\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis\" /Q/S -) - -echo "Copying to %AppData%\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis..." -xcopy Synthesis "%AppData%\Autodesk\Autodesk Fusion 360\API\AddIns\Synthesis\" /E -echo "Synthesis Exporter Successfully Installed!" diff --git a/installer/exporter/install.sh b/installer/exporter/install.sh deleted file mode 100755 index 4ab0801918..0000000000 --- a/installer/exporter/install.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -if test -d ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/SynthesisFusionAddin; then - echo "Removing existing Synthesis exporter..." - rm -rf ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/SynthesisFusionAddin -fi - -cp -r Synthesis/ ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/SynthesisFusionAddin - -echo "Synthesis successfully copied!" diff --git a/installer/exporter/setup.bat b/installer/exporter/setup.bat deleted file mode 100644 index a6ec90bb68..0000000000 --- a/installer/exporter/setup.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off - -if exist Synthesis\ ( - rmdir Synthesis /Q/S - echo Removed .\Synthesis -) - -xcopy ..\..\exporter\SynthesisFusionAddin Synthesis\ /E -echo Copied exporter into .\Synthesis diff --git a/tutorials/FusionExporter.md b/tutorials/FusionExporter.md index ed9d87e8ad..a4072b65b4 100644 --- a/tutorials/FusionExporter.md +++ b/tutorials/FusionExporter.md @@ -15,11 +15,40 @@ The Synthesis Fusion 360 exporter is the tool used by both developers and users For information regarding the manual install process visit the [Synthesis Fusion 360 Exporter](https://github.com/Autodesk/synthesis/tree/prod/exporter) source code for more information. -### Getting Started - -After installing Synthesis, the exporter addin should automatically start up when you open Fusion 360 (given that it was selected during the Synthesis install process). Navigate to the Utilities tab and you should see a Synthesis button. - -![image_caption](img/fusion/exporter-button.png) +## Getting Started + +### Manual Install + +- Navigate to [`synthesis.autodesk.com/download`](https://synthesis.autodesk.com/download.html). +- Find the Exporter source code zip download. + - Note that the source code is platform agnostic, it will work for **both** `Windows` and `Mac`. +- Once the source code for the Exporter is downloaded unzip the folder. +- Next, if you haven't already, install `Autodesk Fusion`. +- Once Fusion is open, navigate to the `Utilities Toolbar`. +![image_caption](img/fusion/fusion-empty.png) +- Click on `Scripts and Add-ins` in the toolbar. +![image_caption](img/fusion/fusion-addins-highlight.png) +- Navigate to `Add-ins` and select the green plus icon. +![image_caption](img/fusion/fusion-addins-panel.png) +- Now navigate to wherever you extracted the original `.zip` source code file you downloaded. + - Make sure to select the folder that contains the `Synthesis.py` file, this is the entry point to the Exporter. +![image_caption](img/fusion/fusion-add-addin.png) +- Once the extension is added you should be able to see it under `My Add-Ins`. +- Select `Synthesis` from the `My Add-Ins` drop down and click `Run` in the bottom right. +![image_caption](img/fusion/fusion-addin-synthesis.png) +- The first time you run the extension it may prompt you to restart Fusion, this is totally normal. +- Once you restart Fusion the extension will run on startup, you will be able to find it on the right side of the toolbar +under the `Utilities` tab. +![image_caption](img/fusion/fusion-utilities-with-synthesis.png) + +Thanks for installing the Synthesis Fusion Exporter! For any additional help visit our [Synthesis Community Discord Server](https://www.discord.gg/hHcF9AVgZA) where you can talk directly to our developers. + +### Using an Installer + +Our automatic installer is still in development, visit the [Synthesis Discord Server](https://www.discord.gg/hHcF9AVgZA) for updates and any manual installing help. + + +### Launching the Exporter After clicking the button, a panel will open up. This is the exporter. In this panel, you can provide us with most of the extra data we need to properly simulate your robot or field in Synthesis. diff --git a/tutorials/img/fusion/fusion-add-addin.png b/tutorials/img/fusion/fusion-add-addin.png new file mode 100644 index 0000000000..bd35ee0ce2 Binary files /dev/null and b/tutorials/img/fusion/fusion-add-addin.png differ diff --git a/tutorials/img/fusion/fusion-addin-synthesis.png b/tutorials/img/fusion/fusion-addin-synthesis.png new file mode 100644 index 0000000000..112a0fe07e Binary files /dev/null and b/tutorials/img/fusion/fusion-addin-synthesis.png differ diff --git a/tutorials/img/fusion/fusion-addins-highlight.png b/tutorials/img/fusion/fusion-addins-highlight.png new file mode 100644 index 0000000000..33a5fb9b10 Binary files /dev/null and b/tutorials/img/fusion/fusion-addins-highlight.png differ diff --git a/tutorials/img/fusion/fusion-addins-panel.png b/tutorials/img/fusion/fusion-addins-panel.png new file mode 100644 index 0000000000..26e382781e Binary files /dev/null and b/tutorials/img/fusion/fusion-addins-panel.png differ diff --git a/tutorials/img/fusion/fusion-empty.png b/tutorials/img/fusion/fusion-empty.png new file mode 100644 index 0000000000..b3617d08b7 Binary files /dev/null and b/tutorials/img/fusion/fusion-empty.png differ diff --git a/tutorials/img/fusion/fusion-utilities-with-synthesis.png b/tutorials/img/fusion/fusion-utilities-with-synthesis.png new file mode 100644 index 0000000000..e9e3df0ba4 Binary files /dev/null and b/tutorials/img/fusion/fusion-utilities-with-synthesis.png differ