Skip to content

Commit

Permalink
Merge branch 'dev/ptrottier/packaging_improvements' into 'main'
Browse files Browse the repository at this point in the history
REMIX-3904: Improved mod packaging flow by adding a window to fix unresolved assets

See merge request lightspeedrtx/lightspeed-kit!860
  • Loading branch information
SmokedPete committed Mar 6, 2025
2 parents 68a82c8 + da66310 commit 8dfcb4a
Show file tree
Hide file tree
Showing 36 changed files with 1,314 additions and 195 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- REMIX-3896: Improve the Unload Stage (Close Project) button behavior
- REMIX-3832: Update material property widget to work with virtual attributes
- Upgraded the AI Tools PyTorch Version
- REMIX-3904: Improved mod packaging flow by adding a window to fix unresolved assets

### Fixed
- REMIX-2350: Updating capture window behavior to avoid it hanging on other tabs
Expand Down
1 change: 1 addition & 0 deletions source/apps/exts.deps.generated.kit
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
"lightspeed.trex.mod_packaging_layers.widget" = {}
"lightspeed.trex.mod_packaging_output.widget" = {}
"lightspeed.trex.packaging.core" = {}
"lightspeed.trex.packaging.window" = {}
"lightspeed.trex.project_wizard.core" = {}
"lightspeed.trex.project_wizard.existing_mods_page.widget" = {}
"lightspeed.trex.project_wizard.file_picker.widget" = {}
Expand Down
4 changes: 2 additions & 2 deletions source/apps/lightspeed.app.trex.app.settings.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ folders.'++' = ["${app}/../exts", "${app}/../extscache", "${app}/../apps"]
grid.trackCamera = true

[app.window]
width = 1700
height = 800
width = 1800
height = 900
x = -1
y = -1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
version = "1.1.3"
version = "1.1.4"
authors =["Pierre-Olivier Trottier <[email protected]>"]
title = "Mod Packaging Layers Widget"
description = "Mod Packaging Details Layers implementation"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Changelog
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [1.1.4]
## Fixed
- Fixed default state for muted layers

## [1.1.3]
## Changed
- Update to Kit 106.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,10 @@ def _update_model_item_package_status(self, *_):
item.data["exclude_package"] = not should_package
if "package" in item.data and should_package:
continue
item.data["package"] = should_package or is_capture_baker
# Set the default package status. Disable muted layers by default
item.data["package"] = (
(should_package or is_capture_baker) and item.data.get("visible") and item.data.get("parent_visible")
)

self._layers_validity_changed()

Expand Down
16 changes: 11 additions & 5 deletions source/extensions/lightspeed.trex.packaging.core/bin/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,20 @@ async def run(parsed_args):
try:
core = PackagingCore()

def print_completed(errors, failed_assets, cancelled):
message = "Project Packaging Finished:\n"
if errors or failed_assets:
if errors:
message += f"Errors occurred: {errors}\n"
if failed_assets:
message += f"Failed to collect assets: {failed_assets}\n"
else:
message += "Packaging was cancelled." if cancelled else "The project was successfully packaged."

_progress_sub = core.subscribe_packaging_progress( # noqa F841
lambda c, t, s: print(f"Progress: {s} ({c} / {t})")
)
_completed_sub = core.subscribe_packaging_completed( # noqa F841
lambda e, c: print(
f"Project Packaging Finished: {f'Errors occurred: {e}' if e else 'Cancelled' if c else 'Success'}"
)
)
_completed_sub = core.subscribe_packaging_completed(print_completed) # noqa F841

success = await core.package(read_json_file(parsed_args.schema))
if success:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
version = "1.0.20"
version = "1.1.0"
authors =["Pierre-Olivier Trottier <[email protected]>"]
title = "Mod Packaging Core"
description = "Mod Packaging Core implementation"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

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

## [1.1.0]
## Added
- Added the ability to get unresolved assets ignore errors

## [1.0.20]
## Changed
- Update to Kit 106.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import re
from pathlib import Path
from typing import List, Optional
from typing import List, Optional, Tuple

from lightspeed.trex.replacement.core.shared import Setup as _ReplacementCore
from omni.flux.utils.common.omni_url import OmniUrl as _OmniUrl
Expand Down Expand Up @@ -55,6 +55,9 @@ class ModPackagingSchema(BaseModel):
mod_name: str = Field(..., description="The display name used for the mod in the RTX Remix Runtime.")
mod_version: str = Field(..., description="The mod version. Used when building dependency lists.")
mod_details: Optional[str] = Field(None, description="Optional text used to describe the mod in more details.")
ignored_errors: Optional[List[Tuple[str, str, str]]] = Field(
None, description="A list of errors to ignore when packaging the mod."
)

@validator("mod_layer_paths", allow_reuse=True)
def at_least_one(cls, v): # noqa
Expand Down
Loading

0 comments on commit 8dfcb4a

Please sign in to comment.