Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2702bde
Text for Shift groups
juliavisserinbibo Jan 21, 2025
0748106
Extended explanation for the notes
juliavisserinbibo Jan 21, 2025
80eee7a
Updated information for notes.
juliavisserinbibo Feb 7, 2025
ed1a681
Merge pull request #108 from Inbibo/#106-updateShiftNotesDocs
juliavisserinbibo Feb 12, 2025
8b3a5ef
Merge branch 'v1.2.0' into #107-shiftGroups
juliavisserinbibo Feb 14, 2025
1315f01
Typos fixes
juliavisserinbibo Feb 14, 2025
f3b9273
Added Image Viewer plugin docs
albertochimentiinbibo Apr 7, 2025
91e0149
Added new features to the Usd Viewer documentation
albertochimentiinbibo Apr 8, 2025
850a736
Update docs/integration_resources/resources/USD/usd.md
albertochimentiinbibo Apr 9, 2025
9df7d4f
Update docs/integration_resources/resources/USD/usd.md
albertochimentiinbibo Apr 9, 2025
9782d4a
Update docs/integration_resources/resources/USD/usd.md
albertochimentiinbibo Apr 9, 2025
3724228
Update docs/integration_resources/resources/USD/usd.md
albertochimentiinbibo Apr 9, 2025
e9f83ae
Update docs/integration_resources/resources/USD/susdviewer.md
albertochimentiinbibo Apr 9, 2025
578b08c
Update docs/integration_resources/resources/USD/usd.md
albertochimentiinbibo Apr 9, 2025
be05ade
Addressed PR comments
albertochimentiinbibo Apr 9, 2025
f686eb0
Merge branch 'main' into v1.2.0
juliavisserinbibo Apr 10, 2025
b8dcf7c
Release notes for Shift 1.2.0
juliavisserinbibo Apr 10, 2025
6d862b2
PR requested changes
juliavisserinbibo Apr 11, 2025
7d15fcd
Merge pull request #122 from Inbibo/#114-ImageViewerPlugin
albertochimentiinbibo Apr 11, 2025
30d8318
Merge pull request #109 from Inbibo/#107-shiftGroups
juliavisserinbibo Apr 11, 2025
7cd8933
Added specification on the linking behaviour while playback is active…
albertochimentiinbibo Apr 11, 2025
55eb430
Merge pull request #123 from Inbibo/#115-1.2UsdViewFeatures
albertochimentiinbibo Apr 11, 2025
a571619
Apply suggestions from code review
juliavisserinbibo Apr 11, 2025
93e2c0a
Fized titles levels
juliavisserinbibo Apr 11, 2025
27f1a4b
Merge branch 'v1.2.0' into #110-ReleaseNotes1.2.0
juliavisserinbibo Apr 11, 2025
42a6a74
Fixed links to documentation
juliavisserinbibo Apr 11, 2025
c293afb
Fixed the links to the website pages.
juliavisserinbibo Apr 11, 2025
590e197
Merge pull request #124 from Inbibo/#110-ReleaseNotes1.2.0
juliavisserinbibo Apr 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions docs/integration_resources/resources/USD/susdviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# sUSDViewer
A catalog to interact with the Usd Viewer plugin for Shift.

---
## UsdViewportGrab

<figure style="width: 30%">
<img src="images/UsdViewportGrab.png" alt="Node UI">
<figcaption></figcaption>
</figure>

Node used to grab a snapshot of the current Usd Viewer plugin viewport.
It allows the selection of the AOV to grab and an aspect ratio to fit the grabbed image to.
The node must be linked to a Usd Viewer plugin instance.



#### Inputs
| Name | Type | Default | Options
| --- | --- | --- | --- |
| from | Instance | None |
| aov | Enum | color | color, depth
| aspectRatio | Enum | 16:9 | source, 16:9, 4:3, 1:1

#### Outputs
| Name | Type | Default |
| --- | --- | --- |
| image | Instance | None


