fray icon indicating copy to clipboard operation
fray copied to clipboard

[TRACKER] Documentation Overhaul

Open Pyxus opened this issue 2 years ago • 0 comments

Goal

This issue tracks progress of the ongoing documentation overhaul. The goal of this overhaul is to improve the readability, correctness, and usefulness of the current documentation including both doc-comments and markdown docs.

Contributing

If you would like to help me with the documentation overhaul simply create PR and leave a reply linking to it stating what it covers. This page will be updated as progress is made.

Doc-Comments

Doc-comment PRs will be divided by folders within a module. A '*' refers to every file within a folder

  • [ ] Collision: /* PR:
  • [ ] Collision: 2d/* PR:
  • [ ] Collision: 3d/* PR:
  • [ ] Input: /* PR:
  • [ ] Input: autoloads/* PR:
  • [ ] Input: device/binds/* PR:
  • [ ] Input: device/composites/* PR:
  • [ ] Input: events/* PR:
  • [ ] Input: sequence/* PR:
  • [ ] StateMgmt: /* PR:
  • [ ] StateMgmt: state/* PR:
  • [ ] StateMgmt: transition/* PR:
  • [ ] fray.gd PR:

Guides

The current "getting started" page is verbose and lacks clarity. Additionally, it focuses too much on 'how' to use Fray's tools (which is already covered by the doc-comments) but doesn't do a good job of addressing why they exist and what problems they solve. As such, I plan to replace that with a series of practical guides that explain how to solve common problems with Fray's tools.

Please share your thoughts if you have concerns with this approach or if you'd like to suggest/create guides.

  • [x] README.md: Provides an overview of what fray is, what problems it solves / what features it has, and how to install.
  • [ ] Using Hitboxes: Covers the purpose of hitboxes, how to create them, and how to extend them using attributes.
  • [ ] Managing Multiple Hitboxes: Covers the the issue of managing multiple hitboxes, the purpose/use of hit states, and the purpose/use of hit state managers.
  • [x] Detecting Inputs: Covers purpose/registration of binds, purpose/registration of composite inputs, checking inputs.
  • [x] Detecting Input Sequences: Covers what a sequence is, use of sequence trees, purpose of negative edge, use of negative edge, use of sequence matcher.
  • [X] Building A State Machine
  • [X] Controlling State Transitions
  • [X] Providing Data To States

Note: The present guide proposals are based on the existing getting started page. Since state management was refactored I need to re-evaluate what needs to be covered before I add state-related guides to the tracker.

Related Issues

#59 #44 #23

Pyxus avatar Nov 02 '23 07:11 Pyxus