GraphTools Foundation doesn't work unless in its own namespace

I am working on a graph based tool and after some research it seems GraphView has been deprecated in favor of GraphTools Foundation, so I picked it up.

The manual instructions on setting it up seem to be outdated, as they were impossible to follow. Thankfully a fellow forum member pointed out that one could install the package by simply adding it via its URL (com.unity.graphtools.foundation).

Faced with the apparent outdatedness and verbosity of the manual, I was glad to see the package came with some samples, so I started looking at those.

Even though I felt slightly discouraged by the abundance of boilerplate code (dozens of files in a single sample?), I could open the new graph editor and play around with it, and it looked great!

I started working on my own tool - copying over the MathBook sample code for a start. Then this issue cropped up:

Apparently, even with the correct using statements and the (double and triple checked) assembly asset, I couldn’t get either Unity or VSCode to identify the types which relied on the new package.

Until, desperate and grasping at randomness, I endeavored in namespace experimentation. And to my surprise:

It now worked!

Upon inspection of the depended upon types, it seems they are public and part of the namespace included in one of the using statements:

So I have no idea why they won’t be detected unless the code relying on them is inside the same namespace.

Could it have something to do with this being a [metadata] file? I don’t know what that means.

I would like to write my code under my own namespace, and deeply appreciate any guidance in doing so.

Furthermore, I would like to extend my humble assessment of the boilerplate-filled-ness of this package as understandably early stage but deeply wished upon to see abstracted away. I cannot understand how someone would design a package in such a way unless they were actively pursuing madness, perhaps on a dare?

My most heartfelt gratitude for all your hard work,
Marcos Pereira

So apparently, when things seem too crazy to be real, usually they are.

I needed to have using UnityEditor.GraphToolsFoundation.Overdrive; in addition to UnityEngine.GraphToolsFoundation.Overdrive.

The former is the one I was using as namespace, which was fixing the issue.
The latter is what the samples also reference in a using statement, hinting that both are required.

Perhaps the samples shouldn’t be in that namespace, to make the necessity of both using statements obvious?

I consider myself two steps above a clueless penguin, and even I fell victim to this mistake.