Skip to content
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

cogentcore.org/core categories navigation menu on the left is no longer displayed in docs #1472

Open
0pcom opened this issue Feb 2, 2025 · 25 comments
Labels
bug Something isn't working correctly

Comments

@0pcom
Copy link

0pcom commented Feb 2, 2025

Describe the bug

First noted here:
#1447

Before I begin, I just want to suggest that it might be super helpful to display the actual version / revision / commit on the documentation here: https://www.cogentcore.org/core/

If it's displayed where it can be captured in a screenshot ; or even if you include it in... the title attribute, here, below the text that says Home then I can be sure it makes it into a screenshot:

Image

Or even at the end of that top menu bar after sponsor, roughly where the mouse is in this image:

Image

Then it should be easier to know what commit was used or that it was the updated / most recent version of the site.

...

Assuming that I am looking at the latest version and there isn't some weird caching situation going on, the issue is as follows:

  • On the first load, it worked well. (That may have been a cached / old version!)
  • When I reloaded the page, the navigation menu on the left is no longer displayed.

This is with brave browser on (arch)linux:

image

  • Navigation menu on the left didn't display on the first load in waterfox
  • when I reload the page, it seemed to not load at all beyond the static preview:

image

  • I cleared the cache on waterfox
  • I reload the page, and the navigation menu which should be on the left is still missing:

image

  • I press F12 to open the browser console (in brave), and nothing happens.

That's typically a sign that something has gone wrong. But it may be a behavior I've noticed before when there were no errors with the display.

  • I can open the console if i reload the page and press F12 while the static preview is there, before the wasm loads

This is displayed in brave:

image

This is displayed in waterfox:

image

Shouldn't there be a fallback to non-webgpu if webgpu isn't supported? Or did it just fall back without logging?

Originally posted by @0pcom in #1447 (comment)

How to reproduce

Look at the updated documentation website on linux (using either brave browser or waterfox)
https://www.cogentcore.org/core/

Example code

Relevant output

Platform

Linux

@0pcom 0pcom added the bug Something isn't working correctly label Feb 2, 2025
@github-project-automation github-project-automation bot moved this to Todo in Bugs Feb 2, 2025
@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

I should add that I do get a navigation menu on the left if i right click -> inspect

Image

Image

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@0pcom

Before I begin, I just want to suggest that it might be super helpful to display the actual version / revision / commit on the documentation here: https://www.cogentcore.org/core/

yeah, it would be helpful, but context menu -> About could be used at the moment.

@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

@0pcom

Before I begin, I just want to suggest that it might be super helpful to display the actual version / revision / commit on the documentation here: https://www.cogentcore.org/core/

yeah, it would be helpful, but context menu -> About could be used at the moment.

it doesn't actually show the version for me. It just shows the app version as dev

Image

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@0pcom yes, you are right, it works for root path.

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@0pcom i have no idea how it was designed initially, but you should click on either "Get started" or "Install" buttons to make the menu be shown.

@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

@AnyCPU I see now

Image

However, I know that the docs is it's own separate app. The version could be different for that than for https://www.cogentcore.org/

...

More feedback on the current issue

I've been able to navigate the docs via the address bar (useful!) to view some pages.

At one point it crashed

Image

It looks alright besides the sidebar nav menu not having the full navigation

Image

Image

So I attempted to run the docs locally. I reinstalled core to be sure I was on the latest version and tried to build docs in this repo:

$ core build web && core run web
go build -o /home/user/go/src/github.com/cogentcore/core/docs/bin/web/app.wasm -ldflags -s -w -X 'cogentcore.org/core/core.AppAbout=Cogent Core is a free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web with a single pure Go codebase, allowing you to Code Once, Run Everywhere.' -X 'cogentcore.org/core/core.AppIcon=<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 1 1"><path d="M.833.675a.35.35 0 1 1 0-.35" style="stroke:#005bc0;stroke-width:.27;fill:none"/><circle cx=".53" cy=".5" r=".23" style="fill:#fbbd0e;stroke:none"/></svg>' -X cogentcore.org/core/system.AppVersion=v0.3.8-88-g86d4cdbc1  -trimpath
go: inconsistent vendoring in /home/user/go/src/github.com/cogentcore/core:
	github.com/adrg/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/cogentcore/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	golang.org/x/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/cogentcore/[email protected]: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod
	github.com/ergochat/[email protected]: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod
	github.com/nsf/[email protected]: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod
	golang.org/x/[email protected]: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod
	gonum.org/v1/[email protected]: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod

	To ignore the vendor directory, use -mod=readonly or -mod=mod.
	To sync the vendor directory, run:
		go mod vendor
