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

Command dictionary view #1493

Closed
joswig opened this issue Oct 8, 2024 · 3 comments · Fixed by #1571
Closed

Command dictionary view #1493

joswig opened this issue Oct 8, 2024 · 3 comments · Fixed by #1571
Assignees
Labels
feature New feature or request next Near term candidates sequencing Anything related to the sequencing domain

Comments

@joswig
Copy link
Collaborator

joswig commented Oct 8, 2024

When editing a sequence, provide a view that shows all commands in the dictionary specified in the sequence's parcel. For each command definition show argument names, types, ranges, and any other values set in dictionary.

Out of scope, but consider that we may want to show parameter dictionary and channel dictionary soon. We also are actively evaluating switching from AMPCS dictionary format to XTCE, or maybe support both.

Branch /feat/dict_view is a rough idea of what I had in mind, but we should take it through our normal design process

@joswig joswig added the feature New feature or request label Oct 8, 2024
@joswig joswig changed the title Command dictionary View Command dictionary view Oct 8, 2024
@joswig joswig added this to Aerie Oct 8, 2024
@github-project-automation github-project-automation bot moved this to Todo in Aerie Oct 8, 2024
@joswig joswig added the next Near term candidates label Oct 8, 2024
@shaheerk94 shaheerk94 added the sequencing Anything related to the sequencing domain label Oct 9, 2024
@dandelany dandelany assigned lklyne and unassigned duranb Oct 10, 2024
@dandelany
Copy link
Collaborator

Met today with @lklyne @shaheerk94 and @joswig to hash out some requirements for this:

  • This is basically a catalog of all commands/arguments in the current parcel for the sequence, ie. don't need to select/include multiple parcels
  • Should fit in the same page as Phoenix sequence editor, probably bottom left pane
    • could make changes to the metadata in top left to make room for it, squeeze it down to less area
  • User should be able to search by command stem and see a list of all partially-matching commands
    • future version: would like to search by argument name or enum type
  • In the search results, should probably allow user to click on a command to select it & see more details, otherwise may be too hard to squeeze all information in the list of results
  • Could have a breadcrumb-style nav at the top - showing which parcel/dictionary/command you're looking at
  • Each command should show the following information:
    • Command stem, opcode & description
    • all arguments for the command - possible argument types include:
      • Numeric args, which may have an allowed range (min/max)
      • String args, which may have a max length
      • Enums - show all possible enum values,
        • but there could be >1000 possible values, need search or pagination
      • Repeat args - an argument that can be an array of M tuples containing N values each
        • M can have a min and max range - ie. how many times the tuples can be repeated
        • each of the N values in the tuples has a (primitive) type ie. number, string or enum - but can't contain other repeat args

An example command dictionary can be found here, but it does not currently contain any Repeat args - @joswig will add some:

https://github.com/NASA-AMMOS/aerie-ui/blob/develop/e2e-tests/data/command-dictionary.xml

@lklyne is working on design ideas in this Figma doc:

https://www.figma.com/board/aeLOMZduURvJbyKs9AtesW/Sequencing-initial-design-work?node-id=0-1&node-type=canvas&t=PmdcQAbSWzToPMAv-0

@dandelany dandelany moved this from Todo to In Progress in Aerie Oct 15, 2024
@lklyne
Copy link
Contributor

lklyne commented Nov 5, 2024

Explorations on selected command vs activity dictionary.
Image

open questions around visual treatment, and what info should be in selected command vs command dictionary

https://www.figma.com/design/T4MZq59UrKCI0AqHqdqvE9/Aerie---Command-dictionary-view-%231493?node-id=0-1&t=4s0lv6GNUch133SQ-1

@lklyne
Copy link
Contributor

lklyne commented Nov 7, 2024

Dev direction: https://www.figma.com/design/T4MZq59UrKCI0AqHqdqvE9/Aerie---Command-dictionary-view-%231493?node-id=63-17948&t=UO5E8ewtx8Iljf8B-4

Features

Tab for command dictionary

  • Add tab for command dictionary
  • Add link in empty state to command dictionary

Command dictionary tab > List

  • On command dictionary tab, show collapsable list of commands grouped by dictionary name
  • Ability to search by
    • Command stem
    • subsystem
    • argument name

Command dictionary tab > Single command

  • Show header with breadcrumbs, ability to copy command, close
  • Show command description
  • List arguments in collapsable hierarchy
  • Show chips for unit, type, and range when available. (ideally make these responsive so text is truncated when there's not enough horizontal space. push to a new line when expanded)
  • List enum options

Selected Command

  • Mirror layout with activity instance details panel
    • Add header with command name and link to command in dictionary
    • Show description below
    • Show unit in input when present. (keep static for now. we'll explore making this a variable swap in the future)
    • When enough horizontal space is present, show argument name and input stacked horizontally, otherwise stack vertically
  • For tuples + sets, show range and sets next to top-level arg

Image

@dandelany dandelany assigned duranb and unassigned lklyne Nov 7, 2024
@dandelany dandelany moved this from In Progress to In Review in Aerie Dec 5, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in Aerie Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request next Near term candidates sequencing Anything related to the sequencing domain
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

5 participants