@dailies-studio/shot-editor 0.1.0 → 0.2.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.
- package/dist/.vite/manifest.json +382 -0
- package/dist/assets/AgentPanel-CQejLbiX.js +2 -0
- package/dist/assets/AgentPanel-DJEphah0.css +1 -0
- package/dist/assets/AgentQuestionDialog-BqkD0kXF.js +1 -0
- package/dist/assets/CodeStudio-Dv4ihHpz.js +23 -0
- package/dist/assets/CommentsPanel-B4yhhT1T.js +1 -0
- package/dist/assets/ComponentLibraryRail-Ch_dsAru.js +1 -0
- package/dist/assets/ComponentStage-BRhRotyH.js +1 -0
- package/dist/assets/CurvePane-BjFVabKX.css +1 -0
- package/dist/assets/CurvePane-R22WzllJ.js +1 -0
- package/dist/assets/ExportDialog-CWLQWTmG.js +2 -0
- package/dist/assets/FontPicker-DWKaYL7F.js +1 -0
- package/dist/assets/FontPicker-v0IOIArM.css +1 -0
- package/dist/assets/GenerateDrawer-Bh3SqDKt.js +2 -0
- package/dist/assets/InsertDrawer-Ce1fod1L.js +1 -0
- package/dist/assets/LibraryBrowser-D9sEGz5w.js +2 -0
- package/dist/assets/MakeItYoursSection-CMO4319_.js +2 -0
- package/dist/assets/MaterialGraphCanvas-BFzl4wWR.js +23 -0
- package/dist/assets/MaterialGraphCanvas-BIUD59ik.css +1 -0
- package/dist/assets/MaterialWorkspace-CqTWqaRA.js +14 -0
- package/dist/assets/PreferencesDialog-CBf9_OoD.js +1 -0
- package/dist/assets/PresetsSection-CUEaoCVU.js +1 -0
- package/dist/assets/SoundHistory-BeS8EW1h.js +1 -0
- package/dist/assets/SoundMode-BmcZru3i.js +3 -0
- package/dist/assets/StockSounds-DdAUGRYK.js +1 -0
- package/dist/assets/TemplateFieldSection-CaeXpLFo.js +1 -0
- package/dist/assets/VersionHistoryPanel-CxG6XhNP.js +1 -0
- package/dist/assets/board-B88EPuLO.css +1 -0
- package/dist/assets/board-CL-he7SL.js +3 -0
- package/dist/assets/components-0oOSPN0l.js +1 -0
- package/dist/assets/googleFontRanges-gp32wJMo.js +1 -0
- package/dist/assets/googleFonts-BNon6M7X.js +1 -0
- package/dist/assets/iconsAndAliases-DL7gXP5j.js +1863 -0
- package/dist/assets/index-4F5NQmI8.css +1 -0
- package/dist/assets/index-BGHQGV5z.js +117 -0
- package/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/dist/assets/libraryModel-CpIwfFha.js +1 -0
- package/dist/assets/lucide-6iK64tTB.js +9319 -0
- package/dist/assets/motionStamp-CH-Hew4E.js +1 -0
- package/dist/assets/takeMeasure-Tdg0TxEi.js +1 -0
- package/dist/assets/webmcp-BsB9gxWC.js +2 -0
- package/dist/index.html +34 -3
- package/package.json +12 -9
- package/src/addFamilies.ts +66 -0
- package/src/api.ts +1631 -55
- package/src/app/App.tsx +977 -198
- package/src/app/lazyPanel.tsx +137 -0
- package/src/app/lazySurfaces.tsx +203 -0
- package/src/audio/index.tsx +41 -10
- package/src/audio/meter.ts +485 -0
- package/src/audio/meterMath.ts +273 -0
- package/src/audio/meterStore.ts +155 -0
- package/src/audio/offlineMix.ts +289 -0
- package/src/audio/preview.ts +928 -118
- package/src/bridge.ts +15 -5
- package/src/bridgeTypes.ts +1611 -36
- package/src/channels.ts +17 -32
- package/src/fonts/googleFonts.ts +4 -0
- package/src/hostApi.ts +174 -0
- package/src/icons.tsx +770 -0
- package/src/layerWords.ts +61 -0
- package/src/main.tsx +56 -4
- package/src/panels/ResizeHandle.tsx +33 -43
- package/src/panels/agent/AgentDots.tsx +36 -0
- package/src/panels/agent/AgentPanel.tsx +119 -43
- package/src/panels/agent/AgentQuestionDialog.tsx +202 -0
- package/src/panels/agent/agent.css +113 -97
- package/src/panels/agent/agentGate.ts +35 -0
- package/src/panels/code/CodeDefaultsPanel.tsx +345 -0
- package/src/panels/code/CodeStudio.tsx +373 -0
- package/src/panels/code/FileTree.tsx +265 -0
- package/src/panels/code/codeBufferGuard.ts +52 -0
- package/src/panels/code/codeParts.tsx +321 -0
- package/src/panels/comments/CommentComposer.tsx +239 -0
- package/src/panels/comments/CommentThread.tsx +346 -0
- package/src/panels/comments/CommentsPanel.tsx +336 -0
- package/src/panels/comments/InboxButton.tsx +131 -0
- package/src/panels/comments/MentionMenu.tsx +98 -0
- package/src/panels/comments/parts.tsx +171 -0
- package/src/panels/export/ExportDialog.tsx +919 -96
- package/src/panels/export/ExportScrim.tsx +57 -0
- package/src/panels/files/AssetsTab.tsx +656 -0
- package/src/panels/files/FilePanel.tsx +1466 -216
- package/src/panels/files/LayerMarks.tsx +40 -0
- package/src/panels/files/LeftColumn.tsx +37 -0
- package/src/panels/files/McpSection.tsx +690 -47
- package/src/panels/files/MissingAssetsNotice.tsx +60 -0
- package/src/panels/files/assetDrag.ts +79 -0
- package/src/panels/files/resourceParts.tsx +255 -0
- package/src/panels/fonts/FontPicker.tsx +762 -0
- package/src/panels/fonts/faceCache.ts +207 -0
- package/src/panels/fonts/fontPicker.css +271 -0
- package/src/panels/fonts/pickerModel.ts +265 -0
- package/src/panels/fonts/pickerRequest.ts +46 -0
- package/src/panels/header/AccountAvatar.tsx +76 -0
- package/src/panels/header/AgentChip.tsx +77 -0
- package/src/panels/header/AppMenu.tsx +213 -0
- package/src/panels/header/Header.tsx +564 -84
- package/src/panels/header/HistoryControls.tsx +31 -5
- package/src/panels/header/PresenceStack.tsx +329 -0
- package/src/panels/header/ProjectTitle.tsx +232 -0
- package/src/panels/header/ShareButton.tsx +59 -0
- package/src/panels/header/StatusBadges.tsx +358 -27
- package/src/panels/header/SyncDeletedDialog.tsx +88 -0
- package/src/panels/header/ZoomControls.tsx +46 -15
- package/src/panels/header/agentHandoff.ts +52 -0
- package/src/panels/header/leave.ts +26 -0
- package/src/panels/help/HelpSection.tsx +189 -163
- package/src/panels/insert/InsertDrawer.tsx +723 -0
- package/src/panels/insert/iconSet.ts +109 -0
- package/src/panels/inspector/ExposeDot.tsx +117 -0
- package/src/panels/inspector/FramingRows.tsx +314 -44
- package/src/panels/inspector/InspectorFooter.tsx +91 -0
- package/src/panels/inspector/InspectorHead.tsx +425 -0
- package/src/panels/inspector/InspectorPanel.tsx +408 -124
- package/src/panels/inspector/KeyframeDot.tsx +373 -0
- package/src/panels/inspector/KeyframeSection.tsx +257 -0
- package/src/panels/inspector/MarkerSection.tsx +55 -11
- package/src/panels/inspector/ParamRow.tsx +84 -53
- package/src/panels/inspector/RightColumn.tsx +152 -0
- package/src/panels/inspector/TimeSection.tsx +866 -0
- package/src/panels/inspector/animate/EaseControl.tsx +244 -0
- package/src/panels/inspector/animate/PresetsSection.tsx +135 -0
- package/src/panels/inspector/animate/ShotSection.tsx +562 -48
- package/src/panels/inspector/design/AlignRow.tsx +95 -31
- package/src/panels/inspector/design/AppearanceSection.tsx +118 -9
- package/src/panels/inspector/design/ClonerSection.tsx +323 -62
- package/src/panels/inspector/design/ComponentSection.tsx +50 -43
- package/src/panels/inspector/design/CornerSection.tsx +45 -14
- package/src/panels/inspector/design/DefinitionProps.tsx +315 -0
- package/src/panels/inspector/design/DefinitionSection.tsx +136 -0
- package/src/panels/inspector/design/DeviceSection.tsx +210 -0
- package/src/panels/inspector/design/FillSection.tsx +83 -51
- package/src/panels/inspector/design/FontField.tsx +196 -0
- package/src/panels/inspector/design/HtmlSection.tsx +23 -12
- package/src/panels/inspector/design/InstanceSection.tsx +373 -154
- package/src/panels/inspector/design/MaskSection.tsx +84 -0
- package/src/panels/inspector/design/MaterialSection.tsx +177 -0
- package/src/panels/inspector/design/MediaSection.tsx +273 -120
- package/src/panels/inspector/design/MeshSection.tsx +910 -82
- package/src/panels/inspector/design/PaintRows.tsx +550 -0
- package/src/panels/inspector/design/PlateStyleSection.tsx +177 -0
- package/src/panels/inspector/design/ShadowSection.tsx +221 -48
- package/src/panels/inspector/design/SplineFollowSection.tsx +235 -0
- package/src/panels/inspector/design/StrokeSection.tsx +228 -43
- package/src/panels/inspector/design/TemplateFieldSection.tsx +57 -0
- package/src/panels/inspector/design/TransformSection.tsx +244 -50
- package/src/panels/inspector/design/TypographySection.tsx +679 -110
- package/src/panels/inspector/layout.ts +295 -0
- package/src/panels/inspector/propValue.ts +199 -0
- package/src/panels/inspector/scene/CameraSection.tsx +232 -22
- package/src/panels/inspector/scene/EffectsSection.tsx +722 -71
- package/src/panels/inspector/scene/MakeItYoursSection.tsx +180 -0
- package/src/panels/inspector/scene/SceneDocSection.tsx +191 -0
- package/src/panels/inspector/scene/SceneSection.tsx +219 -44
- package/src/panels/inspector/scene/TransitionSection.tsx +523 -72
- package/src/panels/inspector/storyboard/StoryboardReferenceSection.tsx +593 -0
- package/src/panels/inspector/storyboard/VideoStill.tsx +120 -0
- package/src/panels/inspector/timeModel.ts +190 -0
- package/src/panels/inspector/useDocWrite.ts +438 -146
- package/src/panels/library/LibraryBrowser.tsx +435 -0
- package/src/panels/library/LibraryGrid.tsx +190 -0
- package/src/panels/library/LibraryPreviewPanel.tsx +349 -0
- package/src/panels/library/LibraryRail.tsx +84 -0
- package/src/panels/library/LibrarySoundPanel.tsx +293 -0
- package/src/panels/library/SoundHistory.tsx +245 -0
- package/src/panels/library/StockSounds.tsx +390 -0
- package/src/panels/library/libraryModel.ts +147 -0
- package/src/panels/library/stockSearch.ts +77 -0
- package/src/panels/maskMarks.tsx +117 -0
- package/src/panels/material/MaterialCommentNode.tsx +54 -0
- package/src/panels/material/MaterialGraphCanvas.tsx +861 -0
- package/src/panels/material/MaterialGraphMenu.tsx +45 -0
- package/src/panels/material/MaterialGroupNode.tsx +56 -0
- package/src/panels/material/MaterialLibrary.tsx +253 -0
- package/src/panels/material/MaterialNode.tsx +453 -0
- package/src/panels/material/MaterialNodePalette.tsx +349 -0
- package/src/panels/material/MaterialParameterControls.tsx +525 -0
- package/src/panels/material/MaterialRerouteNode.tsx +42 -0
- package/src/panels/material/MaterialWorkspace.tsx +501 -0
- package/src/panels/material/NodePreview.tsx +70 -0
- package/src/panels/material/flowModel.ts +441 -0
- package/src/panels/material/parameterValues.ts +231 -0
- package/src/panels/material/previewScheduler.ts +235 -0
- package/src/panels/material/reactFlow.css +6 -0
- package/src/panels/material/socketGlyph.ts +85 -0
- package/src/panels/material/viewportMemory.ts +58 -0
- package/src/panels/preferences/PreferencesDialog.tsx +215 -0
- package/src/panels/share/ShareComponentDialog.tsx +247 -0
- package/src/panels/stage/StageMenu.tsx +35 -5
- package/src/panels/stage/StagePanel.tsx +338 -23
- package/src/panels/stage/cellSlots.tsx +70 -0
- package/src/panels/storyboard/BoardCanvas.tsx +739 -0
- package/src/panels/storyboard/BoardCursors.tsx +158 -0
- package/src/panels/storyboard/BoardDropDialog.tsx +161 -0
- package/src/panels/storyboard/BoardPlan.tsx +42 -0
- package/src/panels/storyboard/ComponentSheet.tsx +187 -0
- package/src/panels/storyboard/ComponentStage.tsx +235 -0
- package/src/panels/storyboard/MiniSketch.tsx +173 -0
- package/src/panels/storyboard/PartPicker.tsx +64 -0
- package/src/panels/storyboard/PlanPanel.tsx +617 -0
- package/src/panels/storyboard/ReferencePreview.tsx +217 -0
- package/src/panels/storyboard/ShotBrief.tsx +360 -0
- package/src/panels/storyboard/ShotCard.tsx +251 -0
- package/src/panels/storyboard/StagePreview.tsx +348 -0
- package/src/panels/storyboard/StillThumbs.tsx +162 -0
- package/src/panels/storyboard/StoryboardView.tsx +79 -0
- package/src/panels/storyboard/board.css +1065 -0
- package/src/panels/storyboard/board.ts +12 -0
- package/src/panels/storyboard/boardClipboard.ts +111 -0
- package/src/panels/storyboard/boardOrder.ts +68 -0
- package/src/panels/storyboard/boardRows.tsx +425 -0
- package/src/panels/storyboard/liveCap.ts +90 -0
- package/src/panels/storyboard/plan.css +295 -0
- package/src/panels/storyboard/posterCache.ts +133 -0
- package/src/panels/storyboard/shotboard/ComponentPicker.tsx +373 -0
- package/src/panels/storyboard/shotboard/ImagePicker.tsx +145 -0
- package/src/panels/storyboard/shotboard/ShotBoard.tsx +292 -0
- package/src/panels/storyboard/shotboard/SketchCanvas.tsx +443 -0
- package/src/panels/storyboard/shotboard/SketchInspector.tsx +471 -0
- package/src/panels/storyboard/shotboard/SketchItem.tsx +240 -0
- package/src/panels/storyboard/shotboard/SketchLayers.tsx +130 -0
- package/src/panels/storyboard/shotboard/SketchPlay.tsx +108 -0
- package/src/panels/storyboard/shotboard/SketchStrip.tsx +178 -0
- package/src/panels/storyboard/shotboard/SketchToolFooter.tsx +99 -0
- package/src/panels/storyboard/shotboard/sketch.css +1392 -0
- package/src/panels/storyboard/shotboard/sketchModel.ts +219 -0
- package/src/panels/storyboard/storyboardDrop.ts +164 -0
- package/src/panels/studio/ComponentLibraryRail.tsx +346 -0
- package/src/panels/studio/ComponentSidePanel.tsx +355 -0
- package/src/panels/studio/ComponentStudio.tsx +243 -0
- package/src/panels/studio/ComponentsHome.tsx +318 -0
- package/src/panels/studio/ComponentsPreview.tsx +179 -0
- package/src/panels/studio/EveryUse.tsx +244 -0
- package/src/panels/studio/ThisUsePanel.tsx +679 -0
- package/src/panels/studio/componentParts.tsx +341 -0
- package/src/panels/studio/components.ts +6 -0
- package/src/panels/studio/newCodeComponent.ts +66 -0
- package/src/panels/timeline/AudioFxButton.tsx +290 -0
- package/src/panels/timeline/AudioLane.tsx +674 -85
- package/src/panels/timeline/BlockRow.tsx +154 -85
- package/src/panels/timeline/ChannelRow.tsx +378 -129
- package/src/panels/timeline/CurvePane.tsx +508 -0
- package/src/panels/timeline/Filmstrip.tsx +361 -0
- package/src/panels/timeline/GenerateDrawer.tsx +407 -0
- package/src/panels/timeline/KeyStretch.tsx +115 -0
- package/src/panels/timeline/LifespanRow.tsx +730 -47
- package/src/panels/timeline/MarkerLane.tsx +46 -8
- package/src/panels/timeline/PlayButton.tsx +91 -0
- package/src/panels/timeline/PropertyPicker.tsx +254 -0
- package/src/panels/timeline/ShotRow.tsx +400 -0
- package/src/panels/timeline/SoundMode.tsx +1406 -0
- package/src/panels/timeline/TimelineDock.tsx +2338 -272
- package/src/panels/timeline/TransportVolume.tsx +163 -0
- package/src/panels/timeline/beatRuler.ts +74 -0
- package/src/panels/timeline/curveModel.ts +500 -0
- package/src/panels/timeline/duckUnderVoice.ts +68 -0
- package/src/panels/timeline/keyframeMenu.ts +138 -0
- package/src/panels/timeline/labelWidth.ts +49 -0
- package/src/panels/timeline/marquee.ts +155 -0
- package/src/panels/timeline/model.ts +1860 -199
- package/src/panels/timeline/snap.ts +125 -43
- package/src/panels/timeline/staggerPreview.tsx +92 -0
- package/src/panels/timeline/takeMeasure.ts +72 -0
- package/src/panels/timeline/useLive.ts +48 -0
- package/src/panels/timeline/viewport.ts +234 -0
- package/src/panels/toolbar/BackChip.tsx +116 -0
- package/src/panels/toolbar/CameraViewBar.tsx +118 -49
- package/src/panels/toolbar/CanvasBar.tsx +117 -0
- package/src/panels/toolbar/InsertButton.tsx +38 -0
- package/src/panels/toolbar/IsolationTrail.tsx +156 -0
- package/src/panels/toolbar/PanelToggles.tsx +86 -0
- package/src/panels/toolbar/ShadingBar.tsx +119 -26
- package/src/panels/toolbar/ToolDockBar.tsx +329 -80
- package/src/panels/toolbar/ToolFooter.tsx +102 -0
- package/src/panels/toolbar/ViewModeBar.tsx +247 -38
- package/src/panels/toolbar/WorkPlaneBar.tsx +94 -0
- package/src/panels/toolbar/useAddRows.tsx +326 -0
- package/src/panels/toolbar/useDismiss.ts +122 -0
- package/src/panels/versions/VersionHistoryPanel.tsx +274 -0
- package/src/panels/versions/versionModel.ts +103 -0
- package/src/panels/virtualWindow.ts +271 -0
- package/src/shotTokens.css +151 -60
- package/src/stage/FrustumGizmo.tsx +504 -84
- package/src/stage/GridPlane.tsx +225 -16
- package/src/stage/NodePreviews.tsx +628 -0
- package/src/stage/PerfHud.tsx +437 -47
- package/src/stage/SplitRenderer.tsx +816 -169
- package/src/stage/StageApp.tsx +4274 -486
- package/src/stage/StageRootBoundary.tsx +114 -0
- package/src/stage/StageTools.tsx +651 -151
- package/src/stage/TransformGizmo.tsx +696 -0
- package/src/stage/adaptivePresentation.ts +145 -0
- package/src/stage/bridgeClient.ts +2522 -41
- package/src/stage/exportWorker.ts +9 -0
- package/src/stage/feed.ts +305 -14
- package/src/stage/fontPreview.ts +176 -0
- package/src/stage/frustumGeometry.ts +319 -1
- package/src/stage/furnitureTokens.ts +33 -0
- package/src/stage/gizmoMath.ts +508 -16
- package/src/stage/gpuTimer.ts +276 -0
- package/src/stage/instanceModules.ts +194 -33
- package/src/stage/interactions/move.ts +24 -5
- package/src/stage/isolation.ts +291 -33
- package/src/stage/jsSelfProfiler.ts +325 -0
- package/src/stage/main.tsx +116 -16
- package/src/stage/modalState.ts +222 -23
- package/src/stage/moduleEpoch.ts +60 -0
- package/src/stage/motionPathStage.ts +279 -0
- package/src/stage/motionPreview.ts +74 -0
- package/src/stage/overlays/Overlays.tsx +1112 -159
- package/src/stage/overlays/Rulers.tsx +495 -0
- package/src/stage/panes.ts +159 -10
- package/src/stage/project.ts +68 -3
- package/src/stage/renderScaleController.ts +730 -0
- package/src/stage/rulers.ts +129 -0
- package/src/stage/sceneExtent.ts +75 -0
- package/src/stage/shading.ts +20 -0
- package/src/stage/splineStage.ts +632 -0
- package/src/stage/stagePerformanceTelemetry.ts +717 -0
- package/src/stage/stageTheme.ts +36 -0
- package/src/stage/stageWarmup.ts +11 -0
- package/src/stage/textAutoSize.ts +124 -0
- package/src/stage/tier1Export.ts +641 -0
- package/src/stage/tokenColor.ts +14 -9
- package/src/stage/view.ts +56 -9
- package/src/stage/workingView.ts +277 -33
- package/src/state/accountPrefs.ts +261 -0
- package/src/state/agentActions.ts +173 -15
- package/src/state/agentActivity.ts +198 -0
- package/src/state/agentQuestion.ts +239 -0
- package/src/state/bootOpen.ts +42 -0
- package/src/state/cameraVerbs.ts +139 -0
- package/src/state/clientId.ts +6 -1
- package/src/state/comments.ts +1099 -0
- package/src/state/context.tsx +19 -1
- package/src/state/editorPrefs.ts +220 -0
- package/src/state/errorReports.ts +121 -0
- package/src/state/fieldWrite.ts +161 -0
- package/src/state/fontRecents.ts +70 -0
- package/src/state/fonts.ts +656 -0
- package/src/state/graphClipboard.ts +414 -0
- package/src/state/imageThumbs.ts +216 -0
- package/src/state/insert.ts +444 -67
- package/src/state/isolationTrail.ts +92 -0
- package/src/state/keyMoves.ts +134 -0
- package/src/state/keyframeClipboard.ts +177 -0
- package/src/state/keymap.ts +1153 -117
- package/src/state/layoutPrefs.ts +272 -0
- package/src/state/layouts.ts +205 -0
- package/src/state/measureMedia.ts +167 -0
- package/src/state/menu.ts +2341 -28
- package/src/state/motionStamp.ts +7 -0
- package/src/state/panelSize.ts +375 -5
- package/src/state/pendingChanges.ts +119 -0
- package/src/state/playHold.ts +78 -0
- package/src/state/playbackPreparation.ts +562 -0
- package/src/state/posterCapture.ts +242 -0
- package/src/state/presence.ts +254 -0
- package/src/state/projectComponents.ts +160 -0
- package/src/state/renderEvents.ts +298 -18
- package/src/state/runtimeErrors.ts +46 -0
- package/src/state/selection.ts +12 -0
- package/src/state/shortcuts.ts +1606 -0
- package/src/state/sketchGuide.ts +51 -0
- package/src/state/splineRefs.ts +87 -0
- package/src/state/stageHealth.ts +259 -0
- package/src/state/stageWatchdog.ts +47 -0
- package/src/state/stillStage.ts +330 -0
- package/src/state/stillThumbs.ts +474 -0
- package/src/state/store.ts +23591 -2982
- package/src/state/storyboardModel.ts +528 -0
- package/src/state/sync.ts +1257 -0
- package/src/state/syncCache.ts +159 -0
- package/src/state/triangles.ts +13 -0
- package/src/state/types.ts +1698 -55
- package/src/state/unsavedGuard.ts +49 -0
- package/src/state/viewMode.ts +200 -0
- package/src/state/webmcp.ts +1128 -0
- package/src/state/workspace.ts +1147 -0
- package/src/styles/assets-tab.css +304 -0
- package/src/styles/canvas.css +545 -0
- package/src/styles/comments.css +1435 -0
- package/src/styles/controls.css +162 -0
- package/src/styles/dialogs.css +390 -0
- package/src/styles/insert-drawer.css +586 -0
- package/src/styles/inspector-board.css +207 -0
- package/src/styles/inspector-object.css +486 -0
- package/src/styles/inspector-shot.css +252 -0
- package/src/styles/inspector.css +360 -0
- package/src/styles/left-column.css +1628 -0
- package/src/styles/library-preview.css +575 -0
- package/src/styles/library.css +512 -0
- package/src/styles/modes/code.css +569 -0
- package/src/styles/modes/component.css +1561 -0
- package/src/styles/modes/material.css +1201 -0
- package/src/styles/modes/storyboard.css +518 -0
- package/src/styles/share-component.css +49 -0
- package/src/styles/shell.css +653 -0
- package/src/styles/shot-brief.css +360 -0
- package/src/styles/states.css +76 -0
- package/src/styles/sync.css +380 -0
- package/src/styles/timeline-graph.css +384 -0
- package/src/styles/timeline-meters.css +89 -0
- package/src/styles/timeline-rows.css +1959 -0
- package/src/styles/timeline-sound.css +1003 -0
- package/src/styles/timeline.css +754 -0
- package/src/styles/tool-footer.css +525 -0
- package/src/styles/topbar.css +886 -0
- package/src/styles/versions.css +262 -0
- package/src/styles.css +72 -2921
- package/src/tools.ts +108 -23
- package/dist/assets/index-B7notge7.css +0 -1
- package/dist/assets/index-BBE6Ta9L.js +0 -52
- package/src/panels/files/icons.tsx +0 -118
- package/src/panels/header/DocSwitcher.tsx +0 -85
- package/src/panels/header/TransportBar.tsx +0 -86
- package/src/panels/inspector/animate/BlockTiming.tsx +0 -341
- package/src/panels/inspector/animate/DuringBlocks.tsx +0 -85
- package/src/panels/inspector/animate/InOutPresets.tsx +0 -57
- package/src/panels/inspector/animate/ResolvedChannels.tsx +0 -150
- package/src/panels/inspector/animate/useBlocks.ts +0 -43
- package/src/panels/material/MaterialPicker.tsx +0 -172
- package/src/panels/timeline/SceneStrip.tsx +0 -145
- package/src/panels/toolbar/AddMenu.tsx +0 -230
- package/src/stage/MoveGizmo.tsx +0 -411
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/* The inspector's shot context: the effects list and its add menu, the
|
|
2
|
+
camera's key diamond, the shader background button's glyph, and Make it
|
|
3
|
+
yours' field rows. Imported
|
|
4
|
+
right after inspector.css, in the same layer. Every field, every row of
|
|
5
|
+
buttons and every readout in these sections is the house's (ui
|
|
6
|
+
widgets.css); nothing here restates one. */
|
|
7
|
+
|
|
8
|
+
.effect-row + .effect-row {
|
|
9
|
+
margin-top: 1px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* The params of a switched-on effect, indented under their head so the
|
|
13
|
+
grouping is visible without a box around every effect. */
|
|
14
|
+
/* WRAPS at two per line. A single flex row put CRT's and Glitch's three
|
|
15
|
+
params into ~190px, which is the same squeeze that turned the camera's
|
|
16
|
+
Zoom / Roll / Focus into "Z…", "R…", "F…": one rule, two symptoms. The
|
|
17
|
+
basis is just under half so two fit and a third is pushed down. Rows and
|
|
18
|
+
the two of a pair sit 6px apart, the inspector's one rhythm. */
|
|
19
|
+
.effect-params {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-wrap: wrap;
|
|
22
|
+
gap: var(--space-3);
|
|
23
|
+
padding: var(--space-1) 0 var(--space-5) var(--space-5);
|
|
24
|
+
border-left: 1px solid var(--line-soft);
|
|
25
|
+
margin-left: var(--space-1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.effect-params > * {
|
|
29
|
+
flex: 1 1 calc(50% - var(--space-3));
|
|
30
|
+
min-width: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* A vector param (Grade's Lift, Gamma and Gain, a ghost's shift, a ray
|
|
34
|
+
centre) is one labelled box across the whole line. */
|
|
35
|
+
.effect-params > .effect-param.is-vec {
|
|
36
|
+
flex-basis: 100%;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* ---- effects, as a list of what is ON ----------------------------------- */
|
|
40
|
+
/* Sixteen permanent toggle rows made the section ~630px tall and made "which
|
|
41
|
+
effects does this shot have" a reading task rather than a glance. The list
|
|
42
|
+
is what is enabled; the rest live behind the header's add menu. */
|
|
43
|
+
.effect-head {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
gap: var(--space-2);
|
|
47
|
+
min-height: var(--row-h);
|
|
48
|
+
padding-right: 1px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.effect-head-label {
|
|
52
|
+
flex: 1;
|
|
53
|
+
min-width: 0;
|
|
54
|
+
color: var(--ink-1);
|
|
55
|
+
white-space: nowrap;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
text-overflow: ellipsis;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* The remove (the house `.insp-key.is-danger`) stands where the diamonds in
|
|
61
|
+
the boxes below it stand, 5px in from the edge: a box's accessory lane ends
|
|
62
|
+
inside its 1px border and its 8px padding, less the lane's 4px tuck. The
|
|
63
|
+
head has no box, so it takes the border's 1px as padding (`.effect-head`
|
|
64
|
+
above) and the key takes the rest (8 less 4) as its margin. */
|
|
65
|
+
.effect-head > .insp-key {
|
|
66
|
+
margin-right: var(--space-2);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* The add menu. Grouped, because sixteen effects in one flat column is the
|
|
70
|
+
list we just took off the panel. */
|
|
71
|
+
.effect-add-menu {
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
gap: 1px;
|
|
75
|
+
padding: var(--space-2);
|
|
76
|
+
min-width: 180px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.effect-add-group {
|
|
80
|
+
color: var(--ink-3);
|
|
81
|
+
text-transform: uppercase;
|
|
82
|
+
letter-spacing: var(--tracking-caps);
|
|
83
|
+
font-size: var(--type-micro);
|
|
84
|
+
font-weight: var(--weight-semibold);
|
|
85
|
+
padding: var(--space-2) var(--space-2) var(--space-1);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.effect-add-group:first-child {
|
|
89
|
+
padding-top: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.effect-add-item {
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
font: inherit;
|
|
96
|
+
text-align: left;
|
|
97
|
+
color: var(--ink-1);
|
|
98
|
+
background: transparent;
|
|
99
|
+
border: 0;
|
|
100
|
+
border-radius: var(--radius-xs);
|
|
101
|
+
padding: var(--space-2);
|
|
102
|
+
cursor: pointer;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.effect-add-item:hover {
|
|
106
|
+
background: var(--fill-rest);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* ---- the camera's key diamond -------------------------------------------- */
|
|
110
|
+
/* Inside each camera field, as its accessory: the house in-field key
|
|
111
|
+
(`.insp-key`, ui widgets.css), the property diamond's 16px box and 10px
|
|
112
|
+
glyph, in the camera's own signal. The ACCENT and not `--kf`, the camera's
|
|
113
|
+
documented exception: `--kf` says a property has a keyframe on a track, and
|
|
114
|
+
a camera pose is not one (CameraSection). Its state is `data-camera-state`
|
|
115
|
+
rather than the property diamond's `is-keyed` / `is-tracked`, which would
|
|
116
|
+
set the field's value in `--kf` (ui's value-ink rule).
|
|
117
|
+
|
|
118
|
+
Static is the house key at rest (the hollow glyph in the third ink);
|
|
119
|
+
animated is the accent edge with a dot in it; keyed is the filled accent,
|
|
120
|
+
with no hover lift, as a keyed property diamond has none. */
|
|
121
|
+
.insp-key.is-camera[data-camera-state="animated"],
|
|
122
|
+
.insp-key.is-camera[data-camera-state="keyed"],
|
|
123
|
+
.insp-key.is-camera[data-camera-state="keyed"]:hover {
|
|
124
|
+
color: var(--accent);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.insp-key.is-camera[data-camera-state="keyed"],
|
|
128
|
+
.insp-key.is-camera[data-camera-state="keyed"]:hover {
|
|
129
|
+
background: transparent;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.insp-key.is-camera[data-camera-state="animated"] {
|
|
133
|
+
position: relative;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.insp-key.is-camera[data-camera-state="animated"]::after {
|
|
137
|
+
content: "";
|
|
138
|
+
position: absolute;
|
|
139
|
+
inset: 0;
|
|
140
|
+
width: 3px;
|
|
141
|
+
height: 3px;
|
|
142
|
+
margin: auto;
|
|
143
|
+
background: var(--accent);
|
|
144
|
+
transform: rotate(45deg);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* A value that changes between the camera's poses reads in the accent ink,
|
|
148
|
+
off its own box's diamond, the way an animated property's value reads in
|
|
149
|
+
`--kf` off its box's diamond. It keys on `data-camera-animated`, not on the
|
|
150
|
+
"animated" state: on a pose the state is "keyed" for every field, and a
|
|
151
|
+
rule on the state dropped the ink each time the playhead crossed one. */
|
|
152
|
+
.numfield:has(> .field-accessory > .insp-key.is-camera[data-camera-animated]) .numfield-input,
|
|
153
|
+
.range-field:has(> .field-accessory > .insp-key.is-camera[data-camera-animated]) .numfield-input {
|
|
154
|
+
color: var(--accent-ink);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* "· 2 keyed" beside the section title. */
|
|
158
|
+
.camera-field-key-count {
|
|
159
|
+
color: var(--accent-ink);
|
|
160
|
+
font-size: var(--type-sm);
|
|
161
|
+
font-weight: var(--weight-regular);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* "Shader background…" under the Shot's Background rows, on the house row
|
|
165
|
+
of buttons (`.insp-buttons`): the sparkles glyph in secondary ink beside
|
|
166
|
+
its words (Paper page 27, artboard 5). */
|
|
167
|
+
.shot-shader-button svg {
|
|
168
|
+
width: 12px;
|
|
169
|
+
height: 12px;
|
|
170
|
+
flex: none;
|
|
171
|
+
color: var(--ink-2);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ---- Make it yours: one row per template field ------------------------------
|
|
175
|
+
The field's picture (media only), its name over where it lives, and its
|
|
176
|
+
verb; a text field's box takes the line under them. Rows sit 6px apart, the
|
|
177
|
+
inspector's one rhythm. */
|
|
178
|
+
.make-it-yours {
|
|
179
|
+
margin: 0;
|
|
180
|
+
padding: 0;
|
|
181
|
+
list-style: none;
|
|
182
|
+
display: flex;
|
|
183
|
+
flex-direction: column;
|
|
184
|
+
gap: var(--space-3);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.make-it-yours-row {
|
|
188
|
+
display: flex;
|
|
189
|
+
flex-direction: column;
|
|
190
|
+
gap: var(--space-2);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.make-it-yours-head {
|
|
194
|
+
display: flex;
|
|
195
|
+
align-items: center;
|
|
196
|
+
gap: var(--space-4);
|
|
197
|
+
min-height: var(--control-h);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.make-it-yours-thumb {
|
|
201
|
+
flex: none;
|
|
202
|
+
width: 40px;
|
|
203
|
+
height: var(--control-h);
|
|
204
|
+
border-radius: var(--radius-xs);
|
|
205
|
+
background: var(--surface-secondary);
|
|
206
|
+
overflow: hidden;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.make-it-yours-media {
|
|
210
|
+
display: block;
|
|
211
|
+
width: 100%;
|
|
212
|
+
height: 100%;
|
|
213
|
+
object-fit: cover;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* The name is the way to the layer: a row name at rest, underlined under the
|
|
217
|
+
pointer like the inspector's other links, and the focus ring on keys. */
|
|
218
|
+
.make-it-yours-name {
|
|
219
|
+
flex: 1;
|
|
220
|
+
min-width: 0;
|
|
221
|
+
display: flex;
|
|
222
|
+
flex-direction: column;
|
|
223
|
+
align-items: flex-start;
|
|
224
|
+
padding: 0;
|
|
225
|
+
border: 0;
|
|
226
|
+
background: none;
|
|
227
|
+
font: inherit;
|
|
228
|
+
text-align: left;
|
|
229
|
+
cursor: pointer;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.make-it-yours-name:hover .make-it-yours-label { text-decoration: underline; }
|
|
233
|
+
.make-it-yours-name:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-2xs); }
|
|
234
|
+
|
|
235
|
+
.make-it-yours-label,
|
|
236
|
+
.make-it-yours-where {
|
|
237
|
+
max-width: 100%;
|
|
238
|
+
overflow: hidden;
|
|
239
|
+
text-overflow: ellipsis;
|
|
240
|
+
white-space: nowrap;
|
|
241
|
+
line-height: var(--leading-xs);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.make-it-yours-label {
|
|
245
|
+
font-size: var(--type-lg);
|
|
246
|
+
color: var(--ink-1);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.make-it-yours-where {
|
|
250
|
+
font-size: var(--type-sm);
|
|
251
|
+
color: var(--ink-3);
|
|
252
|
+
}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/* The inspector: the column, its head and footer, the subject line, the scroller, the sections and what every context shares. Shot-only rules are in inspector-shot.css, object-only rules in inspector-object.css. */
|
|
2
|
+
|
|
3
|
+
/* ---- inspector ---------------------------------------------------------- */
|
|
4
|
+
/* One right column, two occupants. The column is the cell: docked under the
|
|
5
|
+
top bar, down to the timeline, its seam on the left. The occupants share it
|
|
6
|
+
and nothing else: the inspector is a scrolling stack of sections, the agent
|
|
7
|
+
drawer is a flex column that scrolls only its transcript and pins its
|
|
8
|
+
composer to the bottom. Each fills what the column leaves it, and the
|
|
9
|
+
`min-height: 0` is what lets it scroll inside the column instead of
|
|
10
|
+
growing past it. */
|
|
11
|
+
.inspector-column {
|
|
12
|
+
grid-column: insp-l / edge-r;
|
|
13
|
+
grid-row: main-t / main-b;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
background: var(--surface-panel);
|
|
17
|
+
border-left: 1px solid var(--line);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* THE COLUMN'S HEAD, above either occupant: the Brief | Inspector | Comments
|
|
21
|
+
| Agent switch. The one panel head (`.panel-head`, G1 01), so its bottom
|
|
22
|
+
edge is the canvas bar's and the left column's, and one hairline crosses
|
|
23
|
+
the window. Its one control spans it, 8 in from each side (Paper SB6). */
|
|
24
|
+
.inspector-column > .column-head {
|
|
25
|
+
padding: 0 var(--space-4);
|
|
26
|
+
}
|
|
27
|
+
/* Four words share the switch, and a chip never shrinks below its words and
|
|
28
|
+
padding. At the house 12px a side they need about 282px, and the column's
|
|
29
|
+
264px floor leaves the track 247: Agent ran 25px off the window at 1024.
|
|
30
|
+
At 6px a side they need about 234px. The chips are still equal while the
|
|
31
|
+
track has room, so a wider column looks the same. */
|
|
32
|
+
.inspector-column > .column-head .segmented .segmented-item {
|
|
33
|
+
padding-inline: var(--space-3);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* THE STATUS FOOTER (InspectorFooter), pinned under the scroller: what the
|
|
37
|
+
inspector is looking at, said as facts. The subject on the left, its length
|
|
38
|
+
and rate on the right in the numeric face. On the head's ground, at Paper's
|
|
39
|
+
48: the tool footer's height, so the two bottom bands meet in one line. */
|
|
40
|
+
.inspector-footer {
|
|
41
|
+
flex: none;
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: space-between;
|
|
45
|
+
gap: var(--space-4);
|
|
46
|
+
height: var(--panel-foot-h);
|
|
47
|
+
padding: 0 var(--space-6);
|
|
48
|
+
background: var(--surface-panel);
|
|
49
|
+
border-top: 1px solid var(--line);
|
|
50
|
+
font-size: var(--type-md);
|
|
51
|
+
line-height: var(--leading-xs);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.inspector-footer-subject {
|
|
55
|
+
min-width: 0;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
text-overflow: ellipsis;
|
|
58
|
+
white-space: nowrap;
|
|
59
|
+
font-weight: var(--weight-semibold);
|
|
60
|
+
color: var(--ink-1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.inspector-footer-meta {
|
|
64
|
+
flex: none;
|
|
65
|
+
font-family: var(--font-numeric);
|
|
66
|
+
font-variant-numeric: tabular-nums;
|
|
67
|
+
font-size: var(--type-sm);
|
|
68
|
+
color: var(--ink-3);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.inspector-column > .inspector,
|
|
72
|
+
.inspector-column > .agent-panel {
|
|
73
|
+
flex: 1 1 auto;
|
|
74
|
+
min-height: 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* The subject line fixed on top and one scroller under it. The aside itself
|
|
78
|
+
neither scrolls nor pads, so the sections run edge to edge. */
|
|
79
|
+
.inspector {
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-direction: column;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* `stable` holds the gutter while the stack is short, so a section that grows
|
|
85
|
+
past the fold does not narrow every row under the pointer. */
|
|
86
|
+
.inspector-body {
|
|
87
|
+
flex: 1 1 auto;
|
|
88
|
+
min-height: 0;
|
|
89
|
+
overflow: auto;
|
|
90
|
+
scrollbar-gutter: stable;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* FULL-BLEED SECTIONS, scoped to the column: `.insp-section` lives in
|
|
94
|
+
packages/ui and the retired editor shares it.
|
|
95
|
+
|
|
96
|
+
FLAT, NOT CARDS: Paper draws the stack as full-width rows on the panel
|
|
97
|
+
ground with one hairline BETWEEN sections, so the first one sits straight
|
|
98
|
+
under the head's own seam.
|
|
99
|
+
|
|
100
|
+
PAPER'S SECTION (page 27): 12 all round and 8 between the title row and
|
|
101
|
+
the rows. The title row is 16 tall (the 12/600 title on its 16 line), so a
|
|
102
|
+
closed section is 12 + 16 + 12 = 40. The rows themselves sit 6 apart, the
|
|
103
|
+
house rhythm (ui `.insp-section-body`). */
|
|
104
|
+
.inspector-column .insp-section {
|
|
105
|
+
gap: var(--space-4);
|
|
106
|
+
padding: var(--space-6);
|
|
107
|
+
border-bottom: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.inspector-column .insp-section + .insp-section {
|
|
111
|
+
border-top: 1px solid var(--line);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* The 16px row holds the 20px `+` too: it overflows the row by 2 each side
|
|
115
|
+
rather than growing every section's title row by 4. */
|
|
116
|
+
.inspector-column .insp-section-headrow {
|
|
117
|
+
height: 16px;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* One title face open or closed: 12/600 on 16. No icon (Paper draws none),
|
|
121
|
+
the chevron on the right at 12 in the third ink. */
|
|
122
|
+
.inspector-column .insp-section-header,
|
|
123
|
+
.inspector-column .insp-section.is-collapsed .insp-section-header {
|
|
124
|
+
min-height: 0;
|
|
125
|
+
height: 16px;
|
|
126
|
+
gap: var(--space-4);
|
|
127
|
+
font-size: var(--type-md);
|
|
128
|
+
font-weight: var(--weight-semibold);
|
|
129
|
+
line-height: var(--leading-xs);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.inspector-column .insp-section-icon {
|
|
133
|
+
display: none;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.inspector-column .insp-section-disclosure {
|
|
137
|
+
width: 12px;
|
|
138
|
+
height: 12px;
|
|
139
|
+
color: var(--ink-3);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.inspector-column .insp-section-header:hover:not(.is-static) .insp-section-disclosure {
|
|
143
|
+
color: var(--ink-2);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* The title and its note ("· 2 keyed") on one line, 6 apart. */
|
|
147
|
+
.inspector-column .insp-section-titles {
|
|
148
|
+
flex-direction: row;
|
|
149
|
+
align-items: baseline;
|
|
150
|
+
gap: var(--space-3);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.inspector-column .insp-section-note {
|
|
154
|
+
flex: none;
|
|
155
|
+
white-space: nowrap;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* A closed section's facts: 11 in the third ink, before the chevron. */
|
|
159
|
+
.inspector-column .insp-section-summary {
|
|
160
|
+
font-size: var(--type-sm);
|
|
161
|
+
line-height: var(--leading-xs);
|
|
162
|
+
color: var(--ink-3);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/* The rows sit 8 under the title row, and that 8 is the SECTION's gap, so the
|
|
166
|
+
body drops the house 6px it would add on top. Between rows it keeps the
|
|
167
|
+
house 6 (ui `.insp-section-body`, the rhythm every panel's rows share). */
|
|
168
|
+
.inspector-column .insp-section-body {
|
|
169
|
+
padding-top: 0;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* SUB-HEADINGS, not titles: "Recording sound".
|
|
173
|
+
Caps micro in the third ink, so none reads as a section title. Scoped for
|
|
174
|
+
the same reason as the sections. */
|
|
175
|
+
.inspector-column .insp-heading {
|
|
176
|
+
min-height: 24px;
|
|
177
|
+
font-size: var(--type-micro);
|
|
178
|
+
font-weight: var(--weight-semibold);
|
|
179
|
+
letter-spacing: var(--tracking-caps);
|
|
180
|
+
text-transform: uppercase;
|
|
181
|
+
color: var(--ink-3);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* A frame range in a sub-heading keeps its case: "f12" is a frame. */
|
|
185
|
+
.inspector-column .insp-heading .insp-dim {
|
|
186
|
+
text-transform: none;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* ONE EMPTY STATE for every section: what is missing and how to add it. */
|
|
190
|
+
.insp-empty {
|
|
191
|
+
margin: 0;
|
|
192
|
+
font-size: var(--type-md);
|
|
193
|
+
line-height: var(--leading-body);
|
|
194
|
+
color: var(--ink-2);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/* A section's own aside: a fact about the value above it, not a warning. */
|
|
198
|
+
.insp-note {
|
|
199
|
+
margin: 0;
|
|
200
|
+
font-size: var(--type-sm);
|
|
201
|
+
line-height: var(--leading-body);
|
|
202
|
+
color: var(--ink-3);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* agent.css's own `.agent-panel { height: 100% }` is written for a host that
|
|
206
|
+
sizes it; here the column does, and `auto` lets the flex item take what the
|
|
207
|
+
column leaves it. The chrome layer outranks agent.css's component-sheets
|
|
208
|
+
layer, so this wins at any specificity. */
|
|
209
|
+
.inspector-column > .agent-panel {
|
|
210
|
+
height: auto;
|
|
211
|
+
overflow: hidden;
|
|
212
|
+
padding: 0;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* agent.css leaves the title row unpadded because the motion editor wraps it
|
|
216
|
+
in a padded header. This drawer IS the panel, so the padding belongs here.
|
|
217
|
+
The column head names the panel, so the row holds only tools: Key, New and
|
|
218
|
+
close on the right, and the model switch WRAPPED to a full line of its own,
|
|
219
|
+
because the switch beside three buttons does not fit a 264px column. */
|
|
220
|
+
.inspector-column > .agent-panel > .agent-title {
|
|
221
|
+
padding: var(--space-5) var(--space-6);
|
|
222
|
+
border-bottom: 1px solid var(--line-soft);
|
|
223
|
+
flex: none;
|
|
224
|
+
flex-wrap: wrap;
|
|
225
|
+
justify-content: flex-end;
|
|
226
|
+
row-gap: var(--space-3);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.inspector-column > .agent-panel .agent-models {
|
|
230
|
+
flex: 1 1 100%;
|
|
231
|
+
order: 1;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.inspector-column > .agent-panel .agent-composer {
|
|
235
|
+
padding: var(--space-5) var(--space-6);
|
|
236
|
+
border-top: 1px solid var(--line-soft);
|
|
237
|
+
flex: none;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
/* A button that reads as a link: the definition's name in the instance
|
|
242
|
+
inspector, which navigates rather than edits. */
|
|
243
|
+
.link-button {
|
|
244
|
+
padding: 0;
|
|
245
|
+
border: 0;
|
|
246
|
+
background: transparent;
|
|
247
|
+
color: var(--accent-ink);
|
|
248
|
+
cursor: pointer;
|
|
249
|
+
text-align: left;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.link-button:hover {
|
|
253
|
+
text-decoration: underline;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/* ---- the inspector's head ----------------------------------------------- */
|
|
257
|
+
/* What this panel is describing, said once at the top. Without it the panel
|
|
258
|
+
showed "Shot / Camera / Effects" in one context and "Transform / Appearance"
|
|
259
|
+
in another, with nothing naming the subject either set belonged to. */
|
|
260
|
+
/* FIXED above the scroller. Paper's title row: 48 tall, the 28px icon box,
|
|
261
|
+
then the name over its fact line, 12 in from the column's edge. */
|
|
262
|
+
.insp-head {
|
|
263
|
+
flex: none;
|
|
264
|
+
display: flex;
|
|
265
|
+
align-items: center;
|
|
266
|
+
gap: var(--space-5);
|
|
267
|
+
min-width: 0;
|
|
268
|
+
height: 48px;
|
|
269
|
+
padding: 0 var(--space-6);
|
|
270
|
+
border-bottom: 1px solid var(--line);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/* Every subject's glyph sits in the same 28px box on the control fill. */
|
|
274
|
+
.insp-head-icon {
|
|
275
|
+
flex: none;
|
|
276
|
+
display: inline-flex;
|
|
277
|
+
align-items: center;
|
|
278
|
+
justify-content: center;
|
|
279
|
+
width: 28px;
|
|
280
|
+
height: 28px;
|
|
281
|
+
border-radius: var(--radius-sm);
|
|
282
|
+
background: var(--fill-rest);
|
|
283
|
+
color: var(--ink-2);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.insp-head-icon svg {
|
|
287
|
+
width: 14px;
|
|
288
|
+
height: 14px;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/* The open shot and a component instance take the accent ink: the place the
|
|
292
|
+
author is standing in, and a link to a definition. */
|
|
293
|
+
.insp-head-icon.is-tile,
|
|
294
|
+
.insp-head-icon.is-component {
|
|
295
|
+
color: var(--accent-ink);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.insp-head-text {
|
|
299
|
+
display: flex;
|
|
300
|
+
flex-direction: column;
|
|
301
|
+
min-width: 0;
|
|
302
|
+
flex: 1;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/* The KIND above the name, because the kind is the stable half: it is what
|
|
306
|
+
tells you which set of sections you are about to read. */
|
|
307
|
+
.insp-head-kind {
|
|
308
|
+
color: var(--ink-3);
|
|
309
|
+
font-size: var(--type-sm);
|
|
310
|
+
line-height: var(--leading-tight);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.insp-head-name {
|
|
314
|
+
font-size: var(--type-lg);
|
|
315
|
+
font-weight: var(--weight-semibold);
|
|
316
|
+
color: var(--ink-1);
|
|
317
|
+
white-space: nowrap;
|
|
318
|
+
overflow: hidden;
|
|
319
|
+
text-overflow: ellipsis;
|
|
320
|
+
line-height: var(--leading-xs);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/* The fact line under the shot's name: "Shot 01 · 18.00s". */
|
|
324
|
+
.insp-head-meta {
|
|
325
|
+
font-size: var(--type-sm);
|
|
326
|
+
line-height: var(--leading-tight);
|
|
327
|
+
color: var(--ink-3);
|
|
328
|
+
white-space: nowrap;
|
|
329
|
+
overflow: hidden;
|
|
330
|
+
text-overflow: ellipsis;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* The name renames in place, so the Name row could leave the Shot section
|
|
334
|
+
instead of restating the heading two rows below it. Transparent until it is
|
|
335
|
+
pointed at: a permanent input box at the top of the panel would read as a
|
|
336
|
+
form field rather than a title. */
|
|
337
|
+
.insp-head-rename {
|
|
338
|
+
font: inherit;
|
|
339
|
+
font-size: var(--type-lg);
|
|
340
|
+
font-weight: var(--weight-semibold);
|
|
341
|
+
color: var(--ink-1);
|
|
342
|
+
background: transparent;
|
|
343
|
+
border: 1px solid transparent;
|
|
344
|
+
border-radius: var(--radius-xs);
|
|
345
|
+
padding: 0 var(--space-1);
|
|
346
|
+
margin: 0 calc(-1 * var(--space-1));
|
|
347
|
+
min-width: 0;
|
|
348
|
+
width: 100%;
|
|
349
|
+
line-height: var(--leading-xs);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.insp-head-rename:hover {
|
|
353
|
+
border-color: var(--line);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.insp-head-rename:focus {
|
|
357
|
+
outline: none;
|
|
358
|
+
background: var(--fill-rest);
|
|
359
|
+
border-color: var(--accent);
|
|
360
|
+
}
|