35 changes: 31 additions & 4 deletions docs/integration_resources/resources/USD/usd.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ Shift comes equipped with two primary plugins for interacting with USD (Universa

These two plugins together allow users to efficiently visualize, explore, and interact with USD-based workflows, making Shift a powerful tool for managing complex 3D scenes and assets.

### USD Outliner

The USD Outliner plugin displays the hierarchy of USD stages sourced from specific nodes (UsdStageOpen & UsdStageNew) in the active board workflow. It provides a tree view of the USD scene, allowing users to explore, select, and interact with USD prims. Selecting a prim in the outliner works in conjunction with the USD Viewer plugin for hierarchical navigation. Double-clicking a prim creates a UsdPrimGet operator linked to the selected prim for further manipulation. For more information on working with USD stages, refer to the section on [USD Catalogs](#catalogs).

<figure>
<img src="images/usd_outliner_plugin.gif" alt="UI">
<figcaption>USD Outliner Plugin</figcaption>
</figure>

### USD Viewer

The USD Viewer plugin allows users to visualize and interact with USD stages sourced from specific nodes (UsdStageOpen & UsdStageNew) in the active board workflow. It integrates seamlessly with Shift's interface and works in conjunction with the USD Outliner plugin for hierarchical navigation. Users can double-click on USD prims in the viewer to create a new UsdPrimGet operator connected to the selected prim. When the USD Outliner is open, prim selections between the viewer and outliner are synchronized. For more details on how to manipulate USD stages and prims, refer to the section on [USD Catalogs](#catalogs).
Expand All @@ -37,15 +46,33 @@ The USD Viewer plugin allows users to visualize and interact with USD stages sou
<figcaption>USD Viewer Plugin</figcaption>
</figure>

### USD Outliner

The USD Outliner plugin displays the hierarchy of USD stages sourced from specific nodes (UsdStageOpen & UsdStageNew) in the active board workflow. It provides a tree view of the USD scene, allowing users to explore, select, and interact with USD prims. Selecting a prim in the outliner works in conjunction with the USD Viewer plugin for hierarchical navigation. Double-clicking a prim creates a UsdPrimGet operator linked to the selected prim for further manipulation. For more information on working with USD stages, refer to the section on [USD Catalogs](#catalogs).
#### Playback Animated Stages

If the opened stage contains authored Time Code ranges, the plugin will automatically display them in the timeline widget at the bottom and a *Play* button will appear. This allows users to scrub the stage animation manually or to directly playback the entire animation. The plugin will playback at the FPS rate authored in the stage file or default at 24 FPS if no valid authoring is found.

<figure>
<img src="images/usd_outliner_plugin.gif" alt="UI">
<figcaption>USD Outliner Plugin</figcaption>
<img src="images/usd_viewer_timeline.gif" alt="UI">
<figcaption>USD Viewer Plugin Timeline Playback</figcaption>
</figure>

#### Grab Viewport AOV

Any stage viewport can be linked to a [`UsdViewportGrab`](susdviewer) node. This linking allows users to send the information from the current Usd Viewer buffer to the Shift workflow as an image.

<figure>
<img src="images/usd_viewer_viewport_grab.gif" alt="UI">
<figcaption>USD Viewer Plugin Viewport Grab</figcaption>
</figure>

As shown in the figure above, new UsdViewportGrab nodes can be linked using the *Link* menu in the plugin menu bar. When the viewer is linked, the menu name will switch from *Link* to *Linked*. Linked nodes will receive new viewport snapshots whenever the user pans, zooms or manually changes the current frame.

The `UsdViewportGrab` node allows selecting the desired AOV or aspect ratio for the snapshot.

>[!NOTE]
> Linking the viewer to a node will cause a slight computational overhead to send the information to the workflow. This might cause a decrease in the smoothness of the interaction with the viewer. However, the linking status updates can be temporarily disabled by deselecting the *Active* option in the *Link* menu. While the stage is in [playback status](#playback-animated-stages) the linking status updates will be paused automatically.


<!--
### Examples
This section is reserved to an example video of how to use USD resources.
Expand Down
Binary file added docs/reference/images/createSubworkflow.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference/images/group.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference/images/image_viewer_plugin.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/reference/images/note.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 29 additions & 2 deletions docs/reference/notes.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,37 @@
# Notes

Shift allows to add notes to the board. To add one, simply press `N` while the mouse is on the board. This will create a text box where a note can be written.
Shift allows to add notes to the board. To add one, simply press `N` while the mouse is on the board. This will create a yellow text box where a note can be written.

Notes can be dragged around the board and edited by double-clicking on the text box. To resize the note, simply drag the note's corners.
Additionally, the note color can be changed by right-clicking on the note, as well as the font color. This will open a color dialog where the user can select a new color.

<figure>
<img src="images/note.gif" alt="Note">
<figcaption><b>Figure 1</b>: A note being added to the Shift board.</figcaption>
</figure>

Notes can be dragged around the board and edited by double-clicking on the text box.
# Groups

Shift groups are graphic objects that help organize other items throughout the board. With Shift groups, nodes, notes, and other groups can be boxed, labeled and moved together.
To create a group, use the `Ctrl + G` shortcut. If there are selected items on the board, they will be automatically wrapped inside the new group, otherwise, the group will be created where the cursor is located.

<figure>
<img src="images/group.gif" alt="Group">
<figcaption><b>Figure 2</b>: A group being added to the Shift board.</figcaption>
</figure>

Groups can be dragged around the board and selected by clicking on the interactive (non-transparent) area at the top of the group. To resize the group, simply drag its corners. The name of the group can be changed by double-clicking on it.
Additionally, all items of the group can be selected by clicking on the "*Select All*" option in the group's context menu (`Right-Click`).

### Create Subworkflows

The "*Create Subworkflow*" option of the context menu allows to convert a group into a new separate workflow. When used, it automatically copies the group content to another board and saves it, taking care of generating the inputs, outputs and necessary connections. Then it replaces the original group with a [`Workflow`](../../reference/nodes/workflow) node that links to the newly created workflow. This encapsulates the group's content in a new subworkflow, allowing it to simplify complex workflows and better organize the Shift board.

The name of the new workflow will be the group's name.

The default location of the new workflow will be the same one as the location of the workflow where the original group is. Before generating the workflow, this location can be changed if needed. If the workflow were the group has not been ever saved, a location must be defined before creating the subworkflow.

<figure>
<img src="images/createSubworkflow.gif" alt="Group">
<figcaption><b>Figure 3</b>: A workflow created out of a group. A new board is created and a Workflow node replaces the group.</figcaption>
</figure>
20 changes: 20 additions & 0 deletions docs/reference/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,23 @@ The *Variables Browser* allows users to parse the workflow variables currently s
<figcaption><b>Figure 2</b>: Variables Browser Plugin</figcaption>

</figure>

### The Image Viewer

The *Image Viewer* allows users to visualize image data within Shift. When opened, the plugin will look for image data in the output plugs of the selected nodes that follow a special naming convention:

- A plug whose name starts with `images`: Will expect a Python list containing a sequence of images and display them with a slider for parsing the frames.
- A plug whose name starts with `image`: Will expect a single image object and display it.

The zoom can be changed using the mouse wheel. The plugin also allows for panning the image using the `Left-Click and Drag` or `Middle-Click and Drag` mouse actions.

<figure>
<img src="images/image_viewer_plugin.gif" alt="UI">
<figcaption><b>Figure 3</b>: Image Viewer Plugin</figcaption>

</figure>

As shown in *Figure 3* above, the plugin will display the pixel coordinates and RGB values of the hovered pixel in a Tool Tip message.

> [!NOTE]
> The plugin uses the `numpy` Python library to process the image data, so any Python object that can be converted to a numpy array should display correctly (e.g. pillow objects).
41 changes: 41 additions & 0 deletions docs/release_notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,46 @@
# Release Notes

## Version 1.2.0

### Added

#### Core
- Added Shift's [Image Plugin](reference/plugins#the-image-viewer) that allows to display image data of selected notes.
- Added [Shift Groups](reference/notes#groups) to group board items together. Shift groups come with features like selecting and moving grouped items and creating subworkflows.

- Added an option to create a subworkflow from a Shift group. This will generate a new workflow file and replace the group content with a Workflow node pointing to the new workflow file.

- Added an option to change the color of a note.
- Added a tooltip to connections to inspect the connected plugs.


#### Integration & Resources

**USD**
- Added support for animated stages in the USD viewer plugin.
- Added a new node named [UsdViewportGrab](integration_resources/resources/USD/susdviewer) that allows to grab snapshots of the current viewport AOV buffers to use in the workflow.

- Added the logic to link and unlink the USD viewer tabs to *UsdViewportGrab* nodes.


### Improvements

#### Core
- Notes now have colors and allow resizing by dragging their edges and corners.

- Node names are retained when copying and pasting a node.

### Bug Fixes

#### Core

- Fixed issue that would not preserve the previous selection after removing an item. *Shift-1262*

#### Integration & Resources

**USD**
- Fixed the USD plugins' tabs so they are closed when their corresponding USD stage node is deleted. *Shift_USD-215*

## Version 1.1.1

### Added
Expand Down
Loading