core build failed: failed to run "go build -o /home/user/go/src/github.com/cogentcore/core/docs/bin/web/app.wasm -ldflags -s -w -X 'cogentcore.org/core/core.AppAbout=Cogent Core is a free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web with a single pure Go codebase, allowing you to Code Once, Run Everywhere.' -X 'cogentcore.org/core/core.AppIcon=<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 1 1"><path d="M.833.675a.35.35 0 1 1 0-.35" style="stroke:#005bc0;stroke-width:.27;fill:none"/><circle cx=".53" cy=".5" r=".23" style="fill:#fbbd0e;stroke:none"/></svg>' -X cogentcore.org/core/system.AppVersion=v0.3.8-88-g86d4cdbc1  -trimpath: exit status 1"

For the above error... really it's recommended to include the vendor dir here in this repo but I recall @rcoreilly said it messed up his IDE to do that. Just a note. Continuing:

$ core build web && core run web
2025/02/02 10:58:57 ERROR invalid wikilink link=contribute|contributing
2025/02/02 10:58:57 ERROR invalid wikilink link=layout
2025/02/02 10:58:57 ERROR invalid wikilink link=mobile
2025/02/02 10:58:57 ERROR invalid wikilink link=web
2025/02/02 10:58:57 ERROR invalid wikilink link=menu
2025/02/02 10:58:57 ERROR invalid wikilink link=settings
2025/02/02 10:58:57 ERROR invalid wikilink link=menu
2025/02/02 10:58:58 ERROR invalid wikilink link=settings
2025/02/02 10:58:58 ERROR invalid wikilink link=settings
2025/02/02 10:58:58 ERROR invalid wikilink link=scene
2025/02/02 10:58:58 ERROR invalid wikilink link=settings
2025/02/02 10:58:58 ERROR invalid wikilink link=stage
2025/02/02 10:58:58 ERROR invalid wikilink link=settings
2025/02/02 10:58:58 ERROR invalid wikilink link=settings
2025/02/02 10:58:58 ERROR invalid wikilink link=scene
2025/02/02 10:58:58 ERROR invalid wikilink link=pages
2025/02/02 10:58:58 ERROR invalid wikilink link=scene
2025/02/02 10:58:58 ERROR invalid wikilink link=scene
2025/02/02 10:58:58 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-dbus-broker.service-iWZjf2: permission denied
2025/02/02 10:58:58 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-polkit.service-334hfy: permission denied
2025/02/02 10:58:58 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-power-profiles-daemon.service-1mOc42: permission denied
2025/02/02 10:58:58 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-systemd-logind.service-6NfWoM: permission denied
2025/02/02 10:58:58 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-upower.service-GQKLiU: permission denied
2025/02/02 10:58:59 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-dbus-broker.service-iWZjf2: permission denied
2025/02/02 10:58:59 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-polkit.service-334hfy: permission denied
2025/02/02 10:58:59 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-power-profiles-daemon.service-1mOc42: permission denied
2025/02/02 10:58:59 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-systemd-logind.service-6NfWoM: permission denied
2025/02/02 10:58:59 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-upower.service-GQKLiU: permission denied
2025/02/02 10:58:59 ERROR invalid wikilink link=generate#types
2025/02/02 10:58:59 ERROR invalid wikilink link=generate
2025/02/02 10:58:59 ERROR invalid wikilink link=generate#types
2025/02/02 10:58:59 ERROR invalid wikilink link=generate#types
2025/02/02 10:58:59 ERROR invalid wikilink link=generate
2025/02/02 10:58:59 ERROR invalid wikilink link=generate
2025/02/02 10:58:59 ERROR invalid wikilink link=layout
2025/02/02 10:58:59 ERROR invalid wikilink link=settings
2025/02/02 10:59:00 ERROR invalid wikilink link=enum
2025/02/02 10:59:00 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:00 ERROR invalid wikilink link=cli
2025/02/02 10:59:00 ERROR invalid wikilink link=Generate
2025/02/02 10:59:00 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:00 ERROR invalid wikilink link=enum
2025/02/02 10:59:00 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:00 ERROR invalid wikilink link=scene
2025/02/02 10:59:00 ERROR invalid wikilink link=pages
2025/02/02 10:59:00 ERROR invalid wikilink link=stage
2025/02/02 10:59:00 ERROR invalid wikilink link=cli
2025/02/02 10:59:00 ERROR invalid wikilink link=settings
2025/02/02 10:59:00 ERROR invalid wikilink link=generate
2025/02/02 10:59:00 ERROR invalid wikilink link=generate#setter
2025/02/02 10:59:00 ERROR invalid wikilink link=settings
2025/02/02 10:59:00 ERROR invalid wikilink link=state
2025/02/02 10:59:00 ERROR invalid wikilink link=layout
2025/02/02 10:59:01 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:01 ERROR invalid wikilink link=generate
2025/02/02 10:59:02 ERROR invalid wikilink link=menu
2025/02/02 10:59:02 ERROR invalid wikilink link=layout
core build succeeded
2025/02/02 10:59:41 ERROR invalid wikilink link=contribute|contributing
2025/02/02 10:59:41 ERROR invalid wikilink link=layout
2025/02/02 10:59:41 ERROR invalid wikilink link=mobile
2025/02/02 10:59:41 ERROR invalid wikilink link=web
2025/02/02 10:59:41 ERROR invalid wikilink link=menu
2025/02/02 10:59:41 ERROR invalid wikilink link=settings
2025/02/02 10:59:41 ERROR invalid wikilink link=menu
2025/02/02 10:59:42 ERROR invalid wikilink link=settings
2025/02/02 10:59:42 ERROR invalid wikilink link=settings
2025/02/02 10:59:42 ERROR invalid wikilink link=scene
2025/02/02 10:59:42 ERROR invalid wikilink link=settings
2025/02/02 10:59:42 ERROR invalid wikilink link=stage
2025/02/02 10:59:42 ERROR invalid wikilink link=settings
2025/02/02 10:59:42 ERROR invalid wikilink link=settings
2025/02/02 10:59:42 ERROR invalid wikilink link=scene
2025/02/02 10:59:42 ERROR invalid wikilink link=pages
2025/02/02 10:59:42 ERROR invalid wikilink link=scene
2025/02/02 10:59:42 ERROR invalid wikilink link=scene
2025/02/02 10:59:42 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-dbus-broker.service-iWZjf2: permission denied
2025/02/02 10:59:42 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-polkit.service-334hfy: permission denied
2025/02/02 10:59:42 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-power-profiles-daemon.service-1mOc42: permission denied
2025/02/02 10:59:42 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-systemd-logind.service-6NfWoM: permission denied
2025/02/02 10:59:42 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-upower.service-GQKLiU: permission denied
2025/02/02 10:59:43 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-dbus-broker.service-iWZjf2: permission denied
2025/02/02 10:59:43 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-polkit.service-334hfy: permission denied
2025/02/02 10:59:43 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-power-profiles-daemon.service-1mOc42: permission denied
2025/02/02 10:59:43 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-systemd-logind.service-6NfWoM: permission denied
2025/02/02 10:59:43 FilePicker error: Path "/tmp": Error: open /tmp/systemd-private-c589164eb8af4d4bb47fcc904083eb46-upower.service-GQKLiU: permission denied
2025/02/02 10:59:43 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:43 ERROR invalid wikilink link=generate
2025/02/02 10:59:43 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:43 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:43 ERROR invalid wikilink link=generate
2025/02/02 10:59:43 ERROR invalid wikilink link=generate
2025/02/02 10:59:43 ERROR invalid wikilink link=layout
2025/02/02 10:59:43 ERROR invalid wikilink link=settings
2025/02/02 10:59:44 ERROR invalid wikilink link=enum
2025/02/02 10:59:44 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:44 ERROR invalid wikilink link=cli
2025/02/02 10:59:44 ERROR invalid wikilink link=Generate
2025/02/02 10:59:44 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:44 ERROR invalid wikilink link=enum
2025/02/02 10:59:44 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:44 ERROR invalid wikilink link=scene
2025/02/02 10:59:44 ERROR invalid wikilink link=pages
2025/02/02 10:59:44 ERROR invalid wikilink link=stage
2025/02/02 10:59:44 ERROR invalid wikilink link=cli
2025/02/02 10:59:44 ERROR invalid wikilink link=settings
2025/02/02 10:59:44 ERROR invalid wikilink link=generate
2025/02/02 10:59:44 ERROR invalid wikilink link=generate#setter
2025/02/02 10:59:44 ERROR invalid wikilink link=settings
2025/02/02 10:59:44 ERROR invalid wikilink link=state
2025/02/02 10:59:44 ERROR invalid wikilink link=layout
2025/02/02 10:59:45 ERROR invalid wikilink link=generate#types
2025/02/02 10:59:45 ERROR invalid wikilink link=generate
2025/02/02 10:59:46 ERROR invalid wikilink link=menu
2025/02/02 10:59:46 ERROR invalid wikilink link=layout
Serving at http://localhost:8080


Image

slightly humorous static preview, but it got stuck there. When I refreshed the page again:

Image

sidebar nav is still missing. But the errors make it more clear as to why exactly that may be.

@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

@0pcom i have no idea how it was designed initially, but you should click on either "Get started" or "Install" buttons to make the menu be shown.

Before, if you went to https://www.cogentcore.org/core/ to the left of "Code Once Run Everywhere (CORE)" it should have the full navigation for every single page in the docs.

At least, that's how it was before.

If it's not supposed to be there on that page any longer, then why is there still space reserved for it?

The navigation menu is supposed to be there, I'm fairly certain. There is no good way to navigate the docs and most pages which exist don't have a link to them, so you can't really navigate to them outside of knowing exactly what to put in the address bar.

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@kkoreilly i hope following will be helpful

macOS + Firefox

WebGPU not supported
ERROR WebGPU is not supported on this machine: could not create an instance | cogentcore.org/core/gpu.NewGPU cogentcore.org/core/gpu/gpu.go:118 [wasm_exec.js:330:31](https://www.cogentcore.org/core/wasm_exec.js)

ERROR invalid wikilink link=layout

macOS + Chrome

ERROR invalid wikilink link=layout

macOS + Safari

WebGPU not supported
ERROR WebGPU is not supported on this machine: could not create an instance | cogentcore.org/core/gpu.NewGPU cogentcore.org/core/gpu/gpu.go:118

ERROR invalid wikilink link=layout

Env:
macOS: latest on Intel
browsers: latest

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@0pcom it looks like error log in Console is just ok, if there is no GPU available, it uses fallback option.

@0pcom what browser did you use when an app crashed? (name, version, OS)

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

some api might be disabled in case of the brave browser.

@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

@0pcom it looks like error log in Console is just ok, if there is no GPU available, it uses fallback option.

@0pcom what browser did you use when an app crashed? (name, version, OS)

it was brave, right as i clicked off the about dialog. I errantly moved the scroll wheel and then the page crashed

@0pcom
Copy link
Author

0pcom commented Feb 2, 2025

some api might be disabled in case of the brave browser.

it worked fine before the new docs website was deployed

@kkoreilly
Copy link
Member

@0pcom Thank you for filing this issue. We really appreciate your feedback.

The original decision was to intentionally reduce the scope of the left navigation menu, with the expectation that the search button in the toolbar, the new wikilinks, and the new contextual navigation menu on the left would be enough, in a system more similar to Wikipedia/MediaWiki (once you click on "Get started", you can follow the wikilinks almost everywhere). However, we were aware that the navigability was impacted, and we were planning to add more navigation options to the toolbar and the left panel. Given your feedback, it is clear that we need to do more. Apologies for this unclear decision and the reduced navigability it caused.

It may seem like we should just go back to putting all of the pages on the left panel, but the reason why we shifted to this new system is that the number of pages is increasing and will continue to do so as we add more documentation, and so having a giant tree with eventually hundreds of pages that you have to scroll through might not be as useful. Also, we made a shift to a flat structure with many-to-many categories, as we often found that it was hard to remember exactly what directory a certain page was in, reducing its discoverability.

The current left panel displays all of the pages in the same category as the current page, and all of the headings on the current page. However, that only provides navigation within a category, so one idea would be to also display all of the categories on the left, which you could then click on to find links to all of the pages in that category. We could also include all of the pages directly in that tree, but just have them collapsed by default underneath the categories. We could also add a separate index/sitemap page on which you can see the list of all pages.

The other consideration is that search is supposed to be a powerful tool for easily finding pages without scrolling through a big list, but it seems like the discoverability of the search button might not be very clear. We could consider making it more of a clear search box, or we could at least add text to the button. We are also planning to support searching for things like headings, which would also increase the chance of finding what you want.

Regardless, we would greatly appreciate your feedback on how you think it should be structured. Apologies for the confusion.

@kkoreilly
Copy link
Member

@0pcom @AnyCPU Regarding WebGPU, that error message does indicate that it is falling back to the backup 2D drawer, and we could indicate that directly in the log, or just remove the message entirely; what do you think?

For the version information, we are aware of that issue with the about dialog and will work on fixing it. We will also try adding it directly to the website.

@0pcom I don't know why the static preview is like that; that typically indicates that the core tool version and the core library version mismatch. FYI, core run already does core build, so you can just run core run web directly.

@rcoreilly
Copy link
Member

I vote for adding all of the categories at the bottom of the nav tree. Maybe add the word "Search" next to the search icon?

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

we could indicate that directly in the log, or just remove the message entirely; what do you think?

@kkoreilly it would be nice to cover that code by using tracing options that we can see in the core's settings dialog.

there is no need in an error msg if we have fallback option.

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@kkoreilly a one of good practices i've seen in Go is:

  • return errors from library code
  • do logs in application code

i will prepare a pr with example

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 2, 2025

@kkoreilly an example 618544a

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 3, 2025

@0pcom could you reproduce the app crash?

@0pcom
Copy link
Author

0pcom commented Feb 3, 2025

@0pcom Thank you for filing this issue. We really appreciate your feedback.

Apologies for this unclear decision and the reduced navigability it caused.

The other consideration is that search is supposed to be a powerful tool for easily finding pages without scrolling through a big list, but it seems like the discoverability of the search button might not be very clear. We could consider making it more of a clear search box, or we could at least add text to the button. We are also planning to support searching for things like headings, which would also increase the chance of finding what you want.

Regardless, we would greatly appreciate your feedback on how you think it should be structured. Apologies for the confusion.

I was only confused because it seemed like the links should be there on the left because space was reserved there for something. It's just empty space without that, on desktop. Perhaps it looks better on mobile.

For optimal performance, I think the approach you chose was best in that it limits the amount of stuff being rendered on any given page. Or at least on the front page of the documentation. I understand why this is actually necessary and a good idea - because any animation will suffer when there is too much on any one page. If you were going to include something animated.

I would like to see a list of at least top level categories somewhere. I am actually fond of that tree with collapsible branches, that's something which people might want to use. But it is demonstrated on subsequent pages, so it's not as though it's excluded by the recent changes.

My only real issue is that... when I get to the end of the page of a certain category, it should somehow link to the next logical page or category

Here at the bottom of the page, several links are presented:
https://www.cogentcore.org/core/basics

On following these links, not every subsequent page has a link at the bottom to the 'next page' or 'next section' or 'next category' - nor is it always apparent what the next page is. They all have links on them, it's just confusing to know where you are at with it or where you want to go next or how much is left that you have not seen..

So, I really actually do like the categories menu because it enables somewhat lazy browsing, and you don't need to know what you are looking for to find it. But in lieu of that... If I think of a presentation based on the documentation, it should basically flow through every available page. In another sense, if the site was crawled, basically every link would be visited. And the documentation would sortof flow linearly to the next most logical section or category, through all the subheadings, and then to the next category and so on. And then the last page either links back to the beginning or doesn't link anywhere, but tells you that you reached the end of the documentation.

The design layout of the documentation is really up to you guys. But if you want my two cents on it:

  • if there is no menu on the left, don't reserve space for it.
  • have a page ( It does not need to be the main page cogentcore.org/core) with the massive tree of all the categories & subcategories - might be good at cogentcore.org/core/categories

then, people can see how that page with the massive tree performs, if they wanted to do something similar, and it also becomes easier to browse categories and subcategories out of order.

Another thing... don't be afraid of redundancy. To the extent that is optimal and does not bloat the resulting binary. Redundancy is your friend. If there are multiple ways to explore the documentation, that's not a bad thing. Perhaps it might seem messy, but variations of examples are not a bad thing. It just gives more places where the user can start by directly copying something into their own code.

As good as the documentation is, and while the software / user interface should really speak for itself ; if you made a video of going through the documentation, talking about it, interacting with it, and if you at least hit all the major points / categories that you want to cover, and then mention the things that you aren't directly talking about and show people where they can read more about it, I think that would be a thoroughly enjoyable thing to watch. Especially with your narration & insights.

However, I know that you might be loathe to do that and then need to re-do it if you changed something in such a way that the video no longer reflected the documentation. It's just a suggestion.

What you are doing, specifically with the documentation, presents a unique challenge of communication. And I think it's been handled with impressive clarity, considering the level of complexity this entails.

...

Another thing to mention, an oddity. If I go here:
https://www.cogentcore.org/core/abilities

Abilities is not in the sidebar nav menu.

If I click App then it takes me to this page

https://www.cogentcore.org/core/app

Now App is not shown on the left sidebar navigation menu, but Abilities is there in it's place.

@0pcom
Copy link
Author

0pcom commented Feb 3, 2025

@0pcom could you reproduce the app crash?

I can produce them sometimes but reproducing them is more difficult. I'll be certain to make an issue ticket here if I encounter any more crashes.

@0pcom 0pcom changed the title cogentcore.org/core navigation menu on the left is no longer displayed in docs (linux): cogentcore.org/core categories navigation menu on the left is no longer displayed in docs Feb 13, 2025
@0pcom
Copy link
Author

0pcom commented Feb 13, 2025

Will the docs site be changed anytime soon, or is it otherwise possible to see all the categories somewhere so that I can examine the updated documentation in it's entirety via category navigation?

Also, the canvas animation example included in the docs which appears smoothly when run as a standalone example but in the documentation it suffers from brief stutters or hiccups

cogent-core-canvas-animation-2025-02-13_10.16.53.mp4

When I remove the code for the canvas animation and substitute the following code:

core.NewCanvas(b).SetDraw(func(pc *paint.Context) {
		width, height := 128, 128
		for y := 0; y < height; y++ {
			for x := 0; x < width; x++ {
				r := uint8((x * 255) / (width - 1))
				g := uint8((y * 255) / (height - 1))
				b := uint8(255 - r)
				pixelColor := image.NewUniform(color.RGBA{R: r, G: g, B: b, A: 255})
				pc.StrokeStyle.Color = pixelColor
				pc.SetPixel(x, y)
			}
		}
	})

it severely affects performance, making scroll & the page itself slow to respond. increasing width and height decreases page responsiveness.

@AnyCPU
Copy link
Contributor

AnyCPU commented Feb 13, 2025

@0pcom as i can see some work is being done for new painting/rendering.

i have some ideas why it may happen in your case, but i guess it is ok to wait for a new impl at the moment.

@kkoreilly
Copy link
Member

@0pcom As @AnyCPU mentioned, we are currently working on a major redesign of the rendering infrastructure (#1457), especially on web, which should greatly improve performance of these kinds of things.

We are planning to update the website soon; we haven't had the chance to fully discuss the situation and implement a good solution yet, but we should be able to do that within the next week. We appreciate your feedback, and I will definitely get back to you soon. In the meantime, if you click on the search button and then on the little arrow on the right of the text field in the search dialog, you can scroll through a list of all of the pages. Thank you for your patience and please let me know if you have any other questions.

@0pcom
Copy link
Author

0pcom commented Feb 17, 2025

@0pcom As @AnyCPU mentioned, we are currently working on a major redesign of the rendering infrastructure (#1457), especially on web, which should greatly improve performance of these kinds of things.

We are planning to update the website soon; we haven't had the chance to fully discuss the situation and implement a good solution yet, but we should be able to do that within the next week. We appreciate your feedback, and I will definitely get back to you soon.

Exciting to hear, I'm looking out for updates!

In the meantime, if you click on the search button and then on the little arrow on the right of the text field in the search dialog, you can scroll through a list of all of the pages. Thank you for your patience and please let me know if you have any other questions.

That will suffice for browsing / lazy navigation. I must have missed that.

Overall this CORE framework is progressing nicely! This is one of the best projects to follow in 2025.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working correctly
Projects
Status: Todo
Development

No branches or pull requests

4 participants