Coder Social home page Coder Social logo

interactivetutorials's People

Contributors

cgalvan avatar micronamzn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

interactivetutorials's Issues

Feature Request: Gating of next button

Might be a good idea to add a feature for gating (disabling) of the Next button on the tutorial until some action is completed. This could be done by providing an optional field on the step that would disable the Next button until some signal is fired from the step. This way, the custom tutorial could write some logic to listen for an event/action and then fire the signal that would re-enable the Next button to allow the user to proceed with the tutorial.

Improve overlay visuals

Currently the overlay is drawn and remains over the widget/item the entire time the user is on that step. This is an awkward experience in some cases where the user might click a button that then disappears because the UI changes, but the overlay is still drawn over the pre-existing spot.

There are several possible solutions to this problem. One from @micronAMZN would be to make it so the overlay only stays for a couple of seconds, and has some kind of pulsing animation. This would do a good job of drawing the user's attention to the action they need to take, and then once it disappears we wouldn't be have to worry about it being drawn incorrectly.

Use Script Canvas to drive custom logic for tutorial steps

Now that we have support for having Script Canvas Anywhere, we could utilize this to author tutorials via Script Canvas. This could include things like:

  1. Implementing custom step pre-post hooks using Script Canvas to listen for notifications (e.g. an Entity being created)
  2. Automatically switching to the next step based on some event occurring or some condition being met
  3. Authoring the actual tutorial itself completely via Script Canvas nodes/connections

Extend highlight pattern to support finding a child by hierarchy

Currently we are using the pyside_utils.find_child_by_pattern API to find the widget/item to highlight for the current step. This works for many cases, but there are a lot of widgets that don't have objectNames set, or are nested with many widgets of the same type. For some of these widgets we can and should give them an appropriate objectName, since this would aid automated testing as well, but for others it might be better to be able to find them a different way.

So, we should extend support to be able to use the pyside_utils.find_child_by_hierarchy as well.

@micronAMZN

Allow highlighting of GraphCanvas items

In our graph-related tools (e.g. Script Canvas, Landscape Canvas), the UI is based on a QGraphicsScene so we are unable to use the current method of searching for a specific widget/item to locate graph items (e.g. nodes). This would restrict us from writing a fully immersive tutorial that goes through Script Canvas or Landscape Canvas workflows. So, we need to extend our highlight API to give the user the ability to highlight items in the graph scene.

@micronAMZN

Feature Request: Self-completing step

Might be useful to have an optional callback/method on a step where the user could write logic to perform the actual step (e.g. create an Entity, set a value on a property field, etc...). Could be presented as a "Preview" or "Help" option.

Move the `pyside_utils` into the `QtForPython` gem

We currently use the pyside_utils API that is only present in the AutomatedTesting project. This will need to be moved out so that it can be used more generally (e.g. by our gem) in any project. The most likely candidate would be to move it to the QtForPython gem since it provides the PySide2 library, but will need to investigate further, because we could potentially move a number of helpful utilities from editor_python_test_tools outside of AutomatedTesting as well.

Fix crash when highlight item can't be found

Currently if you specify a highlight item that can't be found, or is ambiguous (more than one that match the criteria), the tool crashes. We need to fix this so it doesn't crash, and if possible, print out a helpful error message instead.

Auto-populate current step label

@micronAMZN

We need to add a label that will auto-populate "Step X of N" based on the current step / total number of steps of the active tutorial. As part of this task, we should update the PhysX Rigid Body tutorial so that it doesn't need to explicitly have "Step 1 of 20" at the bottom of the content for each step.

#16

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.