@hyperframes/studio 0.6.0-alpha.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/assets/{hyperframes-player-DjsVzYFP.js → hyperframes-player-DOFETgjy.js} +1 -1
  2. package/dist/assets/index-D1JDq7Gg.css +1 -0
  3. package/dist/assets/index-DUqUmaoH.js +117 -0
  4. package/dist/favicon.svg +14 -0
  5. package/dist/index.html +3 -2
  6. package/package.json +9 -9
  7. package/src/App.tsx +428 -4299
  8. package/src/components/AskAgentModal.tsx +120 -0
  9. package/src/components/StudioHeader.tsx +133 -0
  10. package/src/components/StudioLeftSidebar.tsx +125 -0
  11. package/src/components/StudioPreviewArea.tsx +163 -0
  12. package/src/components/StudioRightPanel.tsx +198 -0
  13. package/src/components/TimelineToolbar.tsx +89 -0
  14. package/src/components/editor/DomEditOverlay.tsx +15 -1
  15. package/src/components/editor/PropertyPanel.test.ts +0 -49
  16. package/src/components/editor/PropertyPanel.tsx +132 -2763
  17. package/src/components/editor/domEditing.ts +38 -5
  18. package/src/components/editor/manualEditingAvailability.test.ts +2 -2
  19. package/src/components/editor/manualEditingAvailability.ts +1 -1
  20. package/src/components/editor/manualEdits.ts +32 -0
  21. package/src/components/editor/propertyPanelColor.tsx +371 -0
  22. package/src/components/editor/propertyPanelFill.tsx +421 -0
  23. package/src/components/editor/propertyPanelFont.tsx +455 -0
  24. package/src/components/editor/propertyPanelHelpers.ts +401 -0
  25. package/src/components/editor/propertyPanelPrimitives.tsx +357 -0
  26. package/src/components/editor/propertyPanelSections.tsx +453 -0
  27. package/src/components/editor/propertyPanelStyleSections.tsx +411 -0
  28. package/src/components/nle/NLELayout.tsx +8 -11
  29. package/src/components/nle/NLEPreview.tsx +3 -0
  30. package/src/components/renders/RenderQueue.tsx +102 -31
  31. package/src/components/renders/useRenderQueue.ts +8 -2
  32. package/src/components/sidebar/LeftSidebar.tsx +186 -186
  33. package/src/contexts/DomEditContext.tsx +137 -0
  34. package/src/contexts/FileManagerContext.tsx +110 -0
  35. package/src/contexts/PanelLayoutContext.tsx +68 -0
  36. package/src/contexts/StudioContext.tsx +135 -0
  37. package/src/hooks/useAppHotkeys.ts +326 -0
  38. package/src/hooks/useAskAgentModal.ts +162 -0
  39. package/src/hooks/useCaptionDetection.ts +132 -0
  40. package/src/hooks/useCompositionDimensions.ts +25 -0
  41. package/src/hooks/useConsoleErrorCapture.ts +60 -0
  42. package/src/hooks/useDomEditCommits.ts +437 -0
  43. package/src/hooks/useDomEditSession.ts +342 -0
  44. package/src/hooks/useDomEditTextCommits.ts +330 -0
  45. package/src/hooks/useDomSelection.ts +398 -0
  46. package/src/hooks/useFileManager.ts +431 -0
  47. package/src/hooks/useFrameCapture.ts +77 -0
  48. package/src/hooks/useLintModal.ts +35 -0
  49. package/src/hooks/useManifestPersistence.ts +492 -0
  50. package/src/hooks/usePanelLayout.ts +68 -0
  51. package/src/hooks/usePreviewInteraction.ts +153 -0
  52. package/src/hooks/useRenderClipContent.ts +124 -0
  53. package/src/hooks/useTimelineEditing.ts +472 -0
  54. package/src/player/components/Player.tsx +33 -2
  55. package/src/player/components/Timeline.test.ts +0 -8
  56. package/src/player/components/Timeline.tsx +10 -103
  57. package/src/player/components/TimelineClip.tsx +9 -244
  58. package/src/player/hooks/useTimelinePlayer.ts +140 -103
  59. package/src/utils/domEditHelpers.ts +50 -0
  60. package/src/utils/studioFontHelpers.ts +83 -0
  61. package/src/utils/studioHelpers.ts +214 -0
  62. package/src/utils/studioPreviewHelpers.ts +185 -0
  63. package/src/utils/timelineDiscovery.ts +1 -1
  64. package/dist/assets/index-14zH9lqh.css +0 -1
  65. package/dist/assets/index-DYCiFGWQ.js +0 -108
  66. package/src/player/components/TimelineClip.test.ts +0 -92
@@ -1,92 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { getTimelineClipControlPresentation } from "./TimelineClip";
3
-
4
- describe("getTimelineClipControlPresentation", () => {
5
- it("collapses persistent controls for compact clips until the clip is interactive", () => {
6
- expect(
7
- getTimelineClipControlPresentation({
8
- widthPx: 42,
9
- isHovered: false,
10
- isSelected: false,
11
- isInspectorActive: false,
12
- isThumbnailActive: false,
13
- isDragging: false,
14
- }),
15
- ).toMatchObject({
16
- compact: true,
17
- showControls: false,
18
- });
19
- });
20
-
21
- it("shows compact controls when the clip is hovered, selected, or active", () => {
22
- expect(
23
- getTimelineClipControlPresentation({
24
- widthPx: 42,
25
- isHovered: true,
26
- isSelected: false,
27
- isInspectorActive: false,
28
- isThumbnailActive: false,
29
- isDragging: false,
30
- }),
31
- ).toMatchObject({
32
- compact: true,
33
- showControls: true,
34
- });
35
-
36
- expect(
37
- getTimelineClipControlPresentation({
38
- widthPx: 42,
39
- isHovered: false,
40
- isSelected: false,
41
- isInspectorActive: true,
42
- isThumbnailActive: false,
43
- isDragging: false,
44
- }).showControls,
45
- ).toBe(true);
46
- });
47
-
48
- it("keeps controls visible on wide clips", () => {
49
- expect(
50
- getTimelineClipControlPresentation({
51
- widthPx: 120,
52
- isHovered: false,
53
- isSelected: false,
54
- isInspectorActive: false,
55
- isThumbnailActive: false,
56
- isDragging: false,
57
- }),
58
- ).toMatchObject({
59
- compact: false,
60
- showControls: true,
61
- });
62
- });
63
-
64
- it("treats medium-width clips as compact so dense tracks do not turn into icon grids", () => {
65
- expect(
66
- getTimelineClipControlPresentation({
67
- widthPx: 96,
68
- isHovered: false,
69
- isSelected: false,
70
- isInspectorActive: false,
71
- isThumbnailActive: false,
72
- isDragging: false,
73
- }),
74
- ).toMatchObject({
75
- compact: true,
76
- showControls: false,
77
- });
78
- });
79
-
80
- it("hides controls while dragging", () => {
81
- expect(
82
- getTimelineClipControlPresentation({
83
- widthPx: 120,
84
- isHovered: true,
85
- isSelected: true,
86
- isInspectorActive: true,
87
- isThumbnailActive: true,
88
- isDragging: true,
89
- }).showControls,
90
- ).toBe(false);
91
- });
92
- });