Skip to content

Commit

Permalink
K-A-T 106.3 ready for public testing
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeff-Hanna committed Nov 1, 2024
1 parent f2d5886 commit 61a1f6b
Show file tree
Hide file tree
Showing 108 changed files with 319 additions and 666 deletions.
24 changes: 12 additions & 12 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
{
"label": "New Template",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"template",
Expand All @@ -23,9 +23,9 @@
{
"label": "Build",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"build"
Expand All @@ -43,9 +43,9 @@
{
"label": "Launch",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"launch"
Expand All @@ -59,9 +59,9 @@
{
"label": "Launch (Developer Mode)",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"launch",
Expand All @@ -76,9 +76,9 @@
{
"label": "Run Unit Tests",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"test",
Expand All @@ -92,9 +92,9 @@
{
"label": "Package",
"type": "shell",
"command": "${workspaceRoot}/repo.sh",
"command": "${workspaceRoot}${/}repo.sh",
"windows": {
"command": "${workspaceRoot}/repo.bat"
"command": "${workspaceRoot}${/}repo.bat"
},
"args": [
"package"
Expand Down
55 changes: 37 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,39 @@

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [106.3.0] - 2024-11-04

## [106.2.0] - 2024-10-30

### Fixed
- Updated file permissions on all Linux shell scripts to make them executable


## [106.2.0] - 2024-10-24

### Fixed
- Updated file permissions on tools/packman/python.sh to make it executable

### Added
- Built app containers support `NVDA_KIT_ARGS` and `NVDA_KIT_NUCLEUS` environment variables
- `NVDA_KIT_ARGS` is passed directly into the kit executable
- `NVDA_KIT_NUCLEUS` if set causes the container entrypoint to create an omniverse.toml configuration file with a single entry pointing at the provided nucleus server. This will also set the kit arg --/ovc/nucleus/server with the envvar value.
- `repo launch --container` maps in these variables from the local environment as well
- Added `omni.kit.menu.common` to Kit Base Editor, USD Composer, and USD Explorer template Kit files to enable Toggle Viewport Fullscreen and UI overlay with F7 and F11

## [106.2.0] - 2024-10-21
### Changed
- Updated to `Kit 106.3.0`
- [Kit 106.3 Early Access Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_3.html)
- [Kit 106.3 Early Access Release Highlights](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_3_highlights.html)
- Updated build process to support autodetection or user-specified host versions of `MSVC` and `WinSDK`, providing flexibility for Windows C++ developers to leverage their existing installations. [Windows C++ Developer Configuration](readme-assets/additional-docs/windows_developer_configuration.md)
- Updated `omni.kit.usd_explorer.main.menubar` to version 1.0.38 so that it works correctly with `omni.kit.menu.common`

### Fixed
- Updated Extension Registry location to prod/106/shared when launching Developer Bundle
### Removed
- Removed Services dependencies from USD Composer Template that caused a firewall popup on first launch


## [106.2.0] - 2024-10-08
## [106.2.0] - 2024-10-03

### Changed
- Updated to Kit 106.2.0
- Updated to `Kit 106.2.0`
- [Kit 106.2 Early Access Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_2.html)
- [Kit 106.2 Early Access Release Highlights](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_2_highlights.html)
- Refactored Viewer Template default tests to avoid unnecessary dependencies

### Removed
- Unused `simulation` menu item from USD Composer Template


## [106.1.0] - 2024-09-17
## [106.1.0] - 2024-09-18

### Added
- Support for containerization of streaming applications and services via `repo package --container`
Expand All @@ -41,6 +44,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Support for USD Viewer Template to send scene loading state to client via messaging

### Changed
- Updated to `Kit 106.1.0`
- [Kit 106.1 Early Access Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_1.html)
- [Kit 106.1 Early Access Release Highlights](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_1_highlights.html)
- Aligned default testing for applications and extensions
- Update and align code formatting/style across templates

Expand All @@ -50,12 +56,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fixed default manipulator pivot back to "bounding box base" in USD Explorer Template


## [106.0.3] - 2024-09-18

### Changed
- Updated to `Kit 106.0.3`
- [Kit 106.0.3 Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_0_3.html)


## [106.0.2] - 2024-07-29

### Added
- Support for local streaming configurations for UI based Applications
- Support for multiple setup extensions per application
- Ability to pass arguments to Kit via the 'repo launch` tool.
- Ability to pass arguments to Kit via the 'repo launch` tool
- USD Composer Application Template and Documentation
- USD Viewer Application Template and Documentation
- USD Composer Setup Extension and Documentation
Expand All @@ -67,6 +80,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Support for automatic launch if only single `.kit` file is present in `source/apps`

### Changed
- Updated to `Kit 106.0.2`
- [Kit 106.0.2 Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_0_2.html)
- [Kit 106.0.1 Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_0_1.html)
- Updated all relevant application templates READMEs to reflect the addition of local streaming configurations
- Updated .gitattributes to ensure LFS is used for all relevant file types
- Updated .gitignore to exclude streaming app event traces
Expand Down Expand Up @@ -102,6 +118,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- repo_tools.toml to configure local repo tools

### Changed
- Updated to `Kit 106.0.0`
- [Kit 106.0 Beta Release Notes](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_0.html)
- [Kit 106.0 Release Highlights](https://docs.omniverse.nvidia.com/dev-guide/latest/release-notes/106_0_highlights.html)
- Updated repo_kit_template tooling to support Applications and Extensions
- Updated repo_kit_template tooling to allow for application setup extensions
- Updated top level README.md to reflect updated tooling and templates
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@


## :warning: EA Release Information
**This branch is based on Omniverse Kit 106.2 EA. It includes EA versions of the Kit SDK, associated development tools, and templates. For the latest stable release, see the `106.0` branch.**
**This branch is based on Omniverse Kit 106.3 EA. It includes EA versions of the Kit SDK, associated development tools, and templates. For the latest stable release, see the `106.0` branch.**


## Overview

Expand Down Expand Up @@ -73,7 +74,9 @@ Ensure your system is set up with the following to work with Omniverse Applicati

- [**Git LFS**](https://git-lfs.com/): For managing large files within the repository

- **(Windows) Microsoft Visual C++ Redistributable**: Many Windows systems will already have this, but if not, it can be obtained from [latest-supported-vc-redist](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version)
- **(Windows - C++ Only) Microsoft Visual Studio (2019 or 2022)**: You can install the latest version from [Visual Studio Downloads](https://visualstudio.microsoft.com/downloads/). Ensure that the **Desktop development with C++** workload is selected. [Additional information on Windows development configuration](readme-assets/additional-docs/windows_developer_configuration.md)

- **(Windows - C++ Only) Windows SDK**: Install this alongside MSVC. You can find it as part of the Visual Studio Installer. [Additional information on Windows development configuration](readme-assets/additional-docs/windows_developer_configuration.md)

- **(Linux) build-essentials**: A package that includes `make` and other essential tools for building applications. For Ubuntu, install with `sudo apt-get install build-essential`

Expand Down Expand Up @@ -234,6 +237,8 @@ Enhance Omniverse capabilities with extension templates:

- **[Basic C++](./templates/extensions/basic_cpp)**: The minimal definition of an Omniverse C++ Extension.

**Note for Windows C++ Developers** : This template requires `"platform:windows-x86_64".enabled` within the `repo.toml` file be set to `true`. For additional C++ configuration information [see here](readme-assets/additional-docs/windows_developer_configuration.md).

- **[Python UI](./templates/extensions/python_ui)**: An extension that provides an easily extendable Python-based user interface.

## Tools
Expand Down
12 changes: 10 additions & 2 deletions premake5.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,16 @@ repo_build = require("omni/repo/build")
-- Repo root
root = repo_build.get_abs_path(".")

-- Execute the kit template premake configuration, which creates the solution, finds extensions, etc.
dofile("_repo/deps/repo_kit_tools/kit-template/premake5.lua")
-- Pull in new Premake options from repo_build-1.0.0
repo_build.setup_options()
-- Set variables so repo_kit_tools does not set default values for MSVC and WINSDK
MSVC_VERSION = _OPTIONS["visual-cxx-version"]
WINSDK_VERSION = _OPTIONS["winsdk-version"]

-- Run repo_kit_tools premake5-kit that includes a bunch of Kit-friendly tooling configuration.
kit = require("_repo/deps/repo_kit_tools/kit-template/premake5-kit")
kit.setup_all()


-- Registries config for testing
repo_build.prebuild_copy {
Expand Down
3 changes: 3 additions & 0 deletions readme-assets/additional-docs/developer_bundle_extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ The `launch` tool will prompt for a selection of a `.kit` file to launch. Select
Developer Utilities are designed to assist developers in various aspects of application development, from debugging to extension management. These utilities offer insight into the internal workings of an application and its extensions.

- **[Developer > Extensions] omni.kit.window.extensions**: The most popular utility, this tool manages available extensions. It provides quick access to the extension registry and local extensions, simplifying the process of adding dependencies for developer extensions and applications.
- **omni.kit.widget.ext_win.create_extension**: A widget to add the ability to create an extension within the extension window.
- **omni.kit.widget.ext_win.dependency_graph**: Exposes the dependency graph capabilities for the extension window.


- **[Developer > Commands] omni.kit.window.commands**: Captures the command history within a running application. It is particularly useful for developers who interact with the UI, allowing them to capture the commands used to execute specific functionalities.

Expand Down
127 changes: 127 additions & 0 deletions readme-assets/additional-docs/windows_developer_configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Windows C++ Developer Configuration

## Introduction

This document guides you through setting up this repository for C++ development on Windows using Microsoft Visual Studio and the Windows SDK.

**For New Users:** If you are new to Windows C++ development, this guide provides a step-by-step installation of Visual Studio 2022 Community and the Windows SDK, ensuring you have all the components required for standard development tasks.

**For Advanced Configurations:** If you already have Visual Studio and the Windows SDK installed but wish to specify exact versions, this guide will help you configure your environment using the `[repo_build.msbuild]` configuration within `repo.toml` at the project root.

## Configuration

To enable the Windows C++ build process:

- Set the `"platform:windows-x86_64".enabled` flag to `true` in your `repo.toml` file:

```toml
[repo_build.build]
"platform:windows-x86_64".enabled = true
```

- Set the `link_host_toolchain` flag to `true` in your `repo.toml` file:

```toml
[repo_build.msbuild]
link_host_toolchain = true
```

**Note:** If you already have Visual Studio and the Windows SDK installed, this might be the only change needed. The tooling will auto-detect installed components.

## Microsoft Visual Studio and Windows SDK Setup

### Basic Installation

#### Installing Visual Studio 2022 Community

1. **Download Visual Studio Installer**

![VS Download](../vs_download.png)
- Visit the [Visual Studio Downloads](https://visualstudio.microsoft.com/downloads/).
- Click "Free download" under "Community".

2. **Run the Installer**
- Open the downloaded installer.
- Select "Community" edition and click "Install".

3. **Select Workloads**

![VS Workloads](../vs_workloads.png)
- Check "Desktop development with C++".
- This includes tools like the MSVC compiler and C++ libraries.

4. **Additional Components**
![VS Additional](../vs_additional.png)
- If you need specific components, go to "Individual components".
- Select additional tools as needed.

5. **Complete the Installation**
- Proceed with the installation to download and set up all files.

#### Installing Windows SDK (as needed)

Usually, the Windows SDK is included with the "Desktop development with C++" workload. To verify or install it separately:

1. **Launch Visual Studio Installer**
- Open the installer if it's not already running.

2. **Modify Installation**

![VS Modify](../vs_modify.png)
- Click "Modify" on your Visual Studio installation.

3. **Verify Windows SDK**

![VS WinSDK Verify](../vs_winsdk_verify.png)
- Ensure "Windows SDK" is selected under "Optional" sections or "Individual components".

4. **Apply Changes**
- Click "Modify" to install or update the SDK.

### Configuring an Existing Installation

#### Default Installation Paths

If Visual Studio and the Windows SDK are installed in default locations, the build tooling will auto-detect them without additional configuration.

- Default Windows SDK: `C:\Program Files (x86)\Windows Kits`
- Default Visual Studio 2019: `C:\Program Files (x86)\Microsoft Visual Studio`
- Default Visual Studio 2022: `C:\Program Files\Microsoft Visual Studio`

#### Non-Default Installation Paths

For installations at non-standard paths, specify them in `repo.toml`:

```toml
[repo_build.msbuild]
vs_path = "D:\\CustomPath\\Visual Studio\\2022\\Community"
winsdk_path = "D:\\CustomPath\\Windows Kits\\10\\bin\\10.0.19041.0"
```

Adjust and save the paths as needed.

#### Multiple Installations

For multiple Visual Studio or Windows SDK installations, the latest version is used by default. If unspecified, default edition preference is "Enterprise", "Professional", "Community". To specify preferred versions, editions, or paths:

##### Visual Studio

```toml
[repo_build.msbuild]
vs_version = "vs2022"
vs_edition = "Community"
vs_path = "D:\\AnotherPath\\Visual Studio\\2022\\Enterprise\\"
```

##### Windows SDK

```toml
[repo_build.msbuild]
winsdk_version = "10.0.19041.0"
winsdk_path = "D:\\CustomSDKPath\\Windows Kits\\10\\bin\\10.0.19041.0"
```

With these configurations, you control which versions the build system uses, ensuring consistency in environments with multiple installations.

## Additional Resources
- [Repo Build Documentation](https://docs.omniverse.nvidia.com/kit/docs/repo_build/1.0.0/)
3 changes: 3 additions & 0 deletions readme-assets/vs_additional.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions readme-assets/vs_download.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions readme-assets/vs_modify.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions readme-assets/vs_winsdk_verify.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions readme-assets/vs_workloads.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 61a1f6b

Please sign in to comment.