diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/web/src/rendering/NOTES.md | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/apps/web/src/rendering/NOTES.md b/apps/web/src/rendering/NOTES.md deleted file mode 100644 index 38055c14..00000000 --- a/apps/web/src/rendering/NOTES.md +++ /dev/null @@ -1,27 +0,0 @@ -# Notes - -## `Transform` is misplaced - -`Transform` is currently defined in `apps/web/src/rendering/index.ts`. It's -exported from the rendering domain because rendering happens to be one of its -consumers — but every other domain that touches scene geometry consumes it too -(`@/timeline`, `@/preview`, `@/animation/values`, `@/text`, etc.). It's not -"of" rendering any more than `Vector2` would be "of" math. - -`Transform` is closer to a primitive than a domain concept. It's infrastructure: -a small value type with no behavior, no dependencies, no domain-specific -invariants. Anything that wants to position something on a 2D canvas needs it. - -The codebase should be refactored so it's defined lower-level, rather than -sitting in a domain. Candidate homes: - -- `apps/web/src/primitives/transform.ts` (new dir for these value types) -- `apps/web/src/geometry/transform.ts` if `Vector2` and friends end up there -- `apps/web/src/rendering/transform.ts` is acceptable only if `@/rendering` -becomes a primitives folder rather than a domain (it's borderline today — -it also exports `BlendMode`, which has the same problem). - -Side effect of fixing this: `@/rendering/animation-values.ts` (which exists -only because `Transform` lives next to it) can move into `@/animation/values.ts` -alongside the other resolve-at-time helpers, since `Transform` would no longer -pull in a domain dependency.
\ No newline at end of file |
