Perspective Scope Weird Behavior

So I'm working on a module that implements a react component, and upon installation, it seems I've messed with the perspective module itself.

And when I try to create a view I get this:

From the error log, it seems like there was an error involved with the designer.navtree.model. How... do I begin to investigate and debug this?

Are you registering a bundle with BundleUtil in your designer scoped hook?

Yes, exactly like how it's done in the example project:

What name are you using for the bundle? The first last argument.

As I'm trying to follow the example as closely as possible, I guessed that you want to pass in the value of what URL_ALIAS is here in this file:

So I passed in my value for both the first and last arguments.

I should also mention that the component did make its way in, at least in the perspective components sidebar.

I'm grasping at straws, because what appears to have happened in the first screenshot is that the bundle for Perspective (prefixed/named perspective) is not available. The only way I can see that happening as a result of your module is if you're inadvertently colliding with that name.

Basic troubleshooting stuff:
Does it persist if you restart the designer?
Does it go back to normal if you uninstall your module?

Ah okay I have other helpful information here then. So across all of my project scope files, my attempts to import anything starting with "com.inductiveautomation.perspective" fail.

As you can see I'm currently "modlImplentation"ing "perspective.common" and "perspective.gateway". I've also tried applying "compileOnly" and "implementation", which didn't change the error lints in my IDE, but to be fair I haven't yet tried to open a designer and see yet. I'll go ahead and try those now.

At the time I thought maybe my IDE was wrong about its linting, as I was still able to build, upload the module without issues, and even see the component show up in the browser.

Additionally I should also mention that one potentially big difference between my project, and the example project is in the root's build.gradle.kts. We have a 'subprojects' block:

I've tried also adding perspective.common and perspective.gateway here as compileOnly's, but that seems to cause trouble as well

Well you're not going to be able to resolve those dependencies with our public Nexus maven repo commented out (the ignitionsdk stuff should all be compileOnly, by the way, because we're going to provide the dependencies for you at runtime).

But that's not (probably) the root cause of what you're seeing here.

Yeah, you shouldn't be declaring dependencies in subprojects at the parent, because those dependencies don't make sense to (some) of the child projects.

Changing them to "compileOnly" actually does solve the issue! Do you have any idea why the IDE still complains and thinks there's errors?

You must be using cached local versions of these dependencies or something, because there's no way you're resolving the ignitionsdk dependencies without our public Maven repo.

Take a look at GitHub - IgnitionModuleDevelopmentCommunity/ignition-extensions for a clean/modern Gradle setup for Ignition. It doesn't have any Perspective customization, but it's pretty simple to copy from.

I'm going to throw out some guesses as to how things could be working on my end:

Maybe this buildscript block in the root build.gradle.kts is taking care of it:

Or the root setting.gradle.kts is also covering for it:

Because in both the perspective-component example, and the repo you just linked, the maven repo isn't declared in any of the project-scope specific build.kts files. And I can see in both projects how they might be applying it globally in some way.