mycroftai / skill-mark-2 Goto Github PK
View Code? Open in Web Editor NEWControl of the Mycroft Mark 2 enclosure
License: Apache License 2.0
Control of the Mycroft Mark 2 enclosure
License: Apache License 2.0
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...
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.
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:
Additional context
No modifications made
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:
override_idle=5
Expected behavior
should respect the duration of the override
The speaking animation leavs a blank screen for sligtly too long. could be shortened by a couple of seconds.
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:
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.
Currently a resting page needs to be called idle.qml to work properly. This artifically limits the usage of idle screens.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.