Skip to content

Releases: wabiverse/SwiftUSD

v23.11.7

25 Dec 17:31
ab71f1e
Compare
Choose a tag to compare

What's New

  • Extend Pixar.Usd.Stage with the ability to undergo scene traversal with the Pixar.Usd.Stage.traverse() function and the ability to open existing scenes with Pixar.Usd.Stage.open(_:load:) function.
  • Resolve duplicate symbols with some wrapXXX() python functions due to Swift ignoring the hidden visibility attribute on those symbols.
  • Initial working ability to create a new Usd.Stage with Pixar.Usd.Stage.createNew("HelloUSD.usda").
  • Addition of the Pixar.Bundle API to automatically install all plugin resources across USD, use it like the following:
    Pixar.Bundle.shared.setup(.resources)
    
    // check your console for any coding errors here, if any are found please create a new issue from the link below.
    
    Pixar.Usd.Stage.createNew("HelloUSD.usda")
  • Correct the paths used to register with PlugRegistry when using Pixar.Bundle.shared.setup(.resources), please create a new issue if you experience any crashes when creating a new USD stage with Pixar.Usd.Stage.createNew("HelloUSD.usda"), to ensure the configured paths match all systems and edge cases.
  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.
  • Support successfully building SwiftUSD (in addition to MetaverseKit) with Xcode.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Provide another Xcode workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.7"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.6

21 Dec 01:30
c747b01
Compare
Choose a tag to compare

What's New

  • Resolve duplicate symbols with some wrapXXX() python functions due to Swift ignoring the hidden visibility attribute on those symbols.
  • Initial working ability to create a new Usd.Stage with Pixar.Usd.Stage.createNew("HelloUSD.usda").
  • Addition of the Pixar.Bundle API to automatically install all plugin resources across USD, use it like the following:
    Pixar.Bundle.shared.setup(.resources)
  • Correct the paths used to register with PlugRegistry when using Pixar.Bundle.shared.setup(.resources), please create a new issue if you experience any crashes when creating a new USD stage with Pixar.Usd.Stage.createNew("HelloUSD.usda"), to ensure the configured paths match all systems and edge cases.
  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.
  • Support successfully building SwiftUSD (in addition to MetaverseKit) with Xcode.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Provide another Xcode workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.6"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.5

20 Dec 23:29
65fba93
Compare
Choose a tag to compare

What's New

  • Resolve duplicate symbols with some wrapXXX() python functions due to Swift ignoring the hidden visibility attribute on those symbols.
  • Initial working ability to create a new Usd.Stage with Pixar.Usd.Stage.createNew("HelloUSD.usda").
  • Addition of the Pixar.Bundle API to automatically install all plugin resources across USD, use it like the following:
    Pixar.Bundle.shared.setup(.resources)
  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.
  • Support successfully building SwiftUSD (in addition to MetaverseKit) with Xcode.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Provide another Xcode workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.3"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.4

20 Dec 20:08
a81355e
Compare
Choose a tag to compare

What's New

  • Initial working ability to create a new Usd.Stage with Pixar.Usd.Stage.createNew("HelloUSD.usda").
  • Addition of the Pixar.Bundle API to automatically install all plugin resources across USD, use it like the following:
    Pixar.Bundle.shared.setup(.resources)
  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.
  • Support successfully building SwiftUSD (in addition to MetaverseKit) with Xcode.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Provide another Xcode workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.3"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.3

18 Dec 08:15
c222bd9
Compare
Choose a tag to compare

What's New

  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.
  • Support successfully building SwiftUSD (in addition to MetaverseKit) with Xcode.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Provide another Xcode workaround for Xcode's inability to build a target that does not provide object files, because its tooling is hardcoded to expect the output of at least some symbols for all libraries.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.3"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.2

18 Dec 07:22
56c5136
Compare
Choose a tag to compare

What's New

  • Addition of the GfVec3f type from Pixar.Gf to the Swift API.
  • Easily embed Vulkan for applications or libraries that link with SwiftUSD.

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Provide a workaround related to Xcode's inability to build swift packages that depend on (more than one) .xcframework that contain a module.modulemap file to it's headers.

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.2"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.1

14 Dec 01:07
3d33da0
Compare
Choose a tag to compare

What's New

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

An additional change has been provided to this release which easily embeds Vulkan for applications or libraries that link with SwiftUSD.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.1"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.11.0

10 Dec 17:08
159f3e5
Compare
Choose a tag to compare

What's New

We are now prepared to commence comprehensive development of the Swift API for Pixar USD. Following the successful integration of each module so far, packed with umbrella headers that encompass the entirety of their associated header files.

Our current focus will be on ensuring Linux compatibility and transforming MetaverseKit into a cross-platform Swift package. Additionally, we will collaborate with the SwiftPM team to enhance the capabilities of the package manager. Our goal is to seamlessly incorporate this Package.swift file into the root of the official OpenUSD project, preserving its existing project structure.

What Works


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp
  • Pixar.Usd


What's Fixed

  • Resolved a tiny but catastrophic error that was causing the Swift compiler to crash with no error given, the stack trace appeared it was getting hung up somewhere around here, at the following function in Tf.refPtr.h:

// swift hated this. 
friend T *get_pointer(TfRefPtr const &p) {
  return static_cast<T *>(const_cast<TfRefBase *>(p._refBase));
}

// this got things working seamlessly again.
using DataType = T;

friend DataType *get_pointer(TfRefPtr const &p) {
  return static_cast<DataType *>(const_cast<TfRefBase *>(p._refBase));
}

Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.11.0"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.8.20

10 Dec 01:12
7a93946
Compare
Choose a tag to compare

What's New

  • This release moves SwiftUSD along with the addition of modules from the Pixar/Usd package.


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar
  • Pixar.Kind
  • Pixar.Sdf
  • Pixar.Pcp 🎉.
  • Pixar.Usd 🎉🎉.


What's Fixed

  • Resolved what SwiftPM considers to be "unstable versioning" in some community packages, which often causes headaches for the consumers of packages which depend on packages with "unstable versioning".

  • Added a hotfix patch workaround for app bundles failing to compile due to some metal shader compilation errors in MXResources.

  • Resolved an issue where static initializers would lead to duplicate linker symbols because Pixar modules need to define their respective module name and link against the monolithic target instead of the individual libraries.


Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.8.20"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh

v23.8.19

09 Dec 16:50
ba99056
Compare
Choose a tag to compare

What's New

  • This release moves SwiftUSD along with the addition of modules from the Pixar/Usd package.


Pixar/Base

  • Pixar.Arch
  • Pixar.Tf
  • Pixar.Gf
  • Pixar.Js
  • Pixar.Trace
  • Pixar.Vt
  • Pixar.Work
  • Pixar.Plug

Pixar/Usd

  • Pixar.Ar 🎉.
  • Pixar.Kind 🎉.
  • Pixar.Sdf 🎉.


What's Fixed

  • Resolved what SwiftPM considers to be "unstable versioning" in some community packages, which often causes headaches for the consumers of packages which depend on packages with "unstable versioning".

  • Added a hotfix patch workaround for app bundles failing to compile due to some metal shader compilation errors in MXResources.

  • Resolved an issue where static initializers would lead to duplicate linker symbols because Pixar modules need to define their respective module name and link against the monolithic target instead of the individual libraries.


Usage

To use this release of Pixar's USD in your swift project, add the following to your Package.swift file:

dependencies: [
  .package(url: "/~https://github.com/wabiverse/SwiftUSD.git", from: "23.8.19"),
]

Note

Zero prerequisites, just run swift build in your own swift app, game, library, or plugin.

Screenshot 2023-11-14 at 11 02 35 PM

Note

The Wabi Foundation uses SwiftUSD to build the Kraken metaversal creation suite, you can always find an up to date configuration to use for your own Swift project here.

aliens-oooh