Giter Club home page Giter Club logo

skill-mark-2's People

Contributors

aiix avatar chrisveilleux avatar devs-mycroft avatar e-gor avatar forslund avatar goldyfruit avatar jarbasal avatar krisgesling avatar notmart avatar penrods avatar thorstenmueller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

skill-mark-2's Issues

Better use of animation screens

Want to reconsider how we use the different animation screens to simplify the visual feedback for the user and make it clearer what's going on.
Note: these should probably all move to the Mark II Enclosure too.

Currently for a single utterance you can cycle through a range of screens, eg "play the news" may result in:

"listening" > "thinking" > "speaking" > idle screen > CPS UI

When ideally this should be at most:

"listening" > "thinking" > CPS UI

Likewise with the "current time" instead of:

"listening" > "thinking" > Time.qml

We can cut out the thinking animation.

Listening
After the wake word is detected, the vertical bar animation shows the device is listening. The challenge here is the time taken from activation to the animation starting. For very short intents you may finish speaking as the animation starts. If we can't get it to be relatively instant then maybe it's better to only use the LEDs on the device?

Thinking
Currently the dot rotating around the circle is shown after the listening has ended, until something else happens. This means that even for simple intents like the time, the thinking screen shows very briefly.
Suggest that we only show "thinking" when some delayed process is happening eg: Fallback Skills, Common Play

Speaking
This is shown if the Skill doesn't register a screen before the speech. Partly this would be a developer education issue - "you should display content and then trigger the speech".
Alternatively perhaps we provide a way for Skills to indicate that they handle the GUI. So it will display for any Skill not intentionally using the GUI.
Not sure the right way to go on this one...

Idle screen race condition

Setting override idle screen sometimes fails and shows the normal resting page instead of the override until another command is issued and the resting page is shown again.

Mycroft Mark 2 screen brightness voice skill

Describe the bug
Mk 2 does not recognise the voice command

To Reproduce
Speak the voice command "hey mycroft turn on auto brightness/ change to low brightness/ dim to 50%" (as detailed on the skills page at https://market.mycroft.ai/skills/1c9ed879-7fe3-49d0-9861-5094c18fefee)

Expected behavior
to auto dim the screen, change to low brightness or dim to 50% brightness

Log files
n/a.

voice created support ticket function - not working

Environment:

  • Device type: Mycroft Mark 2
  • OS: Dinkum
  • Mycroft-core version: 2022-10-18 06:11
  • Other versions:

Additional context
No modifications made

Setting a custom `override_idle` duration does not always work.

Describe the bug
Setting a custom override_idle duration does not always work.

Example is the Naptime Skill where we sleep for 5 seconds then release the GUI instead of override_idle=5. Some discussion here about that and the possible cause: MycroftAI/skill-naptime#41 (comment)

This may need to be addressed in the broader Skills interaction sprint

To Reproduce
Steps to reproduce the behavior:

  1. show a page with override_idle=5
  2. page does not always disappear after 5 seconds.

Expected behavior
should respect the duration of the override

RestingScreen idle override should be registered to the Skill that called it

Is your feature request related to a problem? Please describe.
Overriding the idle screen from a Skill doesn't track which Skill created the override. Hence it would be possible for multiple Skills to be acting on the RestingScreen and interfering with each other.

Example:

  1. Skill A is triggered, performing some action
  2. Skill B is triggered and overrides idle
  3. Skill A finishes and clears it's namespace
  4. Skill B's idle override gets unintentionally cancelled by Skill A releasing the override

Describe the solution you'd like
Skills should only be able to perform actions on their own idle screen.
Need to look at how we handle multiple Skills wanting to be the idle screen. Currently a new one overrides an older one. Should it be a stack where Skills can clear their item in the stack, but if they haven't clearing all above would return to that?

Additional context
Arose from this discussion.

Idle sceen restrictions

Currently a resting page needs to be called idle.qml to work properly. This artifically limits the usage of idle screens.

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.