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

Proposed SIG-Docs-Community Feature Grid #40

Closed
Tracked by #41 ...
FiniteStateGit opened this issue May 8, 2022 · 6 comments
Closed
Tracked by #41 ...

Proposed SIG-Docs-Community Feature Grid #40

FiniteStateGit opened this issue May 8, 2022 · 6 comments
Labels
rfc-feature Request for Comments for a Feature

Comments

@FiniteStateGit
Copy link
Contributor

FiniteStateGit commented May 8, 2022

Features(modules) are organized by workflow (in H3); they include the concepts, tools, and components associated with the workflow. Features are scored on four metrics: the completeness of conceptual material, tutorial content, sample content, and the API documentation for reflected features. Metrics that are not scored for a feature are labeled 'N/A'. A documentation link to conceptual material is listed in the last column. In some cases, I could not identify a primary location to link to a feature with partial coverage.

Sig-Docs-Community

Onboarding

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Onboarding 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/welcome-guide/
Engine Config and Build 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/build/
Build Platform - Windows 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/welcome-guide/setup/installing-windows/
Build Platform - Linux 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/welcome-guide/setup/installing-linux/
Build Platform - Android 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/platforms/android/generating_android_project_windows/
Build Platform - MacOS 🔴 None 🔴 None ⭕ N/A ⭕ N/A
Project Config and Build 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/project-config/
Gem System 🟡 Partial 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/programming/gems/
Gem Catalog 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/project-config/add-remove-gems/
Editor 🟢 Complete 🟡 Partial ⭕ N/A 🔴 None https://www.o3de.org/docs/user-guide/editor/
System Components 🔴 None 🟡 Partial ⭕ N/A 🔴 None
Viewport 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/editor/viewport/
Entity Outliner 🟡 Partial 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/editor/entity-outliner/
Entity Inspector 🟡 Partial 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/editor/entity-inspector/
Console 🟢 Complete 🟡 Partial ⭕ N/A 🟡 Partial https://www.o3de.org/docs/user-guide/editor/console/
Asset Browser 🔴 None 🟡 Partial ⭕ N/A ⭕ N/A
Asset Editor 🔴 None 🟡 Partial ⭕ N/A ⭕ N/A
Project Manager 🟢 Complete 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/project-config/project-manager/
CLI 🟢 Complete 🟡 Partial ⭕ N/A 🟢 Complete https://www.o3de.org/docs/user-guide/project-config/cli-reference/

Experience design

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Entities 🟡 Partial 🟡 Partial 🔴 None 🔴 None
Levels 🔴 None 🟡 Partial 🔴 None 🔴 None
Prefabs 🔴 None 🟡 Partial 🔴 None 🔴 None
Physics 🟡 Partial 🟡 Partial 🔴 None 🔴 None https://www.o3de.org/docs/user-guide/interactivity/physics/
Event Buses 🟡 Partial 🔴 None 🔴 None 🟡 Partial https://www.o3de.org/docs/user-guide/programming/ebus/
AZ Events 🔴 None 🔴 None 🔴 None 🔴 None
Scripting 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/scripting/
Audio 🟢 Complete 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/interactivity/audio/
AI 🔴 None 🔴 None 🔴 None ⭕ N/A
Input 🟡 Partial 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/interactivity/input/
Cameras 🔴 None 🔴 None 🔴 None ⭕ N/A
UI 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/interactivity/user-interface/
Audio Components 🟢 Complete 🔴 None 🔴 None 🟡 Partial -
Camera Components 🟢 Complete 🔴 None 🔴 None 🟢 Complete -
Gameplay Components 🟢 Complete 🟡 Partial 🔴 None 🟢 Complete -
PhysX Components 🟢 Complete 🟡 Partial 🔴 None 🔴 None -
Scripting Components 🟡 Partial 🟡 Partial 🔴 None 🟡 Partial -
Shape Components 🟢 Complete 🔴 None 🔴 None 🟢 Complete https://www.o3de.org/docs/user-guide/components/reference/shape/
Transform Component 🟢 Complete 🟡 Partial 🔴 None 🟡 Partial -
Non-uniform Scale Component 🟢 Complete 🔴 None 🔴 None 🟡 Partial -
Input Components 🟡 Partial 🟡 Partial 🔴 None 🟡 Partial -
UI Components 🟡 Partial 🟡 Partial 🔴 None 🔴 None -
UI Canvas Components 🟢 Complete 🟡 Partial 🔴 None 🔴 None https://www.o3de.org/docs/user-guide/interactivity/user-interface/components/
UI Editor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/interactivity/user-interface/editor/
Script Canvas 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/scripting/script-canvas/
Lua Editor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/scripting/lua/lua-editor/
PhysX Configuration 🟢 Complete 🟡 Partial 🔴 None 🔴 None https://www.o3de.org/docs/user-guide/interactivity/physics/nvidia-physx/configuring/

Actor development

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Actors 🟡 Partial 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/components/reference/animation/actor-component-entity-setup/
Animation 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/visualization/animation/char-intro/
Animation Components 🟢 Complete 🟡 Partial 🔴 None 🟡 Partial -
PhysX Components 🟡 Partial 🟡 Partial 🔴 None 🔴 None -
Animation Editor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/visualization/animation/

World building

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Terrain 🔴 None 🟡 Partial 🔴 None ⭕ N/A
Vegetation 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/gems/reference/environment/vegetation/
Gradient Components 🟡 Partial 🟡 Partial 🔴 None 🟢 Complete
Surface Data Components 🟡 Partial 🔴 None 🔴 None ⭕ N/A
Terrain Components 🟡 Partial 🟡 Partial 🔴 None 🟢 Complete
Vegetation Components 🟢 Complete 🟡 Partial 🔴 None 🟢 Complete https://www.o3de.org/docs/user-guide/gems/reference/environment/vegetation/
Landscape Canvas 🔴 None 🔴 None 🔴 None ⭕ N/A

Look development

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Assets 🟡 Partial 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/assets/
Materials 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/atom-guide/look-dev/materials/
Shaders 🟡 Partial 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/atom-guide/look-dev/shaders/
Atom Renderer 🟢 Complete 🟡 Partial 🟢 Complete ⭕ N/A https://www.o3de.org/docs/atom-guide/
Cinematics 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/visualization/cinematics/
Asset Processor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/assets/asset-processor/
Asset Pipeline 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/assets/pipeline/
Python Asset Builder 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/assets/builder/
Atom Components 🟡 Partial 🟡 Partial 🔴 None 🟡 Partial
Material Editor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/atom-guide/look-dev/materials/material-editor/
Track View Editor 🟢 Complete 🟡 Partial 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/visualization/cinematics/track-view/

Multiplayer

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Multiplayer 🟢 Complete 🟡 Partial 🟡 Partial 🔴 None https://www.o3de.org/docs/user-guide/gems/reference/multiplayer/
Networking Components 🟢 Complete 🟡 Partial 🟡 Partial 🔴 None https://www.o3de.org/docs/user-guide/networking/
Cloud Components 🟢 Complete 🔴 None 🔴 None 🔴 None https://www.o3de.org/docs/user-guide/gems/reference/aws/

Project development and team collaboration

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Source Control 🔴 None 🔴 None 🔴 None ⭕ N/A
Platform Development 🟡 Partial 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/platforms/
Platform Development - Windows 🟡 Partial 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/platforms/windows/
Platform Development - Linux 🟡 Partial 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/platforms/linux/
Platform Development - Android 🟡 Partial 🔴 None 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/platforms/android/
Platform Development - MacOS 🔴 None 🔴 None 🔴 None ⭕ N/A
Programming 🟢 Complete 🟢 Complete 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/programming/
Testing 🟢 Complete 🟢 Complete 🔴 None ⭕ N/A https://www.o3de.org/docs/user-guide/testing/
Graph Canvas 🔴 None 🔴 None 🔴 None ⭕ N/A

Editor extension

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Component Development 🟢 Complete 🟡 Partial 🟡 Partial ⭕ N/A https://www.o3de.org/docs/user-guide/programming/components/
Tools UI 🟢 Complete 🟡 Partial 🟡 Partial ⭕ N/A https://www.o3de.org/docs/tools-ui/

Packaging and deployment

Module Conceptual Material Tutorial Content Sample Content API Documentation Documentation Link
Asset Bundling 🟢 Complete 🟢 Complete ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/packaging/asset-bundler/
Release Build 🟡 Partial 🟡 Partial ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/packaging/overview/
Release Platform - Windows 🟢 Complete 🟢 Complete ⭕ N/A ⭕ N/A https://www.o3de.org/docs/user-guide/packaging/windows-release-builds/
Release Platform - Linux 🔴 None 🔴 None ⭕ N/A ⭕ N/A
Release Platform - Android 🔴 None 🔴 None ⭕ N/A ⭕ N/A
Release Platform - MacOS 🔴 None 🔴 None ⭕ N/A ⭕ N/A
@FiniteStateGit FiniteStateGit added the rfc-feature Request for Comments for a Feature label May 8, 2022
@willihay
Copy link
Contributor

Assuming this is a companion or addition to the product feature grid in the upcoming 22.05 release notes?

How did you determine the completeness score for the conceptual and tutorial content? What does "Complete" mean for docs? I think we should wait to release this until the Amazon docs team has had a chance to provide input from its audit, which is currently ongoing. I have a feeling there will be a lot less "Complete" scores than currently shown here. ;-)

We should only list modules that are included with O3DE. Kythera AI is not one of them.

Regarding the general format, please put the score first, followed by the description. Sorry for the extra work this will cause, but this will allow the scores to line up neatly and really aid the ability for readers to rapidly scan the table. See the preview of the product feature grid as an example, sizing your window to fit the table contents.

@FiniteStateGit
Copy link
Contributor Author

Assuming this is a companion or addition to the product feature grid in the upcoming 22.05 release notes?

Yes, this is the feature grid for documentation. Stephan and I settled on the workflows, modules, and columns to include last week. I think we both agreed that the format should be improved for future versions; I had concerns that this had to largely align with the format of other feature grids.

How did you determine the completeness score for the conceptual and tutorial content? What does "Complete" mean for docs? I think we should wait to release this until the Amazon docs team has had a chance to provide input from its audit, which is currently ongoing. I have a feeling there will be a lot less "Complete" scores than currently shown here. ;-)

For conceptual content, if I couldn't identify that material was missing from the topic, it received a 'complete' score. For tutorial content, I considered all procedural material in addition to topics in the Tutorial section. I was expecting/hoping for many corrections to individual scores, I know the current ones are overly optimistic.

I will remove Kythera. I can shuffle the score and description around no problem (and change which descriptions we use), generating the feature grid is automated!

@sptramer
Copy link
Contributor

Notes from 5/17 meeting:

  • Maybe change from a separate feature grid to just a 4-col extension on top of the existing O3DE feature grid?
  • "Conceptual content": Feature descriptions (Minimum viable content), and cross-component/larger-engine tie-together
  • Which is more useful:
    • Classifying by workflow feels problematic; Might be useful for prioritization and understanding of product health but not appropriate for feature grid
    • Developers look at specific feature support like "Animation motion matching" - not just the overall state of "Animation"
    • Not every feature needs every type of documentation (i.e. Installer doesn't need component docs, and viewport interaction doesn't necessary need "samples")
    • Lots of SIGs are not accurately tracking their own content needs on the feature grid, with regards to either 3D assets or sample code/projects (we help with the latter, TBD SIG helps with the former)
  • How do we score, and when can we give a score of "Complete" to any feature row?
    • Maybe grade on the content quality bar? i.e. "None", "Minimum", "Partial", "Good", "Excellent" gradation? This avoids the unpleasant implications of "complete" as well
    • But "Complete" does make sense for things like reference documentation: Lua, Script Canvas, Components, API ref, etc.
  • How do we track platform-specific support?
    • Release, install, platform-specific capabilities
    • Platform-related best practices for areas such as assets, networking design, etc.
  • Should other SIG-docs items have a place on the feature grid? Outside of reporting docs on product, what else does the SIG need to report on?
    • i.e. Projects, initiatives, ongoing RFC acceptance, templating, contributing
    • Some of this is reporting to be handled through LFX dashboard (metrics)
    • Publishing and health of standards and practices (such as contributor guide, audience calibration, style guide, levels of content, etc.)
    • Core gem coverage - possible additional area of RYG, for overall health of a single Gem, rather than by featureset.
  • Engineers want to use the term "included gems" or "bundled gems" - this helps distinguish from the engine core, and also the "core set of gems" required for every project
    • Feels like also a TSC/Marketing terminology thing?
    • Users should be able to make trust decisions on their own without an explicit "blue check" endorsement from O3DE or the O3DF - this is also a differentiator between "included" (more trusted)/"external" (trust if you want)
    • Avoid the "third party" terminology in general (feature grid and otherwise)
  • Enumerate the type of tutorial content available: Written, interactive, cookbook/recipe, sample code, sample project, howto
    • Could explode into "sub-grids" on top of each content type category - how do we avoid adding dimensions to the feature matrix and track appropriately without an information overload?
      • Maybe this is a feature request to the sig grid tool, where we enter EXTRA information that can be used to generate 2 charts: A SIG-relevant chart (detailed breakdowns) and a user-relevant chart (single category score - priority)
        • Are the detailed breakdowns just covered by rigorous github issue use and appropriate labeling?

@sptramer
Copy link
Contributor

Important downstream consequences of accepting this change:

  • We'll need to update the source code for the feature grid to accept docs information.
  • We'll need to update the instructions on how to use the feature grid.
  • Should be future-proofed in terms of API reference generation so that we can link to red/yellow/green status dashboards for coverage.

@tonybalandiuk
Copy link

I think this information is useful in a table form, but

  1. it will require maintenance
  2. this information seems like it would be very useful at the top of each documentation page so someone using the actual documentation the completeness of it immediately (as opposed to having to know that this table exists).

I'm wondering if there's a way to have this information at the top of each docs page, and then somehow run a script to aggregate it into this table. Then both use cases would be fulfilled.

@FiniteStateGit
Copy link
Contributor Author

Closing proposal, feedback has been incorporated into RFC #64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc-feature Request for Comments for a Feature
Projects
None yet
Development

No branches or pull requests

4 participants