AmbientRun / Ambient

The multiplayer game engine
https://ambient.run
Apache License 2.0
3.79k stars 122 forks source link

Show assets in generated package documentation #1188

Open philpax opened 10 months ago

philpax commented 10 months ago

At the time of writing, the docs generated for asset-only packages are more or less empty as they have no items of their own.

The documentation could be made much more useful if it showed a list of all assets present within the package (preferably with some filters), and potentially include a way to view each asset (#1151, being able to play back sound, etc). Ideally, it could stand in as an "asset browser" that users can easily get asset links from.

This would require getting all built assets from the asset build process (i.e. OutAsset), which is complicated by the current build process only including top-level OutAssets. All build pipelines would need to be updated to output OutAssets for each of their built asset files.

Additionally, the current docgen loads in the entire exported semantic state for the one package at the top of the package-tree it's building. That is, it doesn't know anything about the other packages or where they're located. It would have to have some understanding of this (exported semantic contains locators that can be resolved relative to the generated docs?) before asset lists could be generated per-package.

Once that's sorted, generating the actual list should be relatively straightforward, with some care put into how the list is viewed (options for list/thumbnails, sort order, etc). Supporting viewing the other asset types would be nice, too - would it be possible to use Ambient to render them?