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

feat: canvas v2 #6771

Merged
merged 678 commits into from
Sep 6, 2024
Merged

feat: canvas v2 #6771

merged 678 commits into from
Sep 6, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 6, 2024

  1. Configuration menu
    Copy the full SHA
    62eb00a View commit details
    Browse the repository at this point in the history
  2. fix(ui): memory leak when getting image DTO

    must unsubscribe!
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    fef70fd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5ba15d0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    70bcca2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9badbb8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4b65d91 View commit details
    Browse the repository at this point in the history
  7. feat(ui): add SyncableMap

    Can be used with useSyncExternal store to make a `Map` reactive.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    90b3ebb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    76bc2cf View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d32526f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7b1a533 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    bb4eb70 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f628b8a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f8d4d5e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    aa4be01 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f47e1af View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    f4e3f87 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    05052fd View commit details
    Browse the repository at this point in the history
  18. chore(ui): eslint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    68bf445 View commit details
    Browse the repository at this point in the history
  19. chore(ui): prettier

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ab7b9c4 View commit details
    Browse the repository at this point in the history
  20. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    5797797 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    87150b7 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    bc8bf98 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    51cd435 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    cff871e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    66424c3 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    9486c50 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    e826f8a View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    e0e8165 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    18d9263 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    64f7c7b View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    84aa2b9 View commit details
    Browse the repository at this point in the history
  32. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c069981 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    9b1ee63 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    2ca5aed View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    143c47c View commit details
    Browse the repository at this point in the history
  36. chore(ui): typegen

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    4f9c4f7 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    da5b99c View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    f355d90 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    5ea3c11 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    7c68b88 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    a040d1d View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    20a0ed8 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    9b8d814 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    6cbaf7e View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    12a00de View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    a22bf4c View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    e013aff View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    775353f View commit details
    Browse the repository at this point in the history
  49. feat(nodes): CanvasV2MaskAndCropInvocation can paste generated image …

    …back on source
    
    This is needed for `Generate` mode.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    e696032 View commit details
    Browse the repository at this point in the history
  50. chore(ui): typegen

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    44b8480 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    03b3139 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    ee94b0c View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    86a5e25 View commit details
    Browse the repository at this point in the history
  54. feat(ui): add knipignore tag

    I'm not ready to delete some things but still want to build the app.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    51663c5 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    bc75b02 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    b91f79b View commit details
    Browse the repository at this point in the history
  57. feat(ui): add Result type & helpers

    Wrappers to capture errors and turn into results:
    - `withResult` wraps a sync function
    - `withResultAsync` wraps an async function
    
    Comments, tests.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    a5e2e78 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    112d6ea View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    4b488de View commit details
    Browse the repository at this point in the history
  60. chore: release v4.2.9.dev3

    Instead of using dates, just going to increment.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    839248c View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    af638cf View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    8a56702 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    8d0a75c View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    a733d72 View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    b4d0165 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    72f304b View commit details
    Browse the repository at this point in the history
  67. feat(ui): normalize all actions to accept an entityIdentifier

    Previously, canvas actions specific to an entity type only needed the id of that entity type. This allowed you to pass in the id of an entity of the wrong type.
    
    All actions for a specific entity now take a full entity identifier, and the entity identifier type can be narrowed.
    
    `selectEntity` and `selectEntityOrThrow` now need a full entity identifier, and narrow their return values to a specific entity type _if_ the entity identifier is narrowed.
    
    The types for canvas entities are updated with optional type parameters for this purpose.
    
    All reducers, actions and components have been updated.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    463f3db View commit details
    Browse the repository at this point in the history
  68. feat(ui): move ephemeral state into canvas classes

    Things like `$lastCursorPos` are now created within the canvas drawing classes. Consumers in react access them via `useCanvasManager`.
    
    For example:
    ```tsx
    const canvasManager = useCanvasManager();
    const lastCursorPos = useStore(canvasManager.stateApi.$lastCursorPos);
    ```
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    9480691 View commit details
    Browse the repository at this point in the history
  69. feat(ui): move selected tool and tool buffer out of redux

    This ephemeral state can live in the canvas classes.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    85eff56 View commit details
    Browse the repository at this point in the history
  70. feat(ui): add CanvasModuleBase class to standardize canvas APIs

    I did this ages ago but undid it for some reason, not sure why. Caught a few issues related to subscriptions.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ff8bc93 View commit details
    Browse the repository at this point in the history
  71. feat(ui): split out params/compositing state from canvas rendering state

    First step to restoring undo/redo - the undoable state must be in its own slice. So params and settings must be isolated.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    6b75ea3 View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    2b1e930 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    a07346b View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    4670f82 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    a33d1b9 View commit details
    Browse the repository at this point in the history
  76. fix(ui): handle error from internal konva method

    We are dipping into konva's private API for preview images and it appears to be unsafe (got an error once). Wrapped in a try/catch.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    9056f44 View commit details
    Browse the repository at this point in the history
  77. chore: release v4.2.9.dev4

    Canvas dev build.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    36604f7 View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    04d4108 View commit details
    Browse the repository at this point in the history
  79. perf(ui): optimize all selectors 1

    I learned that the inline selector syntax recreates the selector function on every render:
    
    ```ts
    const val = useAppSelector((s) => s.slice.val)
    ```
    
    Not good! Better is to create a selector outside the function and use it. Doing that for all selectors now, most of the way through now. Feels snappier.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    fe672ba View commit details
    Browse the repository at this point in the history
  80. perf(ui): optimize all selectors 2

    Mostly selector optimization. Still a few places to tidy up but I'll get to that later.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d209652 View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    e32fa8b View commit details
    Browse the repository at this point in the history
  82. Configuration menu
    Copy the full SHA
    0e31cca View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    4354cd7 View commit details
    Browse the repository at this point in the history
  84. feat(ui): tuned canvas undo/redo

    - Throttle pushing to history for actions of the same type, starting with 1000ms throttle.
    - History has a limit of 64 items, same as workflow editor
    - Add clear history button
    - Fix an issue where entity transformers would reset the entity state when the entity is fully transparent, resetting the redo stack. This could happen when you undo to the starting state of a layer
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    77125be View commit details
    Browse the repository at this point in the history
  85. Configuration menu
    Copy the full SHA
    11bc318 View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    c74b130 View commit details
    Browse the repository at this point in the history
  87. feat(ui): iterate on layer actions

    - Add lock toggle
    - Tweak lock and enabled styles
    - Update entity list action bar w/ delete & delete all
    - Move add layer menu to action bar
    - Adjust opacity slider style
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    478daf8 View commit details
    Browse the repository at this point in the history
  88. Configuration menu
    Copy the full SHA
    97414f1 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    b69b001 View commit details
    Browse the repository at this point in the history
  90. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    69d1edc View commit details
    Browse the repository at this point in the history
  91. Configuration menu
    Copy the full SHA
    c1a039e View commit details
    Browse the repository at this point in the history
  92. Configuration menu
    Copy the full SHA
    ec9fdac View commit details
    Browse the repository at this point in the history
  93. Configuration menu
    Copy the full SHA
    1497afc View commit details
    Browse the repository at this point in the history
  94. Configuration menu
    Copy the full SHA
    1749abb View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    f4a031a View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    d6b8cb9 View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    697c81b View commit details
    Browse the repository at this point in the history
  98. fix(ui): layer preview image sometimes not rendering

    The canvas size was dynamic based on the container div's size. When the div was hidden (e.g. when selecting another tab), the container's effective size is 0. This resulted in the preview image canvas being drawn at a scale of 0.
    
    Fixed by using an absolute size for the canvas container.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    784a615 View commit details
    Browse the repository at this point in the history
  99. Configuration menu
    Copy the full SHA
    931a4dd View commit details
    Browse the repository at this point in the history
  100. Configuration menu
    Copy the full SHA
    5abad87 View commit details
    Browse the repository at this point in the history
  101. Configuration menu
    Copy the full SHA
    a99ff46 View commit details
    Browse the repository at this point in the history
  102. Configuration menu
    Copy the full SHA
    61f9ba5 View commit details
    Browse the repository at this point in the history
  103. Configuration menu
    Copy the full SHA
    a8079e5 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    93b9792 View commit details
    Browse the repository at this point in the history
  105. feat(ui): fix queue item count badge positioning

    Previously this badge, floating over the queue menu button next to the invoke button, was rendered within the existing layout. When I initially positioned it, the app layout interfered - it would extend into an area reserved for a flex gap, which cut off the badge.
    
    As a (bad) workaround, I had shifted the whole app down a few pixels to make room for it. What I should have done is what I've done in this commit - render the badge in a portal to take it out of the layout so we don't need that extra vertical padding.
    
    Sleekified some styling a bit too.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    eeca521 View commit details
    Browse the repository at this point in the history
  106. perf(ui): disable useInert on modals

    This hook forcibly updates _all_ portals with `data-hidden=true` when the modal opens - then reverts it when the modal closes. It's intended to help screen readers. Unfortunately, this absolutely tanks performance because we have many portals. React needs to do alot of layout calculations (not re-renders).
    
    IMO this behaviour is a bug in chakra. The modals which generated the portals are hidden by default, so this data attr should really be set by default. Dunno why it isn't.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    2df0056 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    be58b03 View commit details
    Browse the repository at this point in the history
  108. Configuration menu
    Copy the full SHA
    db0b97c View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    4463e6d View commit details
    Browse the repository at this point in the history
  110. chore(ui): typegen

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    4129cdd View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    28feb01 View commit details
    Browse the repository at this point in the history
  112. feat(ui): migrate add node popover to cmdk

    Put this together as a way to figure out the library before moving on to the full app cmdk. Works great.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ac34957 View commit details
    Browse the repository at this point in the history
  113. Configuration menu
    Copy the full SHA
    42c7dde View commit details
    Browse the repository at this point in the history
  114. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    79168b6 View commit details
    Browse the repository at this point in the history
  115. Configuration menu
    Copy the full SHA
    a95fbfe View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    300ecd9 View commit details
    Browse the repository at this point in the history
  117. Configuration menu
    Copy the full SHA
    cd2a80c View commit details
    Browse the repository at this point in the history
  118. Configuration menu
    Copy the full SHA
    e57ee8d View commit details
    Browse the repository at this point in the history
  119. Configuration menu
    Copy the full SHA
    e3c0c63 View commit details
    Browse the repository at this point in the history
  120. Configuration menu
    Copy the full SHA
    16eede4 View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    057b5ec View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    86d10ca View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    ce4948e View commit details
    Browse the repository at this point in the history
  124. Configuration menu
    Copy the full SHA
    cfa22b3 View commit details
    Browse the repository at this point in the history
  125. Configuration menu
    Copy the full SHA
    913912d View commit details
    Browse the repository at this point in the history
  126. Configuration menu
    Copy the full SHA
    79d7f02 View commit details
    Browse the repository at this point in the history
  127. Configuration menu
    Copy the full SHA
    1a5dc20 View commit details
    Browse the repository at this point in the history
  128. Configuration menu
    Copy the full SHA
    f078e32 View commit details
    Browse the repository at this point in the history
  129. Configuration menu
    Copy the full SHA
    b0414a8 View commit details
    Browse the repository at this point in the history
  130. feat(app): add destination column to session_queue

    The frontend needs to know where queue items came from (i.e. which tab), and where results are going to (i.e. send images to gallery or canvas). The `origin` column is not quite enough to represent this cleanly.
    
    A `destination` column provides the frontend what it needs to handle incoming generations.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    9ced9ef View commit details
    Browse the repository at this point in the history
  131. chore(ui): typegen

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    14dea8b View commit details
    Browse the repository at this point in the history
  132. feat(ui): revise generation mode logic

    - Canvas generation mode is replace with a boolean `sendToCanvas` flag. When off, images generated on the canvas go to the gallery. When on, they get added to the staging area.
    - When an image result is received, if its destination is the canvas, staging is automatically started.
    - Updated queue list to show the destination column.
    - Added `IconSwitch` component to represent binary choices, used for the new `sendToCanvas` flag and image viewer toggle.
    - Remove the queue actions menu in `QueueControls`. Move the queue count badge to the cancel button.
    - Redo layout of `QueueControls` to prevent duplicate queue count badges.
    - Fix issue where gallery and options panels could show thru transparent regions of queue tab.
    - Disable panel hotkeys when on mm/queue tabs.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    87bc3f5 View commit details
    Browse the repository at this point in the history
  133. Configuration menu
    Copy the full SHA
    a0be7c4 View commit details
    Browse the repository at this point in the history
  134. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    87b2947 View commit details
    Browse the repository at this point in the history
  135. Configuration menu
    Copy the full SHA
    908f411 View commit details
    Browse the repository at this point in the history
  136. Configuration menu
    Copy the full SHA
    ad7919b View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    e911491 View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    70e27d6 View commit details
    Browse the repository at this point in the history
  139. Configuration menu
    Copy the full SHA
    5512f80 View commit details
    Browse the repository at this point in the history
  140. fix(ui): context menu doesn't work for new entities

    I do not understand why this fixes the issue, doesn't seem like it should. But it does.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    28db39a View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    221c51b View commit details
    Browse the repository at this point in the history
  142. fix(ui): modals not staying open

    TBH not sure exactly why this broke. Fixed by rollback back the use of a render prop in favor of global state. Also revised the API of `useBoolean` and `buildUseBoolean`.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    5126ec1 View commit details
    Browse the repository at this point in the history
  143. Configuration menu
    Copy the full SHA
    6096c8e View commit details
    Browse the repository at this point in the history
  144. Configuration menu
    Copy the full SHA
    fd6de78 View commit details
    Browse the repository at this point in the history
  145. Configuration menu
    Copy the full SHA
    c9e396b View commit details
    Browse the repository at this point in the history
  146. fix(ui): save to gallery rect too large

    Was including all layer types in the rect - only want the raster layers.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    fa80452 View commit details
    Browse the repository at this point in the history
  147. feat(ui): add merge visible for raster and inpaint mask layers

    I don't think it makes sense to merge control layers or regional guidance layers because they have additional state.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d5e5cae View commit details
    Browse the repository at this point in the history
  148. Configuration menu
    Copy the full SHA
    d11251f View commit details
    Browse the repository at this point in the history
  149. Configuration menu
    Copy the full SHA
    33d25c7 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    243e7c9 View commit details
    Browse the repository at this point in the history
  151. Configuration menu
    Copy the full SHA
    6f85743 View commit details
    Browse the repository at this point in the history
  152. Configuration menu
    Copy the full SHA
    f4e8799 View commit details
    Browse the repository at this point in the history
  153. Configuration menu
    Copy the full SHA
    b1673b9 View commit details
    Browse the repository at this point in the history
  154. Configuration menu
    Copy the full SHA
    fd7f005 View commit details
    Browse the repository at this point in the history
  155. Configuration menu
    Copy the full SHA
    9cd5107 View commit details
    Browse the repository at this point in the history
  156. feat(ui): revised canvas module base class

    Big cleanup. Makes these classes easier to implement, lots of comments and docstrings to clarify how it all works.
    
    - Add default implementations for `destroy`, `repr` and `getLoggingContext`
    - Tidy individual module configs
    - Update `CanvasManager.buildLogger` to accept a canvas module as the arg
    - Add `CanvasManager.buildPath`
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    fd22ff7 View commit details
    Browse the repository at this point in the history
  157. Configuration menu
    Copy the full SHA
    b24f8e2 View commit details
    Browse the repository at this point in the history
  158. Configuration menu
    Copy the full SHA
    487422a View commit details
    Browse the repository at this point in the history
  159. feat(ui): remove object count from entity title

    This was used for troubleshooting only.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    eb4d447 View commit details
    Browse the repository at this point in the history
  160. Configuration menu
    Copy the full SHA
    0d94a89 View commit details
    Browse the repository at this point in the history
  161. Configuration menu
    Copy the full SHA
    58064a1 View commit details
    Browse the repository at this point in the history
  162. Configuration menu
    Copy the full SHA
    8f6e696 View commit details
    Browse the repository at this point in the history
  163. Configuration menu
    Copy the full SHA
    fd6d080 View commit details
    Browse the repository at this point in the history
  164. feat(ui): brush & eraser width ui/ux

    Use same pattern as canvas scale & opacity sliders w/ scaled slider values for precision at low values.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    cb9d0bc View commit details
    Browse the repository at this point in the history
  165. Configuration menu
    Copy the full SHA
    b0eddd1 View commit details
    Browse the repository at this point in the history
  166. Configuration menu
    Copy the full SHA
    874b96c View commit details
    Browse the repository at this point in the history
  167. feat(ui): add layer quick switch

    Q toggles between the last-selected layers.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    75ecc56 View commit details
    Browse the repository at this point in the history
  168. Configuration menu
    Copy the full SHA
    420178c View commit details
    Browse the repository at this point in the history
  169. Configuration menu
    Copy the full SHA
    2538b34 View commit details
    Browse the repository at this point in the history
  170. Configuration menu
    Copy the full SHA
    d019dbd View commit details
    Browse the repository at this point in the history
  171. Configuration menu
    Copy the full SHA
    0c3e2c4 View commit details
    Browse the repository at this point in the history
  172. Configuration menu
    Copy the full SHA
    d3c2432 View commit details
    Browse the repository at this point in the history
  173. Configuration menu
    Copy the full SHA
    a4fb8eb View commit details
    Browse the repository at this point in the history
  174. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    02061fa View commit details
    Browse the repository at this point in the history
  175. Configuration menu
    Copy the full SHA
    277708d View commit details
    Browse the repository at this point in the history
  176. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c38b05c View commit details
    Browse the repository at this point in the history
  177. Configuration menu
    Copy the full SHA
    921ade4 View commit details
    Browse the repository at this point in the history
  178. Configuration menu
    Copy the full SHA
    92c754d View commit details
    Browse the repository at this point in the history
  179. Configuration menu
    Copy the full SHA
    1628eb5 View commit details
    Browse the repository at this point in the history
  180. Configuration menu
    Copy the full SHA
    4f4eee7 View commit details
    Browse the repository at this point in the history
  181. Configuration menu
    Copy the full SHA
    618473d View commit details
    Browse the repository at this point in the history
  182. feat(ui): move transformer state to nanostores

    This provides some free reactivity for this canvas-manager-managed state.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    2e4a48b View commit details
    Browse the repository at this point in the history
  183. Configuration menu
    Copy the full SHA
    437129c View commit details
    Browse the repository at this point in the history
  184. Configuration menu
    Copy the full SHA
    44be058 View commit details
    Browse the repository at this point in the history
  185. Configuration menu
    Copy the full SHA
    dbff929 View commit details
    Browse the repository at this point in the history
  186. Configuration menu
    Copy the full SHA
    4b75394 View commit details
    Browse the repository at this point in the history
  187. Configuration menu
    Copy the full SHA
    3ed4cf6 View commit details
    Browse the repository at this point in the history
  188. Configuration menu
    Copy the full SHA
    fcacc0f View commit details
    Browse the repository at this point in the history
  189. Configuration menu
    Copy the full SHA
    397038e View commit details
    Browse the repository at this point in the history
  190. Configuration menu
    Copy the full SHA
    ff12f16 View commit details
    Browse the repository at this point in the history
  191. Configuration menu
    Copy the full SHA
    bb6b5c4 View commit details
    Browse the repository at this point in the history
  192. Configuration menu
    Copy the full SHA
    5074c97 View commit details
    Browse the repository at this point in the history
  193. Configuration menu
    Copy the full SHA
    f7e68ac View commit details
    Browse the repository at this point in the history
  194. Configuration menu
    Copy the full SHA
    6161c71 View commit details
    Browse the repository at this point in the history
  195. Configuration menu
    Copy the full SHA
    7c29caa View commit details
    Browse the repository at this point in the history
  196. Configuration menu
    Copy the full SHA
    3ed85d8 View commit details
    Browse the repository at this point in the history
  197. Configuration menu
    Copy the full SHA
    5d089ec View commit details
    Browse the repository at this point in the history
  198. Configuration menu
    Copy the full SHA
    376a626 View commit details
    Browse the repository at this point in the history
  199. Configuration menu
    Copy the full SHA
    5eb9e2b View commit details
    Browse the repository at this point in the history
  200. Configuration menu
    Copy the full SHA
    0a22e6b View commit details
    Browse the repository at this point in the history
  201. Configuration menu
    Copy the full SHA
    ad53169 View commit details
    Browse the repository at this point in the history
  202. Configuration menu
    Copy the full SHA
    736fabe View commit details
    Browse the repository at this point in the history
  203. Configuration menu
    Copy the full SHA
    6ba78e7 View commit details
    Browse the repository at this point in the history
  204. Configuration menu
    Copy the full SHA
    73e8837 View commit details
    Browse the repository at this point in the history
  205. feat(ui): abstract out CanvasEntityAdapterBase

    Things were getting to complex to reason about & classes a bit complicated. Trying to simplify...
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    5a30ff6 View commit details
    Browse the repository at this point in the history
  206. Configuration menu
    Copy the full SHA
    200dbbb View commit details
    Browse the repository at this point in the history
  207. Configuration menu
    Copy the full SHA
    34554f8 View commit details
    Browse the repository at this point in the history
  208. Configuration menu
    Copy the full SHA
    8266c10 View commit details
    Browse the repository at this point in the history
  209. feat(ui): make rendering methods not need args

    They should pull from the entity's state directly. This allows more freedom with updating the canvas.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    f1525c2 View commit details
    Browse the repository at this point in the history
  210. Configuration menu
    Copy the full SHA
    c75a933 View commit details
    Browse the repository at this point in the history
  211. Configuration menu
    Copy the full SHA
    0b1dc36 View commit details
    Browse the repository at this point in the history
  212. Configuration menu
    Copy the full SHA
    fe257e3 View commit details
    Browse the repository at this point in the history
  213. Configuration menu
    Copy the full SHA
    6e6629a View commit details
    Browse the repository at this point in the history
  214. Configuration menu
    Copy the full SHA
    0bfdd5a View commit details
    Browse the repository at this point in the history
  215. Configuration menu
    Copy the full SHA
    27b00ce View commit details
    Browse the repository at this point in the history
  216. feat(ui): iterate on state flow and rendering 2

    - Rely on redux + reselect more
    - Remove all nanostores that simply "mirrored" redux state in favor of direct subscriptions to redux store
    - Add abstractions for creating redux subs and running selectors
    - Add `initialize` method to CanvasModuleBase, for post-instantiation tasks
    - Reduce local caching of state in modules to a minimum
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    7888b49 View commit details
    Browse the repository at this point in the history
  217. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    10bba49 View commit details
    Browse the repository at this point in the history
  218. Configuration menu
    Copy the full SHA
    013414e View commit details
    Browse the repository at this point in the history
  219. Configuration menu
    Copy the full SHA
    07cf580 View commit details
    Browse the repository at this point in the history
  220. Configuration menu
    Copy the full SHA
    cc9cc62 View commit details
    Browse the repository at this point in the history
  221. Configuration menu
    Copy the full SHA
    96786ed View commit details
    Browse the repository at this point in the history
  222. feat(ui): improved transparency effect

    Use the min of each pixel's alpha value and lightness for the output alpha. This prevents artifacts when using the transparency effect, especially with non-black pixels with low alpha.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    f96148c View commit details
    Browse the repository at this point in the history
  223. Configuration menu
    Copy the full SHA
    a0ed7ba View commit details
    Browse the repository at this point in the history
  224. Configuration menu
    Copy the full SHA
    c047901 View commit details
    Browse the repository at this point in the history
  225. Configuration menu
    Copy the full SHA
    c4b9ba8 View commit details
    Browse the repository at this point in the history
  226. Configuration menu
    Copy the full SHA
    5a69b62 View commit details
    Browse the repository at this point in the history
  227. feat(app): cancel by destination, not origin

    When resetting the canvas or staging area, we don't want to cancel generations that are going to the gallery - only those going to the canvas.
    
    Thus the method should not cancel by origin, but instead cancel by destination.
    
    Update the queue method and route.
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    f6a703c View commit details
    Browse the repository at this point in the history
  228. chore(ui): typegen

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    1dd521a View commit details
    Browse the repository at this point in the history
  229. Configuration menu
    Copy the full SHA
    615b09d View commit details
    Browse the repository at this point in the history
  230. Configuration menu
    Copy the full SHA
    dce488c View commit details
    Browse the repository at this point in the history
  231. Configuration menu
    Copy the full SHA
    b193bc7 View commit details
    Browse the repository at this point in the history
  232. Configuration menu
    Copy the full SHA
    63a2b6c View commit details
    Browse the repository at this point in the history
  233. Configuration menu
    Copy the full SHA
    8cb1584 View commit details
    Browse the repository at this point in the history
  234. feat(ui): reworked image context menu

    - Add `Open in Viewer`
    - Remove `Send to Image to Image`
    - Fix `Send to Canvas`
    - Split out logic for composability
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    788e03f View commit details
    Browse the repository at this point in the history
  235. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ce93fdd View commit details
    Browse the repository at this point in the history
  236. Configuration menu
    Copy the full SHA
    5a251a4 View commit details
    Browse the repository at this point in the history
  237. feat(ui): revised entity list action bars

    - Global action bar on top
    - Selected Entity action bar below
    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ea19390 View commit details
    Browse the repository at this point in the history
  238. Configuration menu
    Copy the full SHA
    81060ee View commit details
    Browse the repository at this point in the history
  239. Configuration menu
    Copy the full SHA
    640af85 View commit details
    Browse the repository at this point in the history
  240. Configuration menu
    Copy the full SHA
    3e3e00b View commit details
    Browse the repository at this point in the history
  241. Configuration menu
    Copy the full SHA
    c0db830 View commit details
    Browse the repository at this point in the history
  242. Configuration menu
    Copy the full SHA
    3c5bf48 View commit details
    Browse the repository at this point in the history
  243. Configuration menu
    Copy the full SHA
    c57966e View commit details
    Browse the repository at this point in the history
  244. Configuration menu
    Copy the full SHA
    f326bfe View commit details
    Browse the repository at this point in the history
  245. Configuration menu
    Copy the full SHA
    2b9f9f3 View commit details
    Browse the repository at this point in the history
  246. Configuration menu
    Copy the full SHA
    2f98c87 View commit details
    Browse the repository at this point in the history
  247. Configuration menu
    Copy the full SHA
    918ed5c View commit details
    Browse the repository at this point in the history
  248. chore(ui): lint

    psychedelicious committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d434e80 View commit details
    Browse the repository at this point in the history
  249. Configuration menu
    Copy the full SHA
    d421eae View commit details
    Browse the repository at this point in the history
  250. Configuration menu
    Copy the full SHA
    f8dadc8 View commit details
    Browse the repository at this point in the history