@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,162 @@
|
|
|
1
|
+
/* The chrome's own generic controls: the range-slider recipe and the bar
|
|
2
|
+
switch. The button, the select and the badge are house widgets, defined
|
|
3
|
+
once in packages/ui widgets.css; this chrome never restates them. */
|
|
4
|
+
|
|
5
|
+
/* The scrub is the Components Preview transport's progress (componentParts.tsx,
|
|
6
|
+
under the stage). Styled here rather than in the shared sheet because no
|
|
7
|
+
other chrome has one.
|
|
8
|
+
|
|
9
|
+
THE DOCK'S ZOOM RIDES THE SAME RECIPE: it is the other range input the
|
|
10
|
+
chrome shows at rest, and two sliders in one window that disagree about
|
|
11
|
+
the height of a track or the size of a thumb is the kind of difference
|
|
12
|
+
nobody can name and everybody sees. Only its width differs (timeline.css).
|
|
13
|
+
The volume takes the box here and draws its own track and thumb in
|
|
14
|
+
timeline-meters.css: Paper gives it a filled level and a 12x20 fader cap,
|
|
15
|
+
because a level is read off the slider and a zoom is not. */
|
|
16
|
+
.transport-scrub,
|
|
17
|
+
.dock-zoom,
|
|
18
|
+
.dock-volume {
|
|
19
|
+
appearance: none;
|
|
20
|
+
-webkit-appearance: none;
|
|
21
|
+
width: 240px;
|
|
22
|
+
height: 18px;
|
|
23
|
+
background: transparent;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.transport-scrub::-webkit-slider-runnable-track,
|
|
28
|
+
.dock-zoom::-webkit-slider-runnable-track {
|
|
29
|
+
height: 4px;
|
|
30
|
+
border-radius: var(--radius-full);
|
|
31
|
+
background: var(--fill-rest);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.transport-scrub::-webkit-slider-thumb,
|
|
35
|
+
.dock-zoom::-webkit-slider-thumb {
|
|
36
|
+
appearance: none;
|
|
37
|
+
-webkit-appearance: none;
|
|
38
|
+
width: 12px;
|
|
39
|
+
height: 12px;
|
|
40
|
+
margin-top: calc(-1 * var(--space-2));
|
|
41
|
+
border-radius: var(--radius-full);
|
|
42
|
+
background: var(--timeline-ink);
|
|
43
|
+
border: 0;
|
|
44
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.transport-scrub::-moz-range-track,
|
|
48
|
+
.dock-zoom::-moz-range-track {
|
|
49
|
+
height: 4px;
|
|
50
|
+
border-radius: var(--radius-full);
|
|
51
|
+
background: var(--fill-rest);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.transport-scrub::-moz-range-thumb,
|
|
55
|
+
.dock-zoom::-moz-range-thumb {
|
|
56
|
+
width: 12px;
|
|
57
|
+
height: 12px;
|
|
58
|
+
border: 0;
|
|
59
|
+
border-radius: var(--radius-full);
|
|
60
|
+
background: var(--timeline-ink);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.transport-scrub:focus-visible,
|
|
64
|
+
.dock-zoom:focus-visible,
|
|
65
|
+
.dock-volume:focus-visible {
|
|
66
|
+
outline: none;
|
|
67
|
+
box-shadow: var(--focus-ring);
|
|
68
|
+
border-radius: var(--radius-full);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* A SWITCH IN A BAR is the house 28px track with 24px chips, like every
|
|
72
|
+
other segmented control. The docked heads (the right column's Inspector |
|
|
73
|
+
Agent, the timeline's Rows | Graph | Sound) pass `is-bar` so a chip that
|
|
74
|
+
ellipsizes keeps its text centred: by line-height, not by flex. */
|
|
75
|
+
.segmented.is-bar .segmented-item {
|
|
76
|
+
height: calc(var(--control-h) - 2 * var(--space-1));
|
|
77
|
+
padding-block: 0;
|
|
78
|
+
line-height: calc(var(--control-h) - 2 * var(--space-1));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
/* "Use as mask"'s mode swatches (Paper page 25): a picture of what the matte
|
|
83
|
+
reads, so it stays white-to-clear and white-to-black in either theme. */
|
|
84
|
+
.mask-swatch {
|
|
85
|
+
display: block;
|
|
86
|
+
width: 20px;
|
|
87
|
+
height: 20px;
|
|
88
|
+
border: 1px solid var(--line-strong);
|
|
89
|
+
border-radius: var(--radius-xs);
|
|
90
|
+
}
|
|
91
|
+
.mask-swatch.is-alpha { background: linear-gradient(90deg, var(--gray-97), transparent); }
|
|
92
|
+
.mask-swatch.is-luma { background: linear-gradient(90deg, var(--gray-100), var(--gray-11)); }
|
|
93
|
+
|
|
94
|
+
/* A mask's mode on its row, in the outline and the timeline alike (Paper page
|
|
95
|
+
25): "Alpha", "Luma", "Alpha · Inv", or "Off" on a hidden mask. In a narrow
|
|
96
|
+
column it gives way BEFORE the layer's name: its shrink outweighs the name's
|
|
97
|
+
a thousand to one, so the badge ellipses (its title keeps the words) and the
|
|
98
|
+
name keeps its own. A block box, because an ellipsis needs one. */
|
|
99
|
+
/* A placed code component whose contract moved since it was placed: it still
|
|
100
|
+
renders the old contract's defaults until Accept current contract. The
|
|
101
|
+
mask badge's box, in the warning hue. */
|
|
102
|
+
.layer-drift-badge {
|
|
103
|
+
/* Gives way before the layer's name, as the mask badge does: its title
|
|
104
|
+
keeps the words, and the inspector says it in full. */
|
|
105
|
+
flex: 0 1000 auto;
|
|
106
|
+
min-width: 0;
|
|
107
|
+
overflow: hidden;
|
|
108
|
+
text-overflow: ellipsis;
|
|
109
|
+
display: inline-block;
|
|
110
|
+
height: 16px;
|
|
111
|
+
/* The 16px box less its two hairlines, so the one line sits centred. */
|
|
112
|
+
line-height: calc(var(--leading-xs) - 2px);
|
|
113
|
+
margin-left: var(--space-2);
|
|
114
|
+
padding: 0 var(--space-2);
|
|
115
|
+
border: 1px solid color-mix(in srgb, var(--warn) 40%, transparent);
|
|
116
|
+
border-radius: var(--radius-xs);
|
|
117
|
+
font-family: var(--font-mono);
|
|
118
|
+
font-size: var(--type-micro);
|
|
119
|
+
color: var(--warn);
|
|
120
|
+
white-space: nowrap;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.mask-badge {
|
|
124
|
+
flex: 0 1000 auto;
|
|
125
|
+
min-width: 0;
|
|
126
|
+
display: inline-block;
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
text-overflow: ellipsis;
|
|
129
|
+
height: 16px;
|
|
130
|
+
padding: 0 var(--space-2);
|
|
131
|
+
border: 1px solid var(--line-strong);
|
|
132
|
+
border-radius: var(--radius-xs);
|
|
133
|
+
font-family: var(--font-mono);
|
|
134
|
+
font-size: var(--type-micro);
|
|
135
|
+
/* The 16px box less its two hairlines, so the one line sits centred. */
|
|
136
|
+
line-height: 14px;
|
|
137
|
+
color: var(--ink-2);
|
|
138
|
+
white-space: nowrap;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/* One row's slice of a mask's bracket (maskMarks.tsx). `left` is inline, the
|
|
142
|
+
row's own inset for the bracket's depth; the line stands 4px into its 10px
|
|
143
|
+
column, and the row must be positioned. */
|
|
144
|
+
.mask-bracket {
|
|
145
|
+
position: absolute;
|
|
146
|
+
top: 0;
|
|
147
|
+
bottom: 0;
|
|
148
|
+
width: 6px;
|
|
149
|
+
margin-left: var(--space-2);
|
|
150
|
+
border-left: 1.5px solid var(--line-strong);
|
|
151
|
+
pointer-events: none;
|
|
152
|
+
}
|
|
153
|
+
.mask-bracket.is-top {
|
|
154
|
+
top: var(--space-4);
|
|
155
|
+
border-top: 1.5px solid var(--line-strong);
|
|
156
|
+
border-top-left-radius: var(--radius-2xs);
|
|
157
|
+
}
|
|
158
|
+
.mask-bracket.is-bottom {
|
|
159
|
+
bottom: 50%;
|
|
160
|
+
border-bottom: 1.5px solid var(--line-strong);
|
|
161
|
+
border-bottom-left-radius: var(--radius-2xs);
|
|
162
|
+
}
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
/* Dialogs: export, the manual and the material picker. The library browser lives in library.css. */
|
|
2
|
+
|
|
3
|
+
/* ---- export -------------------------------------------------------------
|
|
4
|
+
Paper's form dialog. The WIDTH is the shared `Dialog size="wide"` (648px,
|
|
5
|
+
24px padding, 16px gaps), so this block owns only what sits inside it: a
|
|
6
|
+
label column, the controls, a hairline estimate and one outcome card. */
|
|
7
|
+
|
|
8
|
+
.export-dialog {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
gap: var(--space-7);
|
|
12
|
+
min-width: 0;
|
|
13
|
+
font-size: var(--type-md);
|
|
14
|
+
line-height: var(--leading-md);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* A FIXED 96px LABEL COLUMN, so every control starts on one edge and five
|
|
18
|
+
rows read as one form rather than five sentences. 32 tall: the field
|
|
19
|
+
height the selects take. */
|
|
20
|
+
.export-row {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: var(--space-7);
|
|
24
|
+
min-height: var(--button-h);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.export-label {
|
|
28
|
+
flex: none;
|
|
29
|
+
width: 96px;
|
|
30
|
+
color: var(--ink-2);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* The format and destination switches take the accent chip (`.is-accent`)
|
|
34
|
+
and size to their options, not to the row: a two-chip track stretched to
|
|
35
|
+
the full lane reads as a slider. A grid, so both chips are the width of the
|
|
36
|
+
longer label and the switch stays symmetric.
|
|
37
|
+
PAPER'S FORM TRACK, not the toolbar one: 32 tall like the selects beside
|
|
38
|
+
it, with 28px chips. That size is the shared `.segmented.is-lg`, which the
|
|
39
|
+
dialog passes; only the width rules live here. Every rule here is
|
|
40
|
+
`.segmented.export-switch` (three classes on the items): the shared
|
|
41
|
+
`.segmented .segmented-item` is two, and a tie would leave the answer to
|
|
42
|
+
whichever sheet loads last. */
|
|
43
|
+
.segmented.export-switch {
|
|
44
|
+
flex: none;
|
|
45
|
+
display: inline-grid;
|
|
46
|
+
grid-auto-flow: column;
|
|
47
|
+
grid-auto-columns: 1fr;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.segmented.export-switch .segmented-item {
|
|
51
|
+
min-width: 80px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Paper's destination chips are 156 wide, so "This browser" and "Studio
|
|
55
|
+
server" sit in a track that reads as a place, not squeezed to their text. */
|
|
56
|
+
.segmented.export-switch.is-destination .segmented-item {
|
|
57
|
+
min-width: 156px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* PAPER'S FORM SELECT: the shared 32px `.select.is-field` at the dialog's
|
|
61
|
+
12/20 type and the 8px card corner, filling its row. Its caret is the house
|
|
62
|
+
dropdown caret the shared select paints (widgets.css `.field-caret`). */
|
|
63
|
+
.export-select {
|
|
64
|
+
flex: 1 1 auto;
|
|
65
|
+
min-width: 0;
|
|
66
|
+
font-size: var(--type-md);
|
|
67
|
+
line-height: var(--leading-md);
|
|
68
|
+
border-radius: var(--radius-tab);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.export-audio {
|
|
72
|
+
display: flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
gap: var(--space-4);
|
|
75
|
+
min-width: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.export-audio-hint {
|
|
79
|
+
color: var(--ink-3);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* The quiet notes (a capability, an omitted transition, a render's warning).
|
|
83
|
+
Dim rather than alarming: each says why the file differs from the
|
|
84
|
+
timeline, and none of them is a failure. */
|
|
85
|
+
.export-note {
|
|
86
|
+
margin: 0;
|
|
87
|
+
color: var(--ink-3);
|
|
88
|
+
line-height: var(--leading-body);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* THE ESTIMATE IS A HAIRLINE BLOCK, not a filled tile: the same label column
|
|
92
|
+
as the rows above it, between two strong lines. */
|
|
93
|
+
.export-estimate {
|
|
94
|
+
display: grid;
|
|
95
|
+
grid-template-columns: 96px minmax(0, 1fr);
|
|
96
|
+
gap: var(--space-4) var(--space-7);
|
|
97
|
+
margin: 0;
|
|
98
|
+
padding-block: var(--space-7);
|
|
99
|
+
border-block: 1px solid var(--line-strong);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.export-estimate dt {
|
|
103
|
+
color: var(--ink-2);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.export-estimate dd {
|
|
107
|
+
margin: 0;
|
|
108
|
+
min-width: 0;
|
|
109
|
+
font-weight: var(--weight-medium);
|
|
110
|
+
color: var(--ink-1);
|
|
111
|
+
font-variant-numeric: var(--numeric);
|
|
112
|
+
/* Wraps rather than clips. The range strings are the whole value of the
|
|
113
|
+
row, and half a range is a wrong number rather than a short one. */
|
|
114
|
+
overflow-wrap: anywhere;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* The card's slot is the dialog's polite live region (ExportDialog.tsx), so
|
|
118
|
+
it is in the DOM even with no card. Empty, it would still cost one 16px
|
|
119
|
+
flex gap under the estimate; the negative margin hands that gap back. */
|
|
120
|
+
.export-outcome-slot {
|
|
121
|
+
display: flex;
|
|
122
|
+
flex-direction: column;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.export-outcome-slot:empty {
|
|
126
|
+
margin-block-start: calc(-1 * var(--space-7));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* ONE OUTCOME CARD: rendering, saved, cancelled or failed. Sunken, so it
|
|
130
|
+
reads as the dialog's report rather than as another control. */
|
|
131
|
+
.export-outcome {
|
|
132
|
+
display: flex;
|
|
133
|
+
flex-direction: column;
|
|
134
|
+
gap: var(--space-6);
|
|
135
|
+
padding: var(--space-7);
|
|
136
|
+
background: var(--surface-sunken);
|
|
137
|
+
border: 1px solid var(--line-strong);
|
|
138
|
+
border-radius: var(--radius-tab);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.export-outcome-head {
|
|
142
|
+
display: flex;
|
|
143
|
+
align-items: center;
|
|
144
|
+
justify-content: space-between;
|
|
145
|
+
gap: var(--space-6);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.export-outcome-title {
|
|
149
|
+
font-weight: var(--weight-medium);
|
|
150
|
+
color: var(--ink-1);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Blue is a signal: the one live state takes the accent ink, and a finished
|
|
154
|
+
run (failed included) stays ink. */
|
|
155
|
+
.export-outcome.is-rendering .export-outcome-title {
|
|
156
|
+
color: var(--accent-ink);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/* The card's Cancel: a `.btn` at the 28px control height with the smaller
|
|
160
|
+
corner, so it sits inside the card's padding rather than crowding it. */
|
|
161
|
+
.export-outcome-cancel {
|
|
162
|
+
flex: none;
|
|
163
|
+
height: var(--control-h);
|
|
164
|
+
border-radius: var(--radius-sm);
|
|
165
|
+
font-weight: var(--weight-regular);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.export-outcome-copy {
|
|
169
|
+
margin: 0;
|
|
170
|
+
color: var(--ink-2);
|
|
171
|
+
overflow-wrap: anywhere;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* The UA's marker triangle takes neither a token colour nor Paper's 12px, so
|
|
175
|
+
the summary draws its own chevron and hides the marker in both engines. */
|
|
176
|
+
.export-log summary {
|
|
177
|
+
display: inline-flex;
|
|
178
|
+
align-items: center;
|
|
179
|
+
gap: var(--space-4);
|
|
180
|
+
color: var(--ink-1);
|
|
181
|
+
cursor: pointer;
|
|
182
|
+
list-style: none;
|
|
183
|
+
border-radius: var(--radius-xs);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.export-log summary::-webkit-details-marker {
|
|
187
|
+
display: none;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.export-log summary:focus-visible {
|
|
191
|
+
outline: none;
|
|
192
|
+
box-shadow: var(--focus-ring);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.export-log-chevron {
|
|
196
|
+
flex: none;
|
|
197
|
+
width: 12px;
|
|
198
|
+
height: 12px;
|
|
199
|
+
fill: none;
|
|
200
|
+
stroke: var(--ink-2);
|
|
201
|
+
stroke-width: 1.5;
|
|
202
|
+
stroke-linecap: round;
|
|
203
|
+
stroke-linejoin: round;
|
|
204
|
+
transition: transform var(--dur-fast) var(--ease);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.export-log[open] .export-log-chevron {
|
|
208
|
+
transform: rotate(180deg);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.export-log pre {
|
|
212
|
+
max-height: 180px;
|
|
213
|
+
margin: var(--space-4) 0 0;
|
|
214
|
+
padding: var(--space-4) var(--space-5);
|
|
215
|
+
overflow: auto;
|
|
216
|
+
color: var(--ink-2);
|
|
217
|
+
font: var(--type-micro)/var(--leading-none) var(--font-mono);
|
|
218
|
+
line-height: var(--leading-body);
|
|
219
|
+
white-space: pre-wrap;
|
|
220
|
+
word-break: break-word;
|
|
221
|
+
background: var(--fill-rest);
|
|
222
|
+
border-radius: var(--radius-sm);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* ---- the manual and the material picker ----------------------------------
|
|
226
|
+
The WIDTH GOES ON THE DIALOG, not on its body: widening the body only
|
|
227
|
+
overflows the box and clips its contents.
|
|
228
|
+
|
|
229
|
+
The manual: a shortcut row is a sentence plus a kbd on ONE line, and at
|
|
230
|
+
the shared 320px every one of the fifty-six wraps.
|
|
231
|
+
`.dialog-body` already carries `overflow: auto; min-height: 0`, so the
|
|
232
|
+
max-height is what makes the long reference scroll inside the dialog rather
|
|
233
|
+
than off the bottom of the viewport. */
|
|
234
|
+
.dialog.shot-help-dialog {
|
|
235
|
+
width: 560px;
|
|
236
|
+
max-height: 80vh;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/* The saved video's two actions under the Saved line (hosted only). */
|
|
240
|
+
.export-share-links {
|
|
241
|
+
display: flex;
|
|
242
|
+
gap: var(--space-7);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/* Preferences (gap 5, Paper "PreferencesDialog / dark"): 500 wide, a section
|
|
246
|
+
per hairline, a label and hint on the left of each row and its control on
|
|
247
|
+
the right. Built on the wide dialog for its close X, with its own padding. */
|
|
248
|
+
.dialog.is-wide.prefs-dialog {
|
|
249
|
+
width: 500px;
|
|
250
|
+
max-height: 80vh;
|
|
251
|
+
gap: var(--space-4);
|
|
252
|
+
padding: var(--space-7) var(--space-8);
|
|
253
|
+
}
|
|
254
|
+
.dialog.is-wide.prefs-dialog .dialog-title {
|
|
255
|
+
font-size: var(--type-title);
|
|
256
|
+
}
|
|
257
|
+
.dialog.is-wide.prefs-dialog .dialog-close {
|
|
258
|
+
top: var(--space-6);
|
|
259
|
+
right: var(--space-7);
|
|
260
|
+
}
|
|
261
|
+
.prefs-title {
|
|
262
|
+
display: inline-flex;
|
|
263
|
+
align-items: center;
|
|
264
|
+
gap: var(--space-4);
|
|
265
|
+
}
|
|
266
|
+
.prefs-kbd {
|
|
267
|
+
font: inherit;
|
|
268
|
+
font-size: var(--type-micro);
|
|
269
|
+
font-weight: var(--weight-regular);
|
|
270
|
+
color: var(--ink-3);
|
|
271
|
+
background: var(--fill-state-soft);
|
|
272
|
+
border-radius: var(--radius-xs);
|
|
273
|
+
padding: var(--space-1) var(--space-3);
|
|
274
|
+
}
|
|
275
|
+
.prefs-body {
|
|
276
|
+
display: flex;
|
|
277
|
+
flex-direction: column;
|
|
278
|
+
}
|
|
279
|
+
.prefs-section {
|
|
280
|
+
display: flex;
|
|
281
|
+
flex-direction: column;
|
|
282
|
+
padding: var(--space-4) 0 var(--space-2);
|
|
283
|
+
border-top: 1px solid var(--line);
|
|
284
|
+
}
|
|
285
|
+
.prefs-section-label {
|
|
286
|
+
padding-bottom: var(--space-2);
|
|
287
|
+
font-size: var(--type-sm);
|
|
288
|
+
font-weight: var(--weight-semibold);
|
|
289
|
+
color: var(--ink-2);
|
|
290
|
+
}
|
|
291
|
+
.prefs-row {
|
|
292
|
+
display: flex;
|
|
293
|
+
align-items: center;
|
|
294
|
+
justify-content: space-between;
|
|
295
|
+
gap: var(--space-6);
|
|
296
|
+
min-height: calc(var(--control-h) + var(--space-3));
|
|
297
|
+
padding: var(--space-2) 0;
|
|
298
|
+
}
|
|
299
|
+
.prefs-row-text {
|
|
300
|
+
display: flex;
|
|
301
|
+
flex-direction: column;
|
|
302
|
+
gap: var(--space-1);
|
|
303
|
+
min-width: 0;
|
|
304
|
+
}
|
|
305
|
+
.prefs-row-label {
|
|
306
|
+
font-size: var(--type-md);
|
|
307
|
+
color: var(--ink-1);
|
|
308
|
+
}
|
|
309
|
+
.prefs-row-hint {
|
|
310
|
+
font-size: var(--type-sm);
|
|
311
|
+
color: var(--ink-3);
|
|
312
|
+
}
|
|
313
|
+
.prefs-row-control {
|
|
314
|
+
flex: none;
|
|
315
|
+
}
|
|
316
|
+
/* Equal chips sized to the LONGEST label. The shared track splits a
|
|
317
|
+
content-sized width with `flex: 1 1 0`, which clipped "When they fit"
|
|
318
|
+
whenever "Off" held the semibold weight. */
|
|
319
|
+
.prefs-row-control .segmented {
|
|
320
|
+
display: inline-grid;
|
|
321
|
+
grid-auto-flow: column;
|
|
322
|
+
grid-auto-columns: 1fr;
|
|
323
|
+
}
|
|
324
|
+
.dialog.prefs-dialog .dialog-actions {
|
|
325
|
+
justify-content: space-between;
|
|
326
|
+
padding-top: var(--space-6);
|
|
327
|
+
border-top: 1px solid var(--line);
|
|
328
|
+
}
|
|
329
|
+
.prefs-footnote {
|
|
330
|
+
font-size: var(--type-sm);
|
|
331
|
+
color: var(--ink-3);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* "THE STORYBOARD IS READY": an agent's question (AgentQuestionDialog.tsx).
|
|
335
|
+
The summary is the agent's lines, drawn as text: kept as written, wrapped,
|
|
336
|
+
and scrolled past a few lines so the actions stay in view. */
|
|
337
|
+
.agent-question-summary {
|
|
338
|
+
max-height: 240px;
|
|
339
|
+
margin: 0;
|
|
340
|
+
overflow: auto;
|
|
341
|
+
padding: var(--space-4);
|
|
342
|
+
font-family: var(--font-sans);
|
|
343
|
+
font-size: var(--type-sm);
|
|
344
|
+
color: var(--ink-1);
|
|
345
|
+
white-space: pre-wrap;
|
|
346
|
+
overflow-wrap: anywhere;
|
|
347
|
+
background: var(--surface-secondary);
|
|
348
|
+
border: 1px solid var(--line);
|
|
349
|
+
border-radius: var(--radius-sm);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.agent-question-who {
|
|
353
|
+
margin: 0;
|
|
354
|
+
font-size: var(--type-sm);
|
|
355
|
+
color: var(--ink-3);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.agent-question-stale {
|
|
359
|
+
margin: 0;
|
|
360
|
+
font-size: var(--type-sm);
|
|
361
|
+
color: var(--warn);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.agent-question-note {
|
|
365
|
+
resize: none;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/* The credits an export owes (v49): the note, then the exact lines, which
|
|
369
|
+
are copied as they are, so they wrap but never reflow into one line. */
|
|
370
|
+
.export-credits {
|
|
371
|
+
display: flex;
|
|
372
|
+
flex-direction: column;
|
|
373
|
+
gap: var(--space-4);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.export-credits-text {
|
|
377
|
+
margin: 0;
|
|
378
|
+
max-height: 120px;
|
|
379
|
+
overflow-y: auto;
|
|
380
|
+
padding: var(--space-4);
|
|
381
|
+
font-family: inherit;
|
|
382
|
+
font-size: var(--type-md);
|
|
383
|
+
line-height: var(--leading-sm);
|
|
384
|
+
color: var(--ink-2);
|
|
385
|
+
white-space: pre-wrap;
|
|
386
|
+
overflow-wrap: anywhere;
|
|
387
|
+
background: var(--surface-well);
|
|
388
|
+
border: 1px solid var(--line);
|
|
389
|
+
border-radius: var(--radius-sm);
|
|
390
|
+
}
|