diff --git a/docs/architecture.md b/docs/architecture.md index 66f188ea..155db05a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -13,7 +13,7 @@ Within the core library, state is managed by [Redux]. In fact, Redux's own docs Our reducers, and the states they control, can be found in the [reducers](../js/reducers/) directory. -Async actions are handled using the [redux-thunk]. You can find all of the actionCreators in the [actionCreators.ts](../js/actionCreators.ts) file. This is the most complex portion of the app, as it contains all the coordination of our many async actions. +Async actions are handled using the [redux-thunk]. You can find all of the actionCreators in the [actionCreators](../js/actionCreators/index.ts) file. This is the most complex portion of the app, as it contains all the coordination of our many async actions. Any non-trivial value derived from state is computed inside a [selector](../js/selectors.ts). Care has been taken to ensure that the structure of the state allows for most common selectors to be a constant time operation. For selectors that are `O(n)`, we use [reselect] to ensure the calculation is only done when dependent values change. @@ -39,7 +39,7 @@ In addition to the sprite sheets there are some config files in various formats, From there, our `Skin` component has a `ClipPaths` sub component which ouputs a series of ``s representing the clip path for each window into the DOM. Finally, CSS `clip-path` rules representing each window are dynamically generated and added to the injected style sheet. -The parsing of skin files is handed in [skinParser.js](../js/skinParser.js). Rendering the `` and `