> For the complete documentation index, see [llms.txt](https://community.threekit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community.threekit.com/releases/2021/2021.9.0-april-23-2021.md).

# 2021.9.0 - April 23, 2021

Environments

`Preview`, `Admin-FTS`

###

### Catalog

**Part Reference Attributes** have been extended to support combined tags for better option selection. For example, the available options must include “#upholstery & #spring21”.<br>

<figure><img src="/files/eTpxfOtdTtboFEUALQ5h" alt=""><figcaption></figcaption></figure>

That will return a list of all Items that contain both tags. Part References can contain combined tags, individual, tags, and individual items.

When creating Part Reference attributes and setting the possible options, use the “&” when selecting tags or use the new “Create group” button in the Item dropdown.

**Rule conditions** can now check if an attributes value is empty or undefined in order to create more comprehensive rules in platform.<br>

<figure><img src="/files/jYx9TqQX0ZbrXlwfcIQ8" alt=""><figcaption></figcaption></figure>

**Bulk tagging** has been added to Catalog items. Select one or more Items and use the new bulk action “Tags”.

![](/files/NuMVcdrzxJ2LWD0GCzlb)

In the Tags bulk action, you can modify the selected Items:

* Add existing tags
* Create and add new tags
* Remove tags

![](/files/So8qFT87Ft6elaTDGHm2)

### Virtual Photographer

**VRscene imports** now provide the option to import based on tools in order to improve imported asset results.

![](/files/xhLDFJYln6BwTTyoVBze)

* Maya (Default) - Apply a rotation to axis dependent data like environment maps to match the target rendering system.
* 3ds Max - UV channel reduced by 1 for materials
* Other - No alterations

Also, a Cancel button has been added to the dialog.

### API

**getDisplayAttributes()** has added to the Threekit client-side API to return all visible attributes and their associated data to make integrations easier and more robust. For example, attribute tags and metadata are now returned to build better configuration experiences, like attribute option groupings and styles.

Using `includeHidden` and `enabledOnly` boolean options, you can also return hidden or disabled attributes. The API returns the following Attribute data:

* Name
* ID
* Type
* Visibility
* Enabled
* Default value
* Available value
* Name
* Type
* Value
* Visibility
* Enabled
* Tags
* Metadata (for Part References)

### Orders

**Orders webhooks** can be filtered by Order Status so that they fire only when you want to create workflows for each state. For example, post-order workflows can be triggered only when an order is created but an email campaign can be triggered if an item is sitting “in cart”.

<img src="/files/Sc8T07Ujy04QJWA65UZT" alt="" width="563">

### Bugs / Cases

* GL6827 - Blend Shape normals are not respecting the smoothing groups
* GL6786 - Multiple Canvas creation when using SVGs as textures
* GL6768 - Ducks and x's appearing in renders
* GL6670 - Configuring nested part-referenced attributes throws an error
* GL6727 - 2D player zoom swipe also scrolls page on iPhone


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://community.threekit.com/releases/2021/2021.9.0-april-23-2021.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
