Skip to content

feat: Rework nav3#483

Merged
rteyssandier merged 3 commits intomainfrom
feat/rework_nav3
Mar 25, 2026
Merged

feat: Rework nav3#483
rteyssandier merged 3 commits intomainfrom
feat/rework_nav3

Conversation

@rteyssandier
Copy link
Copy Markdown
Contributor

@rteyssandier rteyssandier commented Jan 21, 2026

@rteyssandier rteyssandier self-assigned this Jan 21, 2026
@rteyssandier rteyssandier added the enhancement New feature or request label Jan 21, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @rteyssandier, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant refactoring of the navigation system, specifically around the MenuScene component. The changes aim to streamline how MenuScene integrates with the nav3Core framework by having it wrap a generic Scene object, thereby simplifying its internal structure and aligning with potential architectural shifts in the updated nav3Core library. This refactoring enhances modularity and prepares the application for future navigation framework developments.

Highlights

  • MenuScene Refactoring: The MenuScene data class has been refactored to wrap an existing Scene object, delegating the management of navigation entries and content rendering to the wrapped scene. This simplifies its internal structure and promotes better modularity.
  • MenuSceneStrategy Update: The MenuSceneStrategy has been updated to align with the new MenuScene structure. It now processes an existing Scene object for menu integration, rather than directly handling a list of navigation entries.
  • nav3Core Dependency Upgrade: The nav3Core library dependency has been updated to a newer alpha version (1.1.0-alpha02+dev3508), indicating an adoption of recent changes or features from the navigation framework.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request reworks the navigation logic to adapt to an updated version of the nav3 library. The changes primarily involve refactoring MenuScene to compose a Scene object and updating MenuSceneStrategy to act as a scene decorator, which is a good approach. The dependency version for nav3Core is also updated accordingly. The changes are logical and align with the likely API changes in the new library version. I have one minor suggestion to improve code consistency and readability.

val entry: NavEntry<FloconRoute>,
val menuContent: @Composable (expanded: Boolean) -> Unit,
val scene: Scene<FloconRoute>,
val menuContent: @Composable ((expanded: Boolean) -> Unit),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The extra parentheses around the function type for menuContent are redundant. For consistency with other function type declarations in this file, such as topBarContent on the next line and menuContent in the MenuSceneStrategy constructor, it's recommended to remove them to improve readability.

Suggested change
val menuContent: @Composable ((expanded: Boolean) -> Unit),
val menuContent: @Composable (expanded: Boolean) -> Unit,

@rteyssandier rteyssandier marked this pull request as ready for review March 4, 2026 13:48
@rteyssandier rteyssandier requested a review from florent37 March 4, 2026 13:49
@rteyssandier rteyssandier merged commit 1191786 into main Mar 25, 2026
2 checks passed
@rteyssandier rteyssandier deleted the feat/rework_nav3 branch March 25, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants