-
Notifications
You must be signed in to change notification settings - Fork 22
Changed modding tabs to vertical layout (consistent with Ingestion and AI Tools) #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changed modding tabs to vertical layout (consistent with Ingestion and AI Tools) #7
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
WalkthroughReplaces the left components pane with a top bar and vertical tab layout; adds editable project-name UI and Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant TopBar as Top Bar UI
participant Tabs as _TabbedFrame
participant SetupUI
participant Props as Property Panel
User->>TopBar: click tab
TopBar->>Tabs: change selection
Tabs->>SetupUI: _on_tab_selection_changed(selected)
SetupUI->>Props: show selected pane
SetupUI->>Props: hide others
Note right of Tabs #DDEBF7: Vertical tab selection drives property visibility
sequenceDiagram
autonumber
participant Stage as Stage Events
participant SetupUI
participant Label as Project Name UI
Stage-->>SetupUI: OPENED / SAVED / CLOSED
SetupUI->>SetupUI: _update_project_name_label()
alt Stage has root path
SetupUI->>Label: display root-derived name
else No root path
SetupUI->>Label: display "Untitled Project"
end
User->>Label: double-click
Label->>SetupUI: _on_project_name_double_clicked(...)
SetupUI->>Label: enable edit
Label->>SetupUI: _on_end_edit_project_name(value)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Pre-merge checks (3 passed)✅ Passed checks (3 passed)
Poem
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (1)
765-778: Add explicit cleanup for all subscriptions in Stagecraft SetupUI.destroy()The current
destroy()only handles feature-flag and task cleanup; the following subscriptions created earlier insetup_ui.pyare not being unsubscribed or revoked:
_subcription_app_window_size_changed(window-resize event at lines 94–96)_sub_stage_event(stage-event stream at lines 101–103)_page_changed_suband_page_changed_dialog_sub(global PAGE_CHANGED events at lines 119–124)Neither this override nor the base-class
destroy()calls into Carb’s/event-manager’s unsubscribe APIs or invokes.Revoke()/.destroy()on those subscription objects. You’ll need to add something along these lines beforesuper().destroy():def destroy(self): if self._feature_flags_changed_subs: self._feature_flags_core.unsubscribe_feature_flags_changed(self._feature_flags_changed_subs) + if self._subcription_app_window_size_changed: + self._subcription_app_window_size_changed.Revoke() # or .destroy() + self._subcription_app_window_size_changed = None + + if self._sub_stage_event: + self._sub_stage_event.Revoke() + self._sub_stage_event = None + + if self._page_changed_sub: + event_manager = _get_event_manager_instance() + event_manager.unsubscribe_global_custom_event( + GlobalEventNames.PAGE_CHANGED.value, self._page_changed_sub) + self._page_changed_sub = None + + if self._page_changed_dialog_sub: + event_manager = _get_event_manager_instance() + event_manager.unsubscribe_global_custom_event( + GlobalEventNames.PAGE_CHANGED.value, self._page_changed_dialog_sub) + self._page_changed_dialog_sub = None + if self.__enable_items_task: self.__enable_items_task.cancel() self.__enable_items_task = None if self.__update_recent_items_task: self.__update_recent_items_task.cancel() self.__update_recent_items_task = None super().destroy()Please verify that each subscription type supports the chosen unsubscribe or
.Revoke()method, and adjust accordingly to prevent memory leaks.
🧹 Nitpick comments (13)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
4-7: Fix heading level for consistency.Use “### Changed” instead of “## Changed” to match the rest of this file and the Keep a Changelog convention.
-## [1.2.2] -## Changed +## [1.2.2] +### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (1)
5-8: Normalize heading level of the new entry.The new block uses “## Changed” whereas prior entries use “### Changed/Fixed”. Please align.
-## [1.2.2] -## Changed +## [1.2.2] +### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
4-7: Update heading level to “### Changed” for consistency.Keeps formatting uniform with the rest of the file.
-## [1.7.2] -## Changed +## [1.7.2] +### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-7: Changelog polish: add date and consider noting the “Project Setup” rename.
- Suggest adding a date to “## [2.5.3]” (for example, “- 2025-08-25”) to match prior dated entries.
- Since this release also renames “Captures / Setup” → “Project Setup” elsewhere in the PR, consider a sub-bullet or cross-reference here for traceability.
source/extensions/omni.flux.tabbed.widget/config/extension.toml (1)
3-3: Version bump to 1.2.2 aligns with the spacing adjustments.Looks good and matches the referenced UI changes. Minor nit: the comment on Line 2 says “Semantic Versionning”; consider fixing the spelling in a follow-up.
CHANGELOG.md (2)
22-22: Use consistent terminology: "top bar" instead of "menu bar".Other files and docs in this PR call this element the “top bar.” Aligning wording improves traceability and avoids ambiguity.
Apply this diff:
- - Added a new menu bar to support the vertical tab layout + - Added a new top bar to support the vertical tab layout
41-41: Call out the user-facing tab rename in the root changelog.The PR renames “Captures / Setup” to “Project Setup,” which is user-visible and worth noting explicitly in the root changelog.
Apply this diff near the vertical tabs entry:
- Changed modding tabs to a vertical layout, consistent with Ingestion and AI Tools tabs + - Renamed the "Captures / Setup" tab to "Project Setup"source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py (1)
530-530: Right-side padding addition is fine; consider centralizing the 16px spacing as a named constant to keep panes consistent.This file and Mod Packaging both introduce a 16px spacer. Defining a shared constant improves maintainability and visual consistency.
Apply this diff here:
- ui.Spacer(width=ui.Pixel(16)) + ui.Spacer(width=ui.Pixel(_RIGHT_SIDE_PADDING))And add near the class’ constants (outside this hunk):
_RIGHT_SIDE_PADDING = 16 # keep in sync with other panes (e.g., Mod Packaging)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py (1)
190-190: Matches Mod Setup spacing; extract the 16px padding to a constant for consistency.Same rationale as Mod Setup: avoids magic numbers and keeps panes visually aligned.
Apply this diff:
- ui.Spacer(width=ui.Pixel(16)) + ui.Spacer(width=ui.Pixel(_RIGHT_SIDE_PADDING))And add near the top of this module:
_RIGHT_SIDE_PADDING = 16 # keep in sync with Mod Setup panesource/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (2)
58-59: Docstring updated — consider clarifying orientation-specific behavior (optional)Minor nit: “Add a spacer at the beginning of the tab list” could note that “beginning” maps to top (horizontal) vs left (vertical) for readability.
245-247: Conditional spacer creation is correct; avoids extra gutter in vertical modeThe guard prevents an extra empty column/row when the client disables it. No layout regressions expected.
To improve ergonomics and reduce future API misuse, consider adding small convenience wrappers (optional) since some callers intuitively look for methods:
# Optional wrappers (outside the changed hunk) def get_model(self) -> _Model: return self._model def set_selection(self, item_or_title): # Accept either an Item or a title string if hasattr(item_or_title, "title"): self.selection = [item_or_title.title] else: self.selection = [str(item_or_title)]This keeps the canonical property API while accommodating common call patterns spotted in downstream code.
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
144-155: Stage events: project name refresh and pane refresh are appropriateRefreshing the project name on OPENED/CLOSED/SAVED and iterating panels to refresh aligns panels with the current stage. Consider batching or deferring multiple refreshes if you notice stutter on large scenes, but this is fine for now.
If performance becomes a concern, debounce the multiple
panel.refresh()calls into a single microtask usingnext_update_async().
461-550: Top bar UI structure is sound; minor simplification opportunity for nested contextsThe ZStack/VStack/HStack structure and background layering reproduce the existing visual style. Static analysis notes several nested
withblocks that can be flattened by using a singlewithwith multiple context managers. It’s optional but reduces indentation and improves readability.Example pattern:
- with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): + with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)), ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): ...(Apply judiciously where it doesn’t harm clarity.)
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (20)
CHANGELOG.md(2 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(12 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
source/extensions/**/config/extension.toml
⚙️ CodeRabbit configuration file
source/extensions/**/config/extension.toml: Ignore remarks about un-pinned dependencies; our team intentionally leaves"omni.flux.*"and"lightspeed.*"
dependencies without an explicit version to get the latest version.
Files:
source/extensions/omni.flux.tabbed.widget/config/extension.tomlsource/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.tomlsource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.tomlsource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.tomlsource/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.tomlsource/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (8)
SetupUI(34-328)get_frame(125-135)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)destroy(325-328)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (3)
SetupUI(28-64)get_frame(40-44)show_panel(53-59)
🪛 LanguageTool
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ## Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.1.2] ## Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
461-462: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
472-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
490-491: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
574-575: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🔇 Additional comments (23)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml (1)
2-2: Manifest and Changelog Alignment ValidatedAll requested verifications have been completed successfully:
The extension.toml in
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.tomlis set to version 1.9.1 and references
•changelog = "docs/CHANGELOG.md"
•preview_image = "data/preview.png"The widget’s CHANGELOG at
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.mdcontains:## [1.9.1] ### Changed - Adjusted spacing for the new vertical modding tabsThe preview image file exists at
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/data/preview.png.No further changes are needed—everything is aligned.
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml (1)
5-5: Verified: CHANGELOG entry for version 1.2.2 is present
- Confirmed
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.mdcontains a## [1.2.2]entry on line 4.No further changes required.
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml (1)
2-2: Version bump to 1.7.2 confirmed and CHANGELOG entry presentThe
version = "1.7.2"in
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
matches the## [1.7.2]entry found at line 4 of
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md. No further changes required.source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py (1)
352-352: Added right-side padding spacer looks correct and matches vertical tabs spacingThe
ui.Spacer(width=ui.Pixel(16))at the end of theHStackprovides symmetric right padding for the panel content when adjacent to vertical tabs. No functional changes introduced.source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml (1)
2-2: Version bump and new dependency are aligned with the code changes
- Bumping to
2.5.3is fine.- Adding
"omni.flux.tabbed.widget" = {}is required sincestagecraft/setup_ui.pynow imports and uses_TabbedFrame. This follows our guideline to allow unpinnedomni.flux.*deps.If CI includes extension load tests, please ensure the updated
omni.flux.tabbed.widget(that exposes theadd_initial_spacerarg) is available in the runtime image. If you want, I can provide a quick script to assert importability at startup.Also applies to: 34-34
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (2)
45-46: Public API: add_initial_spacer parameter is a backward-compatible additionDefaulting
add_initial_spacertoTruepreserves existing behavior, while allowing callers (e.g., Stagecraft) to disable the pre-tab spacer in vertical layouts.
78-79: State wiring for the new parameter is correctStoring
self._add_initial_spacerhere is consistent with other init args.source/extensions/lightspeed.common/lightspeed/common/constants.py (1)
553-556: New UI constant is fine and self-descriptive
UNTITLED_PROJECT_NAME = "Untitled Project"is appropriately placed with other UI-facing constants and used downstream by Stagecraft to display a default project name.source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (15)
80-82: New top-bar constants look reasonable
HEIGHT_TOP_BAR = 40andWIDTH_TOP_BAR = 40are sensible defaults for a compact bar and narrow vertical tabs. These are referenced consistently in layout math below.
167-183: Project name label: good defaults and robust checks
- Falls back to
UNTITLED_PROJECT_NAME.- Handles anonymous layers safely.
- Keeps label/field visibility toggled correctly.
184-193: Double-click-to-edit flow looks correctGuarding on mouse button and toggling visibility/focus is straightforward. No issues.
218-223: Post-import refresh hook makes senseRefreshing all property panels after importing a layer ensures UI reflects new layers immediately.
369-377: State additions are appropriate for the new top-bar and tabbed layoutNew fields for
_tabbed_frame, tab selection sub, project-name widgets, and buttons align with the new UI responsibilities.
551-558: Property/viewport splitter: initial offset and visibility are correct
- Offset set to
WIDTH_TOP_BAR + WIDTH_PROPERTY_PANELmatches left column width.offset_x_changed_fnwired to clamping handler (see below).
573-582: Viewport and Stage Manager containers look fineThe staging of viewport, stage-manager frame, and its splitter as separate frames eases feature-flag rebuilds later.
583-589: Tabs population and selection-change subscription are correctUsing
ComponentsEnumItemsfor tab titles keeps Stagecraft and Properties panes in sync and avoids drift.
590-607: Feature-flag-driven rebuild is robustClearing, destroying, and rebuilding the stage manager when the feature flag changes prevents orphaned listeners.
Please confirm
_StageManagerWidget.destroy()unsubscribes all event streams to avoid leaks on repeated toggles.
609-612: Good: wiring “Project Setup” import event to properties panel refreshThe event flow properly updates downstream panels after import.
614-622: Viewport framing hookup is appropriateConnecting the selection panel to frame the viewport selection provides a tight UX loop.
623-626: Initial recent-items refresh and project-name update are in the right placeMaking these calls post-layout creation ensures widgets exist before updates land.
722-725: Burger menu anchor positioning is correctAnchoring to the icon’s screen position plus an 8px offset is a good touch target and avoids overlap.
749-761: Splitter clamping logic is correct; nice explicit bounds
- Min =
WIDTH_TOP_BAR + MIN_WIDTH_PROPERTY_PANEL- Max =
WIDTH_TOP_BAR + WIDTH_PROPERTY_PANEL
Properly updates both the splitter and the panel width to maintain alignment.
761-764: Tab selection handler correctly delegates to properties paneShowing the panel by title keeps the tabs and panes synchronized.
source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
Show resolved
Hide resolved
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
Show resolved
Hide resolved
...ents_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
...xtensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (6)
docs/howto/learning-toolkit.md (1)
11-12: Tighten phrasing; keep style consistent with the rest of the page.Minor editorial polish for flow. Also keeps the tab name in backticks.
-The `Project Setup` tab is primarily used to manage the currently loaded capture layer, as the project wizard -streamlines the remaining setup processes. +The `Project Setup` tab is primarily used to manage the currently loaded capture layer, since the project wizard +handles the remaining setup steps.source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (2)
9-11: Fix grammar: “to” → “too”; prefer lowercase “test assets” and present-tense to match style.Current bullet reads awkwardly and mixes casing/tense relative to nearby entries.
-### Fixed -- Fixed Test assets to large to work without LFS +### Fixed +- Fix test assets too large to work without LFS
13-14: Typo: “compatbility” → “compatibility”.Quick spelling fix.
-### Changed -- Update the documentation for Pydantic V2 compatbility +### Changed +- Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.common/docs/CHANGELOG.md (3)
4-7: Clarify the entry: name the symbol and use singular.As written, “constants” is vague and suggests multiple additions. If only one public symbol was introduced, spell it out for traceability.
-### Added -- Added constants for untitled project name +### Added +- Added `UNTITLED_PROJECT_NAME` constant
4-4: Optional: include a release date next to the version for consistency.Several prior entries (e.g., 1.0.5, 1.0.4) include a date. If 1.8.1 is being released now, add the date; otherwise keep it undated until tagging.
-## [1.8.1] +## [1.8.1] - 2025-08-25
4-7: Verify SemVer compliance and metadata alignmentAll checks confirm that:
UNTITLED_PROJECT_NAMEis defined in
source/extensions/lightspeed.common/lightspeed/common/constants.py(line 555) and is referenced in the stagecraft UI setup.- The extension’s version is set to
"1.8.1"in
source/extensions/lightspeed.common/config/extension.toml(line 3) and the changelog entry under
source/extensions/lightspeed.common/docs/CHANGELOG.mdbegins with## [1.8.1].Since
extension.tomldeclares “Semantic Versionning is used” and adding a new exported constant constitutes a backwards-compatible feature, strict SemVer would treat this as a minor bump (x.Y.z → x.(Y+1).0). To align:
- Update the version in
config/extension.tomlto"1.9.0".- Update the changelog header to
## [1.9.0].- Ensure any release scripts or manifests reflect 1.9.0.
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (4)
docs/howto/learning-toolkit.md(1 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- source/extensions/lightspeed.common/config/extension.toml
🧰 Additional context used
🪛 LanguageTool
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
🔇 Additional comments (2)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-6: No stale “Captures / Setup” references beyond the CHANGELOG; please confirm any doc anchors
- CHANGELOG.md: The only match for “Captures / Setup” is on line 6, where it’s intentionally recorded as being renamed to “Project Setup.”
- model_items.py (both in ingestcraft and stagecraft): defines
MOD_SETUP = "Project Setup"(line 25) and uses it viaEnumItems.MOD_SETUP.value; there are no remaining occurrences of the old label.- Documentation: our search didn’t surface any markdown headings or links pointing to a “Mod Setup” anchor. Please manually review any relevant
.mdfiles to ensure all links or anchor names have been updated.source/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-7: LGTM on placement and formatting.Entry is at the top, follows the existing “### Added” section structure, and keeps the descending order intact.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
314-321: Use _TabbedFrame public API for selection (no set_selection/get_model; set selection by titles)This will raise
AttributeErrorat runtime (set_selectionandget_modelaren’t public). Use.modeland assign to.selectionwith titles, as per the widget API.Apply:
- if self._tabbed_frame and not self._tabbed_frame.selection: - self._tabbed_frame.set_selection(self._tabbed_frame.get_model().get_item_children(None)[0]) + if self._tabbed_frame and not self._tabbed_frame.selection: + first_item = self._tabbed_frame.model.get_item_children(None)[0] + self._tabbed_frame.selection = [first_item.title]
628-645: Initial selection: fix API misuse and avoid mutating selection objects directly
- Do not append to
selection; set it via the property setter with a list of titles.- Don’t set
selectedflags manually; the widget manages this internally.Apply:
- if not value: - return - if not self._tabbed_frame.selection: - first_item = self._tabbed_frame.get_model().get_item_children(None)[0] - self._tabbed_frame.selection.append(first_item) - first_item.selected = True - self._on_tab_selection_changed(first_item) - else: - sel = self._tabbed_frame.selection[0] - sel.selected = True - self._on_tab_selection_changed(sel) + if not value: + return + if not self._tabbed_frame.selection: + first_item = self._tabbed_frame.model.get_item_children(None)[0] + self._tabbed_frame.selection = [first_item.title] + self._on_tab_selection_changed(first_item) + else: + selected_item = self._tabbed_frame.selection[0] + self._on_tab_selection_changed(selected_item)
🧹 Nitpick comments (2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
206-210: Optional UX: surface a brief, non-blocking notice when rename is blockedCurrently only logs a warning and reverts the label. Consider a small non-blocking notification (e.g., toast/snackbar) so users understand why the rename didn’t apply. Avoid modal dialogs here to keep flow smooth.
462-463: Minor: flatten nested with-statements per Ruff SIM117You can combine adjacent context managers to reduce nesting without changing semantics.
Example adjustments:
- with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - ui.Rectangle(name="WorkspaceBackground") - with ui.ScrollingFrame( + with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): + ui.Rectangle(name="WorkspaceBackground") + with ui.ScrollingFrame( name="TreePanelBackground", vertical_scrollbar_policy=ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_OFF, horizontal_scrollbar_policy=ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_OFF, scroll_y_max=0, - ): - with ui.VStack(): + ), ui.VStack(): for _ in range(10): with ui.HStack(): for _ in range(10): ui.Image("", name="TreePanelLinesBackground", fill_policy=ui.FillPolicy.PRESERVE_ASPECT_FIT, height=ui.Pixel(256), width=ui.Pixel(256))- with ui.ZStack(content_clipping=True): - with ui.VStack(): + with ui.ZStack(content_clipping=True), ui.VStack(): ui.Spacer() with ui.HStack(height=ui.Pixel(24)): ...- with ui.ZStack(): - with ui.VStack(): + with ui.ZStack(), ui.VStack(): self._viewport = _create_viewport_instance(self._context_name) stage_manager_frame = ui.Frame(build_fn=self._build_stage_manager, height=0)Also applies to: 473-479, 491-492, 575-576
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (8)
SetupUI(34-328)get_frame(125-135)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)destroy(325-328)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (3)
SetupUI(28-64)get_frame(40-44)show_panel(53-59)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py (3)
show(1004-1013)destroy(1015-1023)subscribe_import_replacement_layer(212-216)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
462-463: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
473-479: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
491-492: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
575-576: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: pr-checks (lint, .\lint_code.bat all)
- GitHub Check: pr-checks (format, .\format_code.bat --verify)
🔇 Additional comments (10)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (10)
26-26: Good fix: importing carb resolves prior NameError risksAdding
import carbunblockscarb.log_warn(...)and token resolution calls. No further action needed.
81-83: Introduce explicit top/side bar constants — looks goodDefining
HEIGHT_TOP_BARandWIDTH_TOP_BARclarifies layout math and improves readability.
168-184: Project-name label sync is robustGraceful guards for missing widgets and anonymous layers; keeps label/field in sync and ensures correct visibility state. Nice.
370-378: State additions are sensibleNew attributes for the vertical tabs, project-name widgets, and menu/back controls align with the new layout flow.
539-551: Vertical _TabbedFrame instantiation and property-pane wiring look correct
horizontal=Falsewithsize_tab_labeltied toWIDTH_TOP_BARis coherent with the new vertical layout.- Initial
show_panel(forced_value=False)ensures property frames are hidden until a tab is selected.No changes required.
584-589: Selection-change subscription correctly routes to property paneWiring
subscribe_selection_changedto_on_tab_selection_changedis the right hook for syncing pane visibility with tab selection.
609-623: Event wiring between Mod Setup/Asset Replacements and the layout is soundUsing
get_frame(ComponentsEnumItems.XXX)matches the API and keeps cross-pane interactions decoupled.
749-761: Splitter clamp logic is clear and correctClamping to
[WIDTH_TOP_BAR + MIN_WIDTH_PROPERTY_PANEL, WIDTH_TOP_BAR + WIDTH_PROPERTY_PANEL]and updating both the placer and panel width keeps layout stable during drags.
762-765: Tab selection handler is aligned with PropertyPanelUI APICalling
show_panel(title=selected_item.title)matches the pane’s interface and keeps panels mutually exclusive.
151-156: Stagecraft Paneget_frameSignature ConfirmedVerified that in
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py:
def get_frame(self, component_type_value: ComponentsEnumItems)iterates overself._all_frames.items()keyed byComponentsEnumItemsand returns the matching frame orNone(lines 40–44).self._all_framesis populated exclusively withComponentsEnumItemskeys in__create_ui()(lines 46–52).show_panelcorrectly comparesenum_item.valueagainst the optionaltitle: strand honorsforced_value: boolfor visibility (lines 53–60).Similar implementations in the ingestcraft and viewports panes also use
ComponentsEnumItems(or its alias) rather than strings. No changes required.
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Outdated
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Outdated
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Outdated
Show resolved
Hide resolved
9e5f8fd to
ae2716e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (6)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-4: Add a release date and verify extension.toml version parity.Follow Keep a Changelog by dating the release and ensure the widget’s config/extension.toml matches 1.9.1.
Apply:
-## [1.9.1] +## [1.9.1] - 2025-08-25Verify with:
#!/bin/bash # extension.toml version parity check for asset_replacements widget fd -a 'lightspeed.trex.properties_pane.shared.asset_replacements.widget' \ | rg -n '/config/extension\.toml$' \ | while read -r p; do echo "File: $p" rg -n '^\s*version\s*=\s*"1\.9\.1"\s*$' "$p" || echo "Version mismatch or missing." done # Confirm dated header present in the changelog rg -n '^## \[1\.9\.1\] - 2025-08-25$' source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.mdsource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (5)
219-223: Bug: same enum vs string mismatch hereRefresh loop again passes item.value; use the enum itself.
- if self._properties_pane: - for item in ComponentsEnumItems: - panel = self._properties_pane.get_frame(item.value) - if panel: - panel.refresh() + if self._properties_pane: + for item in ComponentsEnumItems: + panel = self._properties_pane.get_frame(item) + if panel: + panel.refresh()
314-320: API misuse: set_selection/get_model aren’t public on _TabbedFrameUse the model property and assign via the selection setter with titles.
- if self._tabbed_frame and not self._tabbed_frame.selection: - self._tabbed_frame.set_selection(self._tabbed_frame.get_model().get_item_children(None)[0]) + if self._tabbed_frame and not self._tabbed_frame.selection: + first_item = self._tabbed_frame.model.get_item_children(None)[0] + self._tabbed_frame.selection = [first_item.title]
628-645: API misuse when initializing/restoring selection; don’t append Items to selectionselection setter expects titles (List[str]); avoid mutating Item.selected directly.
- if not self._tabbed_frame.selection: - first_item = self._tabbed_frame.get_model().get_item_children(None)[0] - self._tabbed_frame.selection.append(first_item) - first_item.selected = True - self._on_tab_selection_changed(first_item) - else: - sel = self._tabbed_frame.selection[0] - sel.selected = True - self._on_tab_selection_changed(sel) + if not self._tabbed_frame.selection: + first_item = self._tabbed_frame.model.get_item_children(None)[0] + self._tabbed_frame.selection = [first_item.title] + self._on_tab_selection_changed(first_item) + else: + selected_item = self._tabbed_frame.selection[0] + self._on_tab_selection_changed(selected_item)
723-726: Ensure show_at receives raw device-pixel numbers, not ui.Pixel objectsUnwrap .value (and add a raw int for 8px) before calling show_at.
- get_burger_menu_instance().show_at( - self._menu_burger_widget.screen_position_x, - self._menu_burger_widget.screen_position_y + self._menu_burger_widget.computed_height + ui.Pixel(8), - ) + get_burger_menu_instance().show_at( + self._menu_burger_widget.screen_position_x.value, + self._menu_burger_widget.screen_position_y.value + + self._menu_burger_widget.computed_height.value + + 8, + )
151-156: Bug: get_frame expects enum key, not string valuePassing item.value likely yields None and skips refresh. Pass the enum member.
- if self._properties_pane: - for item in ComponentsEnumItems: - panel = self._properties_pane.get_frame(item.value) - if panel: - panel.refresh() + if self._properties_pane: + for item in ComponentsEnumItems: + panel = self._properties_pane.get_frame(item) + if panel: + panel.refresh()
🧹 Nitpick comments (5)
docs/howto/learning-toolkit.md (1)
11-12: Tighten phrasing (“as” → semicolon) for clarityThe current clause reads a bit causal; a semicolon keeps it crisp without implying causation.
-The `Project Setup` tab is primarily used to manage the currently loaded capture layer, as the project wizard +The `Project Setup` tab is primarily used to manage the currently loaded capture layer; the project wizardsource/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-7: Name the constant and end the bullet with a periodExplicitly naming the symbol helps downstream readers/search and matches the style used elsewhere. Also add terminal punctuation.
## [1.8.1] ### Added -- Added constants for untitled project name +- Added constant `UNTITLED_PROJECT_NAME` for the untitled project display name.source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
81-83: Top bar constants read well; minor naming nitSemantics are clear. If you touch this later, consider WIDTH_TAB_COLUMN instead of WIDTH_TOP_BAR to reflect it’s the vertical tab column width.
195-215: Surface a user-facing message when reverting file-backed project renameYou log a warning and revert the text. Consider a small toast/snackbar so users understand why their change didn’t stick.
I can wire a transient ui.Label overlay or reuse your existing message dialog helper with a non-blocking style. Want a patch?
462-545: Reduce nested context managers (SIM117) to simplify the layout blocksMultiple nested with ui.* can be merged into a single with statement. This is a readability/maintainability win and addresses static-analysis hints.
Example pattern:
-with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - ... - with ui.ZStack(content_clipping=True): - ... +with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)) as _: + with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)), ui.ZStack(content_clipping=True): + ...Apply similarly at other hotspots (473–479, 491–492, 575–576).
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (23)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
✅ Files skipped from review due to trivial changes (2)
- CHANGELOG.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
🚧 Files skipped from review as they are similar to previous changes (12)
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- source/extensions/lightspeed.common/lightspeed/common/constants.py
🧰 Additional context used
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (4)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (7)
SetupUI(34-328)get_frame(125-135)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (3)
SetupUI(28-64)get_frame(40-44)show_panel(53-59)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py (2)
show(1004-1013)subscribe_import_replacement_layer(212-216)
🪛 LanguageTool
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
462-463: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
473-479: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
491-492: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
575-576: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🔇 Additional comments (9)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
5-6: Changelog entry content looks good.The “Adjusted spacing for the new vertical modding tabs” note is clear and scoped correctly.
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
4-6: Manual verification required for version parity and CHANGELOG heading updatePlease confirm the following, as the automated check did not produce output:
- Verify that
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.tomlexists and contains:version = "1.7.2"- Verify that
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.mdincludes the updated header:## [1.7.2] - 2025-08-25 ### Changedsource/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-7: LGTM — rename captured correctly and format aligns with Keep a ChangelogEntry accurately reflects the tab rename and heading level is consistent with the file.
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (6)
26-26: Good fix: add standalone carb importResolves potential NameError when calling carb APIs later in the file.
168-184: Project name label update: solid UX guardrailsHandles anonymous vs file-backed projects correctly and keeps label/field in sync.
584-591: LGTM: tab model wiringCollecting enum values for titles and subscribing to selection change matches the widget API.
609-623: Connections from properties pane to events look correctRetrieving frames by enum and wiring import/go-to-ingest/selection hooks aligns with the widget contracts.
749-761: Splitter clamping reads correctly and avoids negative widthsGood use of MIN_WIDTH_PROPERTY_PANEL and top-bar offset; width recompute is correct.
762-765: Tab → panel mapping via title is correctshow_panel(title=selected_item.title) matches the properties pane API.
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
Show resolved
Hide resolved
9193c5c to
f984fe5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
14-14: Typo: “compatbility” → “compatibility”.This is user-facing documentation; fix the spelling.
-- Update the documentation for Pydantic V2 compatbility +- Update the documentation for Pydantic V2 compatibility
♻️ Duplicate comments (5)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
4-6: Fix 1.2.2 heading level and add release date (Keep a Changelog compliance).Use a dated version header and third-level subsection heading.
Apply:
-## [1.2.2] -## Changed +## [1.2.2] - 2025-08-25 +### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.9.1 header (Keep a Changelog) and verify manifest parityPlease date the new entry to align with other modules and Keep a Changelog. If releasing today, use 2025-08-26.
Apply:
-## [1.9.1] +## [1.9.1] - 2025-08-26Run to confirm the changelog header and that the extension manifest is bumped to the same version:
#!/bin/bash set -euo pipefail # Verify dated header rg -n '^## \[1\.9\.1\] - 2025-08-26$' source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md || { echo "⚠️ Missing dated header for 1.9.1" } # Find matching extension.toml and check version fd -a 'lightspeed.trex.properties_pane.shared.asset_replacements.widget' \ | rg -n '/config/extension\.toml$' \ | while read -r p; do echo "Checking $p" rg -n '^\s*version\s*=\s*"1\.9\.1"\s*$' "$p" || echo "⚠️ Version mismatch or missing in $p" donesource/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (1)
5-7: Normalize heading level and add release date for 1.2.2Use “### Changed” (level 3) and include the release date.
Apply:
-## [1.2.2] -## Changed +## [1.2.2] - 2025-08-26 +### Changed#!/bin/bash set -euo pipefail # Header/date check rg -n '^## \[1\.2\.2\] - 2025-08-26$' source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md || echo "⚠️ Missing dated 1.2.2 header" # extension.toml version parity fd -a 'source/extensions/omni.flux.tabbed.widget' \ | rg -n '/config/extension\.toml$' \ | while read -r p; do echo "Checking $p" rg -n '^\s*version\s*=\s*"1\.2\.2"\s*$' "$p" || echo "⚠️ Version mismatch or missing in $p" donesource/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-6: Date the 2.5.3 entry and use “### Changed”Align with Keep a Changelog and other updated modules.
Apply:
-## [2.5.3] -## Changed +## [2.5.3] - 2025-08-26 +### Changed#!/bin/bash set -euo pipefail # Header/date check rg -n '^## \[2\.5\.3\] - 2025-08-26$' source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md || echo "⚠️ Missing dated 2.5.3 header" # extension.toml version parity and dependency presence fd -a 'source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml' | while read -r p; do echo "Checking $p" rg -n '^\s*version\s*=\s*"2\.5\.3"\s*$' "$p" || echo "⚠️ Version mismatch or missing in $p" rg -n 'omni\.flux\.tabbed\.widget' "$p" >/dev/null || echo "⚠️ omni.flux.tabbed.widget dependency not declared in $p" donesource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (1)
715-723: Fix: pass numeric device-pixel coordinates to burger menu show_at(...)
screen_position_x/yandcomputed_heightareui.Pixel.Menu.show_at(x, y)expects numbers; passingui.Pixelwill cause a runtime error.Apply:
- burger_menu = get_burger_menu_instance() - if burger_menu is not None: - x_position = self._menu_burger_widget.screen_position_x - y_position = (self._menu_burger_widget.screen_position_y + - self._menu_burger_widget.computed_height + - 8.0) - - burger_menu.show_at(x_position, y_position) + burger_menu = get_burger_menu_instance() + if burger_menu is not None: + x = float(self._menu_burger_widget.screen_position_x.value) + y = float( + self._menu_burger_widget.screen_position_y.value + + self._menu_burger_widget.computed_height.value + + 8.0 + ) + burger_menu.show_at(x, y)
🧹 Nitpick comments (6)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
9-9: Normalize subsection heading levels to match the rest of the file.Use third-level headings under version sections.
-## Fixed +### Fixed-## Changed +### ChangedAlso applies to: 13-13
source/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-6: Use singular and reference the symbol for clarityOnly one symbol was added in this PR. Prefer singular and name it for traceability.
Apply:
-### Added -- Added constants for untitled project name +### Added +- Added constant for untitled project name (`UNTITLED_PROJECT_NAME`)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (4)
161-177: Guard both label and field before updating the project name UI
_update_project_name_labelchecks only for the label; it later dereferences the field unconditionally. Add a field check to avoid edge-caseAttributeErroron early calls.- if not hasattr(self, "_project_name_label") or not self._project_name_label: + if ( + not hasattr(self, "_project_name_label") or not self._project_name_label + or not hasattr(self, "_project_name_field") or not self._project_name_field + ): return
80-83: Naming nit: WIDTH_TOP_BAR actually drives the vertical tabs column widthThis constant is used for the vertical tabs width and splitter math, not the (horizontal) “top bar.” Consider renaming to avoid future confusion.
Example:
- HEIGHT_TOP_BAR = 40 - WIDTH_TOP_BAR = 40 + HEIGHT_TOP_BAR = 40 + WIDTH_TABS_COLUMN = 40And update call sites:
size_tab_label=(ui.Pixel(self.WIDTH_TABS_COLUMN), ui.Pixel(100))- splitter offset and clamps:
self.WIDTH_TABS_COLUMN + ...
448-478: Reduce nesting: combine adjacent context managers (SIM117)Multiple nested
withblocks can be combined to improve readability without changing behavior.Example pattern:
-with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): +with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)), ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): ...Apply similarly where feasible in this region (and at 459–465, 477–478, 561–562).
762-775: Optional: unsubscribe/destroy UI subscriptions on teardownYou create several subscriptions/handles (
_sub_tab_selection_changed,_sub_import_replacement_layer,_sub_frame_prim_selection_panel,_sub_go_to_ingest,_header_refreshed_task, etc.). Only the feature flags one is explicitly unsubscribed. Consider disposing of the rest to prevent leaks during hot-reload.For example:
def destroy(self): if self._feature_flags_changed_subs: self._feature_flags_core.unsubscribe_feature_flags_changed(self._feature_flags_changed_subs) + if self._sub_tab_selection_changed: + self._sub_tab_selection_changed = None # EventSubscription auto-unsub on GC; dropping ref is enough + if self._sub_import_replacement_layer: + self._sub_import_replacement_layer = None + if self._sub_frame_prim_selection_panel: + self._sub_frame_prim_selection_panel = None + if self._sub_go_to_ingest: + self._sub_go_to_ingest = None + if self._header_refreshed_task: + self._header_refreshed_task = None if self.__enable_items_task: self.__enable_items_task.cancel() self.__enable_items_task = None
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (23)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
✅ Files skipped from review due to trivial changes (1)
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
🚧 Files skipped from review as they are similar to previous changes (12)
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
- source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py
- CHANGELOG.md
🧰 Additional context used
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (8)
SetupUI(34-328)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)destroy(325-328)get_frame(125-135)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (3)
SetupUI(28-64)show_panel(53-59)get_frame(40-44)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
448-449: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
459-465: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
477-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
561-562: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🪛 LanguageTool
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.7.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.2.2] ## Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
🔇 Additional comments (3)
docs/howto/learning-toolkit.md (1)
11-12: LGTM: label rename reads clearly and matches the UIThe “Project Setup” rename is consistent and the surrounding context remains accurate.
source/extensions/lightspeed.common/lightspeed/common/constants.py (1)
553-556: LGTM: new public constant is well-scoped and namedThe
UNTITLED_PROJECT_NAMEaddition is clear and keeps user-facing strings centralized. No issues spotted.source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-7: Rename entry looks good and matches UI terminology“Captures / Setup” → “Project Setup” aligns with the enum/tab label changes elsewhere. No further action needed.
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Outdated
Show resolved
Hide resolved
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
Show resolved
Hide resolved
3053140 to
f1d4aa4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (5)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.7.2 header (Keep a Changelog compliance) and keep section level at H3Per prior feedback, the 1.7.2 entry should include a release date. Other modules follow “## [version] - YYYY-MM-DD”. Please add the date to maintain consistency across the repo.
Apply:
-## [1.7.2] +## [1.7.2] - 2025-08-26Run to verify the header and version parity:
#!/bin/bash set -euo pipefail # Verify dated 1.7.2 header rg -n '^## \[1\.7\.2\] - 2025-08-26$' source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md \ || { echo "⚠️ Missing dated 1.7.2 header"; exit 1; } # Find extension.toml and check version = "1.7.2" fd -a 'extension.toml' source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget \ | while read -r p; do echo "Checking version in $p" rg -n '^\s*version\s*=\s*"1\.7\.2"\s*$' "$p" || { echo "⚠️ Version mismatch or missing in $p"; exit 1; } done echo "✅ CHANGELOG header and extension.toml version look good"source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (1)
5-7: Add release date to 1.2.2 header (Keep a Changelog)
The section already uses the correct "### Changed" level; just add the release date.-## [1.2.2] +## [1.2.2] - 2025-08-25Run to confirm header/date and matching extension version:
#!/bin/bash set -euo pipefail rg -n '^## \[1\.2\.2\] - 2025-08-25$' source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md || { echo "Missing dated header"; exit 1; } fd -a 'source/extensions/omni.flux.tabbed.widget/**/extension.toml' | while read -r p; do rg -n '^version\s*=\s*"1\.2\.2"\s*$' "$p" || { echo "Version mismatch in $p"; exit 1; } done echo "OK"source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-7: Add release date to 1.9.1 header (Keep a Changelog)
Heading level is already correct; add the date to complete the entry.-## [1.9.1] +## [1.9.1] - 2025-08-25Verify both the dated header and the extension manifest version:
#!/bin/bash set -euo pipefail rg -n '^## \[1\.9\.1\] - 2025-08-25$' source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md || { echo "Missing dated header"; exit 1; } fd -a 'source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/**/extension.toml' | while read -r p; do rg -n '^version\s*=\s*"1\.9\.1"\s*$' "$p" || { echo "Version mismatch in $p"; exit 1; } done echo "OK"source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-7: Date the 2.5.3 entry and normalize heading level
Match the rest of the repo’s Keep a Changelog usage by adding the release date and using a third-level “Changed” heading.-## [2.5.3] -## Changed +## [2.5.3] - 2025-08-25 +### ChangedConfirm the dated header and the extension version bump:
#!/bin/bash set -euo pipefail rg -n '^## \[2\.5\.3\] - 2025-08-25$' source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md || { echo "Missing dated header"; exit 1; } fd -a 'source/extensions/lightspeed.trex.layout.stagecraft/**/extension.toml' | while read -r p; do rg -n '^version\s*=\s*"2\.5\.3"\s*$' "$p" || { echo "Version mismatch in $p"; exit 1; } done echo "OK"source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (1)
724-730: Bug: Menu.show_at expects numeric coordinates; unwrap ui.Pixel values.x_position and y_position are ui.Pixel (or sums involving them). Passing them directly can break at runtime. Convert to ints/floats before calling show_at.
- burger_menu = get_burger_menu_instance() - if burger_menu is not None: - x_position = self._menu_burger_widget.screen_position_x - y_position = self._menu_burger_widget.screen_position_y + self._menu_burger_widget.computed_height + 8.0 - - burger_menu.show_at(x_position, y_position) + burger_menu = get_burger_menu_instance() + if burger_menu is not None: + x_px = float(self._menu_burger_widget.screen_position_x.value) + y_px = float( + self._menu_burger_widget.screen_position_y.value + + self._menu_burger_widget.computed_height.value + + 8.0 + ) + burger_menu.show_at(x_px, y_px)
🧹 Nitpick comments (9)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
9-11: Fix grammar in 1.7.1 “Fixed” bulletThe sentence is ungrammatical; suggest clarifying that assets were too large for non-LFS usage.
- - Fixed Test assets to large to work without LFS + - Fixed test assets that were too large to work without LFSdocs/howto/learning-toolkit.md (1)
11-12: LGTM; minor wording polish optional
The rename reads well. If you want tighter phrasing, consider the edit below.-The `Project Setup` tab is primarily used to manage the currently loaded capture layer, as the project wizard -streamlines the remaining setup processes. +The `Project Setup` tab is primarily used to manage the active capture layer. The project wizard +handles the remaining setup steps.source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (2)
9-10: Grammar: “to large” → “too large”.Minor wording fix to improve readability.
- - Fixed Test assets to large to work without LFS + - Fixed test assets too large to work without LFS
13-14: Typo: “compatbility” → “compatibility”.- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (2)
9-10: Grammar: “to large” → “too large”.- - Fixed Test assets to large to work without LFS + - Fixed test assets too large to work without LFS
13-14: Typo: “compatbility” → “compatibility”.- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
161-177: Defensive check: guard both label and field before updating.The method returns early if the label is missing, but it accesses the field/model unconditionally. Add a symmetric guard to avoid rare AttributeError during early events.
- if not hasattr(self, "_project_name_label") or not self._project_name_label: + if ( + not hasattr(self, "_project_name_label") or not self._project_name_label + or not hasattr(self, "_project_name_field") or not self._project_name_field + ): return
188-208: Optional UX: inform the user when rename is reverted.When the stage is file-based we log a warning and revert, but there’s no visible cue. Consider a small non-blocking dialog to explain why.
if root_layer and not root_layer.anonymous and root_layer.realPath: - carb.log_warn("Renaming file-based projects directly is not supported. Reverting display name.") + carb.log_warn("Renaming file-based projects directly is not supported. Reverting display name.") + _TrexMessageDialog( + "Renaming saved projects here isn’t supported. The display name has been reverted.", + title="Rename Not Applied", + disable_cancel_button=True, + ) self._update_project_name_label()
628-646: Avoid mutating internal item.selected; rely on the widget’s selection API.Directly toggling sel.selected and manually invoking the selection handler can cause double work or drift with internal state. Let the selection setter drive state and events.
- if not self._tabbed_frame.selection: - # No selection, select the first tab - sel = children[0] - self._tabbed_frame.selection = [sel.title] - sel.selected = True - else: - # Find the item object matching the selected title - selected_title = self._tabbed_frame.selection[0] - sel = next((item for item in children if item.title == selected_title), None) - if sel: - sel.selected = True - else: - # Selection not found, fallback to first - sel = children[0] - self._tabbed_frame.selection = [sel.title] - sel.selected = True - - self._on_tab_selection_changed(sel) + if not self._tabbed_frame.selection: + # No selection, select the first tab + first = children[0] + self._tabbed_frame.selection = [first.title] + # The widget will fire the selection-changed event. + return + # Selection exists; find the matching item and notify downstream if needed. + selected_title = self._tabbed_frame.selection[0] + sel = next((item for item in children if item.title == selected_title), None) + if sel: + self._on_tab_selection_changed(sel) + else: + # Fallback to first child + first = children[0] + self._tabbed_frame.selection = [first.title]
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (23)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
🚧 Files skipped from review as they are similar to previous changes (14)
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- CHANGELOG.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- source/extensions/lightspeed.common/lightspeed/common/constants.py
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
- source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py
🧰 Additional context used
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (7)
SetupUI(34-328)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)destroy(325-328)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
448-449: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
459-465: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
477-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
561-562: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🪛 LanguageTool
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.7.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.7.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~14-~14: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to us...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~16-~16: There might be a mistake here.
Context: ...for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps ins...
(QB_NEW_EN)
[grammar] ~17-~17: There might be a mistake here.
Context: ... V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps instead of `....
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...depsinstead of.deps` dir ## [1.6.3] ### Changed - Use left-aligned properties wi...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...d of .deps dir ## [1.6.3] ### Changed - Use left-aligned properties widget - Cha...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...layout to be more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ... more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1] ### Chan...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...hanged - Update to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loadi...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ...ate to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loading..." pan...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...ok of the "Loading..." panel ## [1.6.0] ### Removed - removed "Open Wizard" button f...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ..." button from property panel ## [1.5.7] ### Changed - Improved Mod File button label...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ...m property panel ## [1.5.7] ### Changed - Improved Mod File button labels ## [1.5...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.1.6] ### Changed - update to use omni...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (9)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
9-9: Good consistency: demoted section headers to level-3Converting “Changed/Fixed/Removed” section headings to H3 across historical entries improves consistency and readability.
Also applies to: 13-13, 17-17, 21-21, 26-26, 30-30, 34-34, 38-38, 42-42
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-6: Changelog entry 1.1.2 looks good and consistent with Keep a Changelog.The heading level and rename note are correct.
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
4-6: Confirm and Add Release Date for 1.2.2I wasn’t able to automatically determine the exact release date for version 1.2.2. Please verify the intended release date (e.g., from your release notes or commit history) and update the CHANGELOG entry accordingly to maintain consistency with the other dated headers.
• File needing update:
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md• Suggested diff (replace “YYYY-MM-DD” with the verified date):
-## [1.2.2] +## [1.2.2] – YYYY-MM-DD ### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (6)
26-26: Import of carb is correct and necessary.This resolves NameError risks for carb.log_warn(...) and carb.tokens usages.
36-37: Good addition: central UNTITLED_PROJECT_NAME constant.Importing the constant keeps the default naming consistent across the app.
80-82: Top-bar sizing constants make the layout easier to maintain.HEIGHT_TOP_BAR and WIDTH_TOP_BAR are clear and will help keep offsets/clamps consistent.
144-145: Project name refresh on stage events is appropriate.Updating the label on OPENED/SAVED/CLOSED keeps the UI in sync with the current project.
753-765: Nice clamp logic on the property/viewport splitter.Bounds reflect WIDTH_TOP_BAR and MIN/MAX property panel widths. Clear and easy to tweak.
570-575: Selection change payload is always an Item instance – no wrapper neededI’ve reviewed the
subscribe_selection_changedAPI inomni.flux.tabbed.widget’sSetupUIand confirmed:
subscribe_selection_changedtakes aCallable[["_Item"], Any]and returns an_EventSubscriptiononself.__on_selection_changed.- Both
_selection_changed(self, item: "_Item")and__do_selection_changed(self, selection: List["_Item"], …)invokeself.__on_selection_changed(item)(unwrapping any list before firing) .Since the subscriber always receives a single
_Item, there’s no risk of getting a list or title strings – your handler can safely assume it will be passed anItemobject. You can disregard the suggestion to wrap the callback.Likely an incorrect or invalid review comment.
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
Show resolved
Hide resolved
|
You can execute tests by executing the batch files in See this documentation for flags you can use to help debug the tests: As well as this dev documentation: When all the tests pass, make sure to format, lint, squash and rebase! |
f1d4aa4 to
d4cdd10
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (6)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-7: Normalize changelog header (date + heading level) and fix capitalization.Follow Keep a Changelog: add release date, demote “Changed” to H3, and capitalize “Ingestion” for consistency.
-## [2.5.3] -## Changed -- Changed modding tabs to vertical layout consistent with ingestion and AI Tools tabs +## [2.5.3] - 2025-08-25 +### Changed +- Changed modding tabs to vertical layout consistent with Ingestion and AI Tools tabs#!/bin/bash # Verify extension manifest version matches 2.5.3 fd -a extension.toml | rg -n 'source/extensions/lightspeed\.trex\.layout\.stagecraft/config/extension\.toml' \ | while read -r p; do echo "File: $p"; rg -n '^\s*version\s*=\s*"2\.5\.3"\s*$' "$p" || echo "⚠️ version mismatch"; donesource/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-7: Add release date and confirm manifest version parity.Stamp the release and ensure config/extension.toml also says 1.9.1.
-## [1.9.1] +## [1.9.1] - 2025-08-25 ### Changed - Adjusted spacing for the new vertical modding tabs#!/bin/bash # Locate the widget's manifest and check version fd -a 'extension.toml' | rg -n 'source/extensions/lightspeed\.trex\.properties_pane\.shared\.asset_replacements\.widget/.*/extension\.toml' \ | while read -r p; do echo "File: $p"; rg -n '^\s*version\s*=\s*"1\.9\.1"\s*$' "$p" || echo "⚠️ version mismatch"; donesource/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-7: Date the entry and name the constant explicitly.Clarifies what changed and aligns with prior entries.
-## [1.8.1] +## [1.8.1] - 2025-08-25 ### Added -- Added constants for untitled project name +- Added `UNTITLED_PROJECT_NAME` constant for the default untitled project label#!/bin/bash # Verify the constant exists rg -nP '^\s*UNTITLED_PROJECT_NAME\s*=\s*["\']Untitled Project["\']' source/extensions/lightspeed.common/lightspeed/common/constants.py || echo "⚠️ Constant not found"source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (1)
5-6: Add release date to 1.2.2 and keep “Changed” at level-3.Align with Keep a Changelog and other modules.
-## [1.2.2] +## [1.2.2] - 2025-08-25 ### Changedsource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.7.2 and keep “Changed” at level-3.Match formatting used elsewhere.
-## [1.7.2] +## [1.7.2] - 2025-08-26 ### Changedsource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.2.2 and keep “Changed” at level-3.Keep consistency with other CHANGELOGs.
-## [1.2.2] +## [1.2.2] - 2025-08-25 ### Changed
🧹 Nitpick comments (7)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (2)
9-11: Grammar: “too large” (not “to large”).Fix phrasing in 1.2.1 entry.
- - Fixed Test assets to large to work without LFS + - Fixed test assets too large to work without LFS
13-16: Typo: “compatbility” → “compatibility”.Correct in 1.2.0 entry.
- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (2)
8-11: Grammar: “too large” (not “to large”).Adjust in 1.7.1 entry.
- - Fixed Test assets to large to work without LFS + - Fixed test assets too large to work without LFS
13-15: Typo: “compatbility” → “compatibility”.Fix in 1.7.0 entry.
- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (2)
8-11: Grammar: “too large” (not “to large”).Fix 1.2.1 entry.
- - Fixed Test assets to large to work without LFS + - Fixed test assets too large to work without LFS
13-15: Typo: “compatbility” → “compatibility”.Correct 1.2.0 entry.
- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (1)
58-59: Docstring: note the default value.Clarify default behavior.
- add_initial_spacer: Add a spacer at the beginning of the tab list + add_initial_spacer: Add a spacer at the beginning of the tab list (default: True)
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
source/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/icon.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/preview.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/premake5.luais excluded by!source/extensions/**/premake5.lua
📒 Files selected for processing (33)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/apps/exts.deps.generated.kit(0 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/__init__.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml(0 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
💤 Files with no reviewable changes (8)
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/init.py
- source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml
- source/apps/exts.deps.generated.kit
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml
🚧 Files skipped from review as they are similar to previous changes (13)
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- CHANGELOG.md
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- source/extensions/lightspeed.common/lightspeed/common/constants.py
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
🧰 Additional context used
🧬 Code graph analysis (2)
source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py (1)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (2)
selection(173-175)selection(178-185)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (7)
SetupUI(34-328)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)get_frame(125-135)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)
🪛 LanguageTool
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.9.1] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.7.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.7.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~14-~14: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to us...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~16-~16: There might be a mistake here.
Context: ...for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps ins...
(QB_NEW_EN)
[grammar] ~17-~17: There might be a mistake here.
Context: ... V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps instead of `....
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...depsinstead of.deps` dir ## [1.6.3] ### Changed - Use left-aligned properties wi...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...d of .deps dir ## [1.6.3] ### Changed - Use left-aligned properties widget - Cha...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...layout to be more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ... more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1] ### Chan...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...hanged - Update to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loadi...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ...ate to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loading..." pan...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...ok of the "Loading..." panel ## [1.6.0] ### Removed - removed "Open Wizard" button f...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ..." button from property panel ## [1.5.7] ### Changed - Improved Mod File button label...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ...m property panel ## [1.5.7] ### Changed - Improved Mod File button labels ## [1.5...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.1.6] ### Changed - update to use omni...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
448-449: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
459-465: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
477-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
561-562: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🔇 Additional comments (6)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-6: Changelog entry looks good and consistent with the rename.
Matches existing sections and Keep a Changelog headings.docs/howto/learning-toolkit.md (1)
11-12: Use “steps” instead of “processes” for clarity-The `Project Setup` tab is primarily used to manage the currently loaded capture layer, as the project wizard -streamlines the remaining setup processes. +The `Project Setup` tab is primarily used to manage the currently loaded capture layer, as the project wizard +streamlines the remaining setup steps.source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py (1)
709-712:Label::TopBarTitlestyles usage confirmed
Referenced in setup_ui.py, so no dead styles.source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (1)
45-46: Non-breaking spacer control is a good addition.The
add_initial_spacerflag plus docstring and conditional render look solid.Also applies to: 58-59, 79-79, 245-246
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (2)
752-764: LGTM! Updated splitter constraintsThe property viewport splitter change handler correctly incorporates the new
WIDTH_TOP_BARconstant in its calculations and properly manages the property panel frame sizing.
765-767: LGTM! Clean tab selection handlerThe
_on_tab_selection_changedmethod properly delegates to the properties pane to show the correct panel based on the selected tab.
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
Show resolved
Hide resolved
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
Show resolved
Hide resolved
...ed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py
Outdated
Show resolved
Hide resolved
d4cdd10 to
ff75395
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (7)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-7: Add release date and verify manifest version parity (1.11.0).Keep-a-Changelog releases should include a date; also ensure extension.toml is bumped to the same version.
Apply:
-## [1.11.0] +## [1.11.0] - 2025-08-28Then verify the manifest version:
#!/bin/bash # Check that the widget's extension.toml matches 1.11.0 fd -a 'lightspeed.trex.properties_pane.shared.asset_replacements.widget' \ | rg -n '/config/extension\.toml$' \ | while read -r p; do echo "File: $p" rg -n '^\s*version\s*=\s*"1\.11\.0"\s*$' "$p" || { echo "Version mismatch in $p"; exit 1; } donesource/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-6: Changelog: add release date and correct heading levelFollow Keep a Changelog and prior guidance; include the release date and use a third-level section header.
-## [2.5.3] -## Changed +## [2.5.3] - 2025-08-25 +### Changed - Changed modding tabs to vertical layout consistent with ingestion and AI Tools tabssource/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-6: Changelog: date the release and name the constantAdd the date and reference the actual symbol added.
-## [1.8.1] +## [1.8.1] - 2025-08-25 ### Added -- Added constants for untitled project name +- Added `UNTITLED_PROJECT_NAME` constant for the default untitled project labelsource/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (1)
5-7: Changelog: add release dateInclude the release date on the 1.2.2 header.
-## [1.2.2] +## [1.2.2] - 2025-08-25 ### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (2)
10-10: Fix grammar: “Test … to large” → “test … too large”Mirror the same correction here.
-- Fixed Test assets to large to work without LFS +- Fixed test assets too large to work without LFS
14-14: Fix typo: “compatbility”Correct spelling.
-- Update the documentation for Pydantic V2 compatbility +- Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (1)
724-730: Fix: unwrap ui.Lengths to numeric before calling show_at.
Menu.show_at(x, y)expects numbers;screen_position_x/yandcomputed_heightare ui.Length. Unwrap.value.- x_position = self._menu_burger_widget.screen_position_x - y_position = self._menu_burger_widget.screen_position_y + self._menu_burger_widget.computed_height + 8.0 - burger_menu.show_at(x_position, y_position) + x_pos = float(self._menu_burger_widget.screen_position_x.value) + y_pos = float( + self._menu_burger_widget.screen_position_y.value + + self._menu_burger_widget.computed_height.value + + 8.0 + ) + burger_menu.show_at(x_pos, y_pos)
🧹 Nitpick comments (8)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-7: Scope the change note for clarity.Specify the affected widget to aid changelog scanning.
- - Adjusted spacing for the new vertical modding tabs + - Asset Replacements widget: adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (2)
4-6: Add release date to 1.2.2 heading (Keep a Changelog).Include the release date to match project convention.
-## [1.2.2] +## [1.2.2] - 2025-08-25
13-14: Fix typo in 1.2.0 entry.“compatbility” → “compatibility”.
-### Changed -- Update the documentation for Pydantic V2 compatbility +### Changed +- Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (2)
4-6: Add release date to 1.7.2 heading (Keep a Changelog).Date the release for consistency.
-## [1.7.2] +## [1.7.2] - 2025-08-26
13-14: Fix typo in 1.7.0 entry.“compatbility” → “compatibility”.
-### Changed -- Update the documentation for Pydantic V2 compatbility +### Changed +- Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
80-82: Consider renaming WIDTH_TOP_BAR to reflect sidebar use.It controls the vertical tabs column width, not the top bar. E.g., WIDTH_TABS_COLUMN for clarity.
628-646: Avoid directly toggling item.selected; rely on the selection API.Manually setting
sel.selected = Truerisks diverging from Tree state. Use onlyself._tabbed_frame.selection = [sel.title].if not self._tabbed_frame.selection: # No selection, select the first tab sel = children[0] - self._tabbed_frame.selection = [sel.title] - sel.selected = True + self._tabbed_frame.selection = [sel.title] else: # Find the item object matching the selected title selected_title = self._tabbed_frame.selection[0] sel = next((item for item in children if item.title == selected_title), None) - if sel: - sel.selected = True - else: + if not sel: # Selection not found, fallback to first sel = children[0] - self._tabbed_frame.selection = [sel.title] - sel.selected = True + self._tabbed_frame.selection = [sel.title]
448-449: Optional: collapse nested context managers (Ruff SIM117).Combine adjacent
withblocks to reduce indentation and noise.Also applies to: 459-465, 477-478, 561-562
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
source/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/icon.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/preview.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/premake5.luais excluded by!source/extensions/**/premake5.lua
📒 Files selected for processing (33)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/apps/exts.deps.generated.kit(0 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/__init__.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml(0 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
💤 Files with no reviewable changes (8)
- source/apps/exts.deps.generated.kit
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/init.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst
- source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md
✅ Files skipped from review due to trivial changes (1)
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
🚧 Files skipped from review as they are similar to previous changes (14)
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
- source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py
- source/extensions/lightspeed.common/lightspeed/common/constants.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- CHANGELOG.md
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
- source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py
🧰 Additional context used
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (7)
SetupUI(34-328)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)get_frame(125-135)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (3)
SetupUI(28-64)show_panel(53-59)get_frame(40-44)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
448-449: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
459-465: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
477-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
561-562: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🪛 LanguageTool
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...pachangelog.com/en/1.0.0/). ## [1.11.0] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...com/en/1.0.0/). ## [1.11.0] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.7.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.7.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~14-~14: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to us...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~16-~16: There might be a mistake here.
Context: ...for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps ins...
(QB_NEW_EN)
[grammar] ~17-~17: There might be a mistake here.
Context: ... V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps instead of `....
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...depsinstead of.deps` dir ## [1.6.3] ### Changed - Use left-aligned properties wi...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...d of .deps dir ## [1.6.3] ### Changed - Use left-aligned properties widget - Cha...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...layout to be more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ... more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1] ### Chan...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...hanged - Update to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loadi...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ...ate to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loading..." pan...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...ok of the "Loading..." panel ## [1.6.0] ### Removed - removed "Open Wizard" button f...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ..." button from property panel ## [1.5.7] ### Changed - Improved Mod File button label...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ...m property panel ## [1.5.7] ### Changed - Improved Mod File button labels ## [1.5...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.1.6] ### Changed - update to use omni...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (9)
docs/howto/learning-toolkit.md (1)
11-11: Rename applied correctly“Project Setup” label looks consistent with the new tab name.
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-7: LGTM on tab rename entryChange log reflects the “Captures / Setup” → “Project Setup” rename.
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
9-9: LGTM: demoted section heading.Heading changed to level-3 is consistent.
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
9-9: LGTM: normalized section heading levels.Changed headings to level-3 are consistent throughout.
Also applies to: 17-17, 21-21, 26-26, 30-30, 34-34, 38-38, 42-42
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (1)
45-46: LGTM: add_initial_spacer flag is backward-compatible and well-wired.New param defaults preserve behavior; conditional spacer insertion works for vertical tabs.
Also applies to: 58-59, 78-79, 245-247
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (4)
144-149: Project name UI flow looks solid.Label init/update, edit-toggle, and guarded rename behavior are correct.
Also applies to: 161-177, 178-187, 188-208
752-764: LGTM: splitter clamping logic.Bounds and dependent width updates are correct.
299-307: LGTM: ensure an initial tab selection on resume.Prevents empty state when entering the workspace.
595-613: LGTM: property pane wiring to tab selection and initial updates.Connections and initial refreshes are consistent with the new vertical tabs.
Also applies to: 765-768
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
ff75395 to
e801352
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (10)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (2)
9-10: Previously raised grammar nit acknowledged—no action.You chose to keep “Fixed Test assets to large to work without LFS”; respecting that decision.
13-14: Previously raised typo nit acknowledged—no action.You opted to keep “compatbility”; acknowledging and not re-raising.
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md (1)
4-7: Date the release and fix heading level (Keep a Changelog)Same feedback as earlier thread; please apply.
-## [2.5.3] -## Changed +## [2.5.3] - 2025-08-25 +### ChangedConfirm manifest and dependency:
#!/bin/bash set -euo pipefail rg -n '^version\s*=\s*"2\.5\.3"$' source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml rg -n 'omni\.flux\.tabbed\.widget' source/extensions/lightspeed.trex.layout.stagecraft/config/extension.tomlsource/extensions/lightspeed.common/docs/CHANGELOG.md (1)
4-6: Add release date and name the constant explicitly.
Bring this entry in line with Keep a Changelog and call out the identifier.-## [1.8.1] +## [1.8.1] - 2025-08-25 ### Added -- Added constants for untitled project name +- Added `UNTITLED_PROJECT_NAME` constant for the default untitled project labelsource/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md (3)
5-8: Stamp the release date for 1.2.2.
Align with other dated entries.-## [1.2.2] +## [1.2.2] - 2025-08-25 ### Changed - Adjusted spacing for the new vertical modding tabs
10-12: Fix grammar: “Test … to large” → “test … too large”.
User-facing text.-### Fixed -- Fixed Test assets to large to work without LFS +### Fixed +- Fixed test assets too large to work without LFS
13-16: Fix typo: “compatbility” → “compatibility”.
Minor doc correctness.### Changed -- Update the documentation for Pydantic V2 compatbility +- Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.2.2 header per Keep a ChangelogInclude the release date in the version header.
-## [1.2.2] +## [1.2.2] - 2025-08-25 ### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (1)
4-6: Add release date to 1.7.2 headerFollow Keep a Changelog format.
-## [1.7.2] +## [1.7.2] - 2025-08-26 ### Changed - Adjusted spacing for the new vertical modding tabssource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (1)
720-729: Bug: show_at likely expects numbers, not ui.PixelUnwrap Pixel lengths before passing to show_at.
- x_position = self._menu_burger_widget.screen_position_x - y_position = self._menu_burger_widget.screen_position_y + self._menu_burger_widget.computed_height + 8.0 + x_position = float(getattr(self._menu_burger_widget.screen_position_x, "value", + self._menu_burger_widget.screen_position_x)) + y_position = float(getattr(self._menu_burger_widget.screen_position_y, "value", + self._menu_burger_widget.screen_position_y)) \ + + float(getattr(self._menu_burger_widget.computed_height, "value", + self._menu_burger_widget.computed_height)) \ + + 8.0 burger_menu.show_at(x_position, y_position)
🧹 Nitpick comments (8)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md (1)
4-7: Add release date to CHANGELOG entry-## [1.11.0] +## [1.11.0] - 2025-08-25Confirm this date matches the official release.
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md (2)
8-10: Grammar: “to large” → “too large”Minor copy fix.
- - Fixed Test assets to large to work without LFS + - Fixed Test assets too large to work without LFS
13-14: Typo: “compatbility” → “compatibility”Fix spelling in 1.2.0 entry.
- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md (2)
8-10: Grammar: “to large” → “too large”- - Fixed Test assets to large to work without LFS + - Fixed Test assets too large to work without LFS
12-14: Typo: “compatbility” → “compatibility”- - Update the documentation for Pydantic V2 compatbility + - Update the documentation for Pydantic V2 compatibilitysource/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
161-208: Project name edit flow: add minimal guardsLooks solid. Add a none-check for _project_name_field before using model to be extra safe during early stage events.
- self._project_name_label.text = project_name - self._project_name_field.model.set_value(project_name) + self._project_name_label.text = project_name + if self._project_name_field and self._project_name_field.model: + self._project_name_field.model.set_value(project_name)
448-569: Reduce nested context managers (ruff SIM117) and trim heavy background loopsCombine adjacent with statements and consider fewer repeated ui.Image calls to cut build cost.
- with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)): - ui.Rectangle(name="WorkspaceBackground") - with ui.ScrollingFrame( + with ui.ZStack(height=ui.Pixel(self.HEIGHT_TOP_BAR)) as _: + ui.Rectangle(name="WorkspaceBackground") + with ui.ScrollingFrame( name="TreePanelBackground", vertical_scrollbar_policy=ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_OFF, horizontal_scrollbar_policy=ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_OFF, scroll_y_max=0, ): - with ui.VStack(): - for _ in range(10): - with ui.HStack(): - for _ in range(10): - ui.Image("", name="TreePanelLinesBackground", - fill_policy=ui.FillPolicy.PRESERVE_ASPECT_FIT, - height=ui.Pixel(256), width=ui.Pixel(256)) + with ui.VStack(): + with ui.HStack(): + for _ in range(3): + ui.Image( + "", + name="TreePanelLinesBackground", + fill_policy=ui.FillPolicy.PRESERVE_ASPECT_FIT, + height=ui.Pixel(256), + width=ui.Pixel(256), + )
765-768: Add None-guard to selection-changed handlerAvoids crashes on transient empty selections.
- def _on_tab_selection_changed(self, selected_item): - """Respond to tab selection.""" - self._properties_pane.show_panel(title=selected_item.title) + def _on_tab_selection_changed(self, selected_item): + """Respond to tab selection.""" + if not selected_item: + return + self._properties_pane.show_panel(title=selected_item.title)
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
source/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/icon.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/data/preview.pngis excluded by!**/*.pngsource/extensions/lightspeed.trex.components_pane.stagecraft.controller/premake5.luais excluded by!source/extensions/**/premake5.lua
📒 Files selected for processing (38)
CHANGELOG.md(2 hunks)docs/howto/learning-toolkit.md(1 hunks)source/apps/exts.deps.generated.kit(0 hunks)source/extensions/lightspeed.common/config/extension.toml(1 hunks)source/extensions/lightspeed.common/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.common/lightspeed/common/constants.py(1 hunks)source/extensions/lightspeed.trex.app.style/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.app.style/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/__init__.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py(0 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py(1 hunks)source/extensions/lightspeed.trex.control.stagecraft/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.control.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml(2 hunks)source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py(13 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md(1 hunks)source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py(1 hunks)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml(1 hunks)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/config/extension.toml(1 hunks)source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md(1 hunks)source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py(4 hunks)
💤 Files with no reviewable changes (7)
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/CHANGELOG.md
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/README.md
- source/apps/exts.deps.generated.kit
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/init.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/lightspeed/trex/components_pane/stagecraft/controller/setup_ui.py
- source/extensions/lightspeed.trex.components_pane.stagecraft.controller/docs/index.rst
✅ Files skipped from review due to trivial changes (3)
- source/extensions/lightspeed.trex.app.style/config/extension.toml
- source/extensions/lightspeed.trex.control.stagecraft/config/extension.toml
- CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (14)
- source/extensions/omni.flux.tabbed.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/lightspeed/trex/components_pane/stagecraft/models/model_items.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/config/extension.toml
- source/extensions/lightspeed.trex.components_pane.stagecraft.models/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/lightspeed/trex/properties_pane/shared/asset_replacements/widget/setup_ui.py
- source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
- source/extensions/lightspeed.common/config/extension.toml
- source/extensions/lightspeed.trex.control.stagecraft/lightspeed/trex/control/stagecraft/tests/e2e/test_stage_manger.py
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/lightspeed/trex/properties_pane/shared/mod_setup/widget/setup_ui.py
- source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml
- source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/lightspeed/trex/properties_pane/shared/mod_packaging/widget/setup_ui.py
- source/extensions/lightspeed.common/lightspeed/common/constants.py
- source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py
🧰 Additional context used
📓 Path-based instructions (1)
source/extensions/**/config/extension.toml
⚙️ CodeRabbit configuration file
source/extensions/**/config/extension.toml: Ignore remarks about un-pinned dependencies; our team intentionally leaves"omni.flux.*"and"lightspeed.*"
dependencies without an explicit version to get the latest version.
Files:
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
🧬 Code graph analysis (1)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (3)
source/extensions/omni.flux.tabbed.widget/omni/flux/tabbed/widget/setup_ui.py (7)
SetupUI(34-328)model(158-159)selection(173-175)selection(178-185)add(141-155)subscribe_selection_changed(96-101)get_frame(125-135)source/extensions/lightspeed.trex.menu.workfile/lightspeed/trex/menu/workfile/setup_ui.py (2)
SetupUI(60-254)show_at(247-251)source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/lightspeed/trex/properties_pane/stagecraft/widget/setup_ui.py (2)
SetupUI(28-64)get_frame(40-44)
🪛 Ruff (0.12.2)
source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
448-449: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
459-465: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
477-478: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
561-562: Use a single with statement with multiple contexts instead of nested with statements
(SIM117)
🪛 LanguageTool
docs/howto/learning-toolkit.md
[grammar] ~11-~11: There might be a mistake here.
Context: ...ded capture layer, as the project wizard streamlines the remaining setup processe...
(QB_NEW_EN)
source/extensions/lightspeed.common/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled pro...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.8.1] ### Added - Added constants for untitled project nam...
(QB_NEW_EN)
source/extensions/lightspeed.trex.app.style/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...pachangelog.com/en/1.0.0/). ## [1.12.1] ## Added - Added styles for top bar title i...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...og.com/en/1.0.0/). ## [1.12.1] ## Added - Added styles for top bar title in moddin...
(QB_NEW_EN)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.1.2] ### Changed - Renamed the modding tab from "Captures /...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... / Setup" to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...to "Project Setup" ## [1.1.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.1.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.1.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.control.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.5.5] ## Fixed - Fixed tests for new vertical tab...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...log.com/en/1.0.0/). ## [1.5.5] ## Fixed - Fixed tests for new vertical tabs layout...
(QB_NEW_EN)
source/extensions/lightspeed.trex.layout.stagecraft/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertic...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [2.5.3] ## Changed - Changed modding tabs to vertical layout ...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...pachangelog.com/en/1.0.0/). ## [1.11.0] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...com/en/1.0.0/). ## [1.11.0] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_packaging.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.shared.mod_setup.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.7.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...tical modding tabs ## [1.7.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...to large to work without LFS ## [1.7.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...work without LFS ## [1.7.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~14-~14: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to us...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~16-~16: There might be a mistake here.
Context: ...for Pydantic V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps ins...
(QB_NEW_EN)
[grammar] ~17-~17: There might be a mistake here.
Context: ... V2 compatbility ## [1.6.4] ### Changed - Updated test to use deps instead of `....
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...depsinstead of.deps` dir ## [1.6.3] ### Changed - Use left-aligned properties wi...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...d of .deps dir ## [1.6.3] ### Changed - Use left-aligned properties widget - Cha...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...layout to be more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ... more consistent ## [1.6.2] ### Changed - Update to Kit 106.5 ## [1.6.1] ### Chan...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...hanged - Update to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loadi...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ...ate to Kit 106.5 ## [1.6.1] ### Changed - Updated the look of the "Loading..." pan...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...ok of the "Loading..." panel ## [1.6.0] ### Removed - removed "Open Wizard" button f...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ..." button from property panel ## [1.5.7] ### Changed - Improved Mod File button label...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ...m property panel ## [1.5.7] ### Changed - Improved Mod File button labels ## [1.5...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ## Fixed - Removed "lightspeed.trex.compone...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...log.com/en/1.0.0/). ## [1.1.2] ## Fixed - Removed "lightspeed.trex.components_pane...
(QB_NEW_EN)
source/extensions/omni.flux.tabbed.widget/docs/CHANGELOG.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new v...
(QB_NEW_EN)
[grammar] ~6-~6: There might be a mistake here.
Context: ....com/en/1.0.0/). ## [1.2.2] ### Changed - Adjusted spacing for the new vertical mo...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...he new vertical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to wo...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ...tical modding tabs ## [1.2.1] ### Fixed - Fixed Test assets to large to work witho...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...to large to work without LFS ## [1.2.0] ### Changed - Update the documentation for P...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...work without LFS ## [1.2.0] ### Changed - Update the documentation for Pydantic V2...
(QB_NEW_EN)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...pdate the documentation for Pydantic V2 compatbility ## [1.1.6] ### Changed - update to use omni...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (13)
source/extensions/lightspeed.trex.components_pane.stagecraft.models/docs/CHANGELOG.md (1)
4-6: Approve rename of “Captures / Setup” to “Project Setup”
Verified no lingering occurrences of the old label in code or tests; changelog, code, and documentation are all updated accordingly.source/extensions/lightspeed.trex.control.stagecraft/docs/CHANGELOG.md (1)
4-7: Add release date to changelog and adjust heading-## [1.5.5] -## Fixed +## [1.5.5] - 2025-08-25 +### Fixed
- Ensure tests exercise the new vertical-tabs layout (grep found no “vertical” matches).
- Re-run the Windows test scripts (
tests-lightspeed.trex.control.stagecraft.batandtests-lightspeed.trex.properties_pane.shared.asset_replacements.widget.bat).docs/howto/learning-toolkit.md (2)
11-12: Label rename reads well; matches vertical-mods intent.
No issues spotted with the “Project Setup” wording.
11-16: Anchor present; only historical “Captures / Setup” mention in docs/CHANGELOG.md—no change required.source/extensions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml (1)
2-2: Version bump looks good.
Confirm the changelog contains a matching 1.11.0 entry.source/extensions/lightspeed.trex.app.style/lightspeed/trex/app/style/trex_style.py (2)
714-716: New TopBarTitle styles: OK.
Consistent with existing title styles (size 23, nvidia_md).
714-716: Remove or reference unused style key "Label::TopBarTitle"
No occurrences found beyond its definition in trex_style.py; either remove these dead style entries or add a widget reference to avoid unused styles.source/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py (6)
26-26: Good fix: import carbPrevents NameError when using carb.* APIs.
57-57: Correct import: Tabbed widgetImporting SetupUI as _TabbedFrame is appropriate.
144-149: Project title refresh on stage events looks goodCalling _update_project_name_label on OPENED/SAVED/CLOSED is correct.
303-307: Auto-select first tab on resumeReasonable default when no selection exists.
752-764: Splitter math LGTMClamps and updates look correct for the property/viewport splitter.
614-646: Ignore suggestion to remove.selectedassignments; direct mutation ofselectedis used pervasively across the codebase, so refactoring this snippet in isolation would introduce inconsistency.Likely an incorrect or invalid review comment.
...sions/lightspeed.trex.properties_pane.shared.asset_replacements.widget/config/extension.toml
Show resolved
Hide resolved
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md (1)
4-6: Verify manifest bump and dep removal (repeat of prior ask)Ensure extension.toml is bumped to 1.1.2 and the removed controller dep isn’t referenced.
#!/bin/bash set -euo pipefail rg -n '^version\s*=\s*"1\.1\.2"$' source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml ! rg -n 'lightspeed\.trex\.components_pane\.stagecraft\.controller' source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/config/extension.toml ! rg -n 'lightspeed\.trex\.components_pane\.stagecraft\.controller' source/apps/exts.deps.generated.kit
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md
[grammar] ~4-~4: There might be a mistake here.
Context: ...epachangelog.com/en/1.0.0/). ## [1.1.2] ## Removed - Removed "lightspeed.trex.compo...
(QB_NEW_EN)
[grammar] ~5-~5: There might be a mistake here.
Context: ...g.com/en/1.0.0/). ## [1.1.2] ## Removed - Removed "lightspeed.trex.components_pane...
(QB_NEW_EN)
source/extensions/lightspeed.trex.properties_pane.stagecraft.widget/docs/CHANGELOG.md
Show resolved
Hide resolved
742c0b0 to
7b2f6cb
Compare
|
Thank you so much for contributing @Simon-Lajoie impressive stuff! |
Ekozmaster
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you once again, we're super happy to see ppl finally contributing to the project.
Let us know if you need any guidance or have questions!
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Outdated
Show resolved
Hide resolved
...e/extensions/lightspeed.trex.layout.stagecraft/lightspeed/trex/layout/stagecraft/setup_ui.py
Show resolved
Hide resolved
source/extensions/lightspeed.trex.layout.stagecraft/config/extension.toml
Show resolved
Hide resolved
Ekozmaster
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work!
There's still 1 last internal test that's failing, the "test_object_pinning" from asset_replacements widget. I'm gonna work to fix this and then the PR should be ready. I'll also make sure to run the lint and format bat files. Thanks! |
f2455ef to
58e6326
Compare
- Changed modding tabs to vertical layout (consistent with Ingestion and AI Tools) - Preserved hover features in property panel (back arrow, project title, burger menu) - Renamed "Captures / Setup" tab → "Project Setup" - Fixed top bar alignment and adjusted spacing across modding tabs - Updated UI constants for vertical layout - Added changelog entries for tab layout changes and updated root changelog - Removed unused code, fixed imports, and minor bugs - Removed stagecraft controller
58e6326 to
cd421bb
Compare
Changed modding tabs to vertical layout (consistent with Ingestion and AI Tools)
Preserved bar features in property panel (back arrow, project title, burger menu)
Renamed tab "Captures / Setup" → "Project Setup"
Updated UI spacing, constants, and top bar alignment for vertical modding tabs
Added changelog entry for tab layout changes
Updated root changelog
Here is a preview of the new layout (changes highlighted in red):

Example - Asset Replacements tab:

Example - Mod Packaging tab:

Summary by CodeRabbit
New Features
Changes
Documentation
Chores