@mavea/mavea 1.2.0 → 2.0.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/CHANGELOG.md +96 -0
- package/PRIVACY.md +1 -0
- package/README.md +8 -4
- package/TERMS.md +1 -1
- package/THIRD-PARTY.txt +13 -5
- package/bin/mavea.mjs +143 -2
- package/dist/.vite/manifest.json +1473 -861
- package/dist/assets/AnnotationLayer-Cccb12ps.js +0 -0
- package/dist/assets/{AppCommandPalette-BHaYBZ5e.js → AppCommandPalette-DdOPNZ0e.js} +1 -1
- package/dist/assets/AtlasView-B7yObdf8.css +1 -0
- package/dist/assets/{AtlasView-B82UfrEX.js → AtlasView-DO_p0TdZ.js} +1 -1
- package/dist/assets/BriefingPlayer-DHV4vMga.css +1 -0
- package/dist/assets/{CadenceCard-P4teI7Se.js → CadenceCard-DxceyiPA.js} +1 -1
- package/dist/assets/{CanvasSkeleton-CRGWlafo.js → CanvasSkeleton-BmGjJHUQ.js} +1 -1
- package/dist/assets/CanvasSkeleton-DYASkTjW.css +1 -0
- package/dist/assets/CardEditor-CiAfT78z.css +1 -0
- package/dist/assets/{CardEditor-DABIhGdQ.js → CardEditor-D4slxmIM.js} +1 -1
- package/dist/assets/{CheckLogRail-DkHIHL0E.js → CheckLogRail-BibJTid0.js} +1 -1
- package/dist/assets/ConversationVideoStudio-CSO3jHXD.css +1 -0
- package/dist/assets/ConversationVideoStudio-DMIPUCcq.js +1 -0
- package/dist/assets/CourseLessonReader-D29Kix4f.js +2 -0
- package/dist/assets/{CourseRail-DXt3bzjU.js → CourseRail-BQmUsG6v.js} +1 -1
- package/dist/assets/CoursesApp-DcDsS_ZS.js +2 -0
- package/dist/assets/CrossExamPanel-BafTqkbf.css +1 -0
- package/dist/assets/{DashPresent-5SRScC2i.js → DashPresent-BDWgO9am.js} +1 -1
- package/dist/assets/DashboardDetail-BrnAdWfy.js +2 -0
- package/dist/assets/DashboardLoopGate-NxMcQ4rD.js +2 -0
- package/dist/assets/DashboardLoopRuntime-Dsy9u1wa.js +1 -0
- package/dist/assets/{DashboardSettings-CE0B2y2y.js → DashboardSettings-DJon1Q4o.js} +1 -1
- package/dist/assets/DashboardsApp-DxyMn3x_.js +2 -0
- package/dist/assets/DeepZoomApp-CVwmnRGN.css +1 -0
- package/dist/assets/{DeepZoomApp-BOLEl-kQ.js → DeepZoomApp-nNjqoyYE.js} +1 -1
- package/dist/assets/DelegatePanel-D17XvWYd.css +1 -0
- package/dist/assets/DelegatePanel-DN_ZL0j7.js +33 -0
- package/dist/assets/DemoGallery-DrSlMsnu.js +1 -0
- package/dist/assets/{DropSelect-DilESAgA.css → DropSelect-B4lqCEjw.css} +1 -1
- package/dist/assets/{DropSelect-DjbdVfIR.js → DropSelect-GwIXHA5o.js} +1 -1
- package/dist/assets/{ExportModal-CLobMv1F.js → ExportModal-DBUjC71U.js} +1 -1
- package/dist/assets/{ExtractionPreview-QZ2VHmsb.js → ExtractionPreview-D4M6eXqb.js} +1 -1
- package/dist/assets/{FeatureUseNotice-Dc8joBGM.js → FeatureUseNotice-Bda9jr3W.js} +1 -1
- package/dist/assets/{FlagshipCommandPalette-DnWuBjYI.js → FlagshipCommandPalette-DAO849RC.js} +1 -1
- package/dist/assets/FlagshipShowcase-g2x-1c70.js +1 -0
- package/dist/assets/{FlashcardsApp-BQGM-Tr1.js → FlashcardsApp-BUKzCr65.js} +1 -1
- package/dist/assets/ForecastPanel-Cq_yDhNQ.css +1 -0
- package/dist/assets/GalleryApp-ot_A7ZF-.js +1 -0
- package/dist/assets/{HonestByDesign-57LDf-gm.js → HonestByDesign-DgZFEpEx.js} +1 -1
- package/dist/assets/{HowItWorks-DMfPX3GK.js → HowItWorks-DPFpdeGE.js} +1 -1
- package/dist/assets/{LegalApp-CcO5Qq6R.js → LegalApp-C56kWdmK.js} +1 -1
- package/dist/assets/{LegalMarkdownDocument-Be_fQbZ_.js → LegalMarkdownDocument-BBTHuW_M.js} +1 -1
- package/dist/assets/{LegalPageShell-B-HY1WG7.js → LegalPageShell-hMA-7JLf.js} +1 -1
- package/dist/assets/LeverPanel-HOEwIr8k.css +1 -0
- package/dist/assets/{Library-DmdzY2se.js → Library-CVj7R6F4.js} +1 -1
- package/dist/assets/LibraryOverlay-BkPYm0Bs.css +1 -0
- package/dist/assets/{LibraryOverlay-BilW6q_z.js → LibraryOverlay-DSUWcUe4.js} +1 -1
- package/dist/assets/LiveApp-B62EMybC.js +79 -0
- package/dist/assets/LiveApp-CziqEsOb.css +1 -0
- package/dist/assets/LiveSettings-BITIaMoT.js +6 -0
- package/dist/assets/LiveSettings-Dho0OxlM.css +1 -0
- package/dist/assets/{MindMapViewerDrawer-DI_S7fRZ.js → MindMapViewerDrawer-CKdJtHno.js} +1 -1
- package/dist/assets/MindShape-B3lg_z4X.js +1 -0
- package/dist/assets/MindShape-CozR9W8M.css +1 -0
- package/dist/assets/{PinToDashboard-Cz5UJCmq.js → PinToDashboard-DpQjBLPa.js} +1 -1
- package/dist/assets/{PlanReview-CmUxzNqL.js → PlanReview-CrTbmMAd.js} +1 -1
- package/dist/assets/PresentationDeck-CfYadu9V.js +1 -0
- package/dist/assets/PrismApp-bRKK_3JA.js +2 -0
- package/dist/assets/PrismAskController-68gbUO5u.css +1 -0
- package/dist/assets/{PrismAskController-Bt0k9hAA.js → PrismAskController-C4MuB8om.js} +1 -1
- package/dist/assets/{PrismBriefingPlayer-DzdtnFj4.js → PrismBriefingPlayer-ChJj6hSS.js} +2 -2
- package/dist/assets/PrismOverlay-BwnF4BEn.css +1 -0
- package/dist/assets/{PrismOverlay-D1cDZamt.js → PrismOverlay-Pp6ZKmTc.js} +4 -4
- package/dist/assets/{PrismWorkbench-BEIp4MiL.js → PrismWorkbench-BCV7r4Oa.js} +1 -1
- package/dist/assets/{PrivacyApp-B4DT2RUz.js → PrivacyApp-A2Bu6LVd.js} +2 -1
- package/dist/assets/{Recap-T9DtFaEk.js → Recap-BOl3SUh0.js} +1 -1
- package/dist/assets/Recap-D3NlzM1p.css +1 -0
- package/dist/assets/{ReplayCard-Dx46HCBT.js → ReplayCard-B6NYiYzQ.js} +2 -2
- package/dist/assets/{ReplayOverlay-CnJAxf0u.js → ReplayOverlay-BJKtJ-vc.js} +1 -1
- package/dist/assets/{RewindOverlay-CousnxXo.js → RewindOverlay-BO7YgDsW.js} +1 -1
- package/dist/assets/RippleApp-BXt7tenS.js +2 -0
- package/dist/assets/{RippleAskController-9SxpZnHX.js → RippleAskController-BzdwYcYY.js} +1 -1
- package/dist/assets/RippleOverlay-B3hg2KMN.css +1 -0
- package/dist/assets/RippleOverlay-BSxubBwj.js +6 -0
- package/dist/assets/SeeDontRead-0He5hS2C.js +1 -0
- package/dist/assets/ShareModal-I_sxHKLv.css +1 -0
- package/dist/assets/ShareModal-xYdZWJxy.js +2 -0
- package/dist/assets/{ShipCourse-BavQppkt.js → ShipCourse-Dg6kCWyH.js} +1 -1
- package/dist/assets/{SignatureLoop-L8W2h62w.js → SignatureLoop-QPwB2oNN.js} +1 -1
- package/dist/assets/SrsReview-DmBcJCMa.css +1 -0
- package/dist/assets/{SrsReview-DhWNYYv7.js → SrsReview-Gr6Y0QTQ.js} +1 -1
- package/dist/assets/{SynthesisApp-C2O6pFeM.js → SynthesisApp-DrCq6NDa.js} +2 -2
- package/dist/assets/{SynthesisOverlay-DLvwiSMv.js → SynthesisOverlay-DCa-2Pz_.js} +1 -1
- package/dist/assets/{TermsApp-CxY1yorm.js → TermsApp-zcPDYfuh.js} +2 -2
- package/dist/assets/TopicCanvas-Bw4bMFpe.js +2 -0
- package/dist/assets/TopicCanvas-DWTm611H.css +1 -0
- package/dist/assets/{TourPrism-CI-iJZil.js → TourPrism-DbinDupp.js} +1 -1
- package/dist/assets/{TrackerTile-oz6IoG8m.js → TrackerTile-CrT9u1I4.js} +2 -2
- package/dist/assets/{TwoSurfaces-Rnf-_WgY.js → TwoSurfaces-L0CDuyOZ.js} +1 -1
- package/dist/assets/WhyMachineOverlay-Rav-cuMm.css +1 -0
- package/dist/assets/WorldOverlay-BcjqG1BR.js +2 -0
- package/dist/assets/{WowFeatures-C4efSbNV.js → WowFeatures-CwBk4ZMO.js} +1 -1
- package/dist/assets/ZoomDeck-DdLNsrHV.css +1 -0
- package/dist/assets/{ZoomDeck-CBrr0yfy.js → ZoomDeck-DlnesweX.js} +1 -1
- package/dist/assets/{annotationAuto-CDv6Es44.js → annotationAuto-B2UdfJNj.js} +1 -1
- package/dist/assets/{backup-ZrlVatXc.js → backup-685QrAjt.js} +1 -1
- package/dist/assets/canvas-C3O7MEA3.js +1 -0
- package/dist/assets/capture-DgJLQ_0-.js +2 -0
- package/dist/assets/{chapters-Dqm4iLDa.js → chapters-CIvdCeBC.js} +1 -1
- package/dist/assets/{confirmAdd-DzMO9jKV.js → confirmAdd-CZ829Mbx.js} +1 -1
- package/dist/assets/{dashboardEvents-DKl5rrTD.js → dashboardEvents-CiayRLrH.js} +1 -1
- package/dist/assets/dashboards-Cvs28p3Z.css +1 -0
- package/dist/assets/deepen-DAeHHFiI.js +11 -0
- package/dist/assets/deepenStore-BWLLzLCY.js +1 -0
- package/dist/assets/effort-jJe4iMIq.js +39 -0
- package/dist/assets/{explode-BgZIWY9m.js → explode-CPnvJiTg.js} +1 -1
- package/dist/assets/{fitText-DQ2omSN0.js → fitText-DHbmSS-q.js} +1 -1
- package/dist/assets/{generate-Dl2EJ_SR.js → generate-COfYQFmT.js} +4 -4
- package/dist/assets/{generateBeats-DZHkvFvh.js → generateBeats-COflu5Zi.js} +1 -1
- package/dist/assets/{generateCourse-C9qvaJRo.js → generateCourse-BldPpgdh.js} +1 -1
- package/dist/assets/generateLive-DGwnpIip.js +24 -0
- package/dist/assets/homeTarget-CwFsJYwb.js +1 -0
- package/dist/assets/index-BIUYTk1W.css +1 -0
- package/dist/assets/index-LiHcEJt_.js +22 -0
- package/dist/assets/kokoro-DXRj0KQX.js +1 -0
- package/dist/assets/ledger-BssK9Pv2.js +1 -0
- package/dist/assets/{lib-DMAxsZKm.css → lib-DP9Kuxqk.css} +1 -1
- package/dist/assets/{liveSchema-B4bQtO88.js → liveSchema-DyfND6P2.js} +2 -2
- package/dist/assets/{loader-DKJEcbPm.js → loader-DgMLGfAC.js} +2 -2
- package/dist/assets/localBudget-CxLP6bjE.js +1 -0
- package/dist/assets/{mastery-CUfDeuqO.js → mastery-DB5qpRAy.js} +1 -1
- package/dist/assets/{media-BvwzACIX.js → media-VLRh6CX2.js} +2 -2
- package/dist/assets/{model-BFRTN9Eh.js → model-CAewjw45.js} +1 -1
- package/dist/assets/{neighborhoods-D7QjURnE.js → neighborhoods-CqECCmo8.js} +1 -1
- package/dist/assets/{notes-B0-EE0FK.js → notes-DzIAEESd.js} +1 -1
- package/dist/assets/pen-DtEW1xf4.js +24 -0
- package/dist/assets/{perfProbe-B9zJpjo9.js → perfProbe-ezVn1mOu.js} +1 -1
- package/dist/assets/{pin-CZAIlpXt.js → pin-BPGVDgnq.js} +1 -1
- package/dist/assets/pin-BXyyKnci.css +1 -0
- package/dist/assets/{planTracker-KKAtTBWs.js → planTracker-BwoKEftp.js} +1 -1
- package/dist/assets/portal-B9DmFo6J.js +1 -0
- package/dist/assets/{prewarm-B4ELBOxf.js → prewarm-BgUqAJbF.js} +1 -1
- package/dist/assets/providers-0DthJW_I.js +1 -0
- package/dist/assets/quietHours-DyynzDyC.js +1 -0
- package/dist/assets/{ready-jtAUOb62.js → ready-yBSGJubb.js} +1 -1
- package/dist/assets/{registry-CqhpLHM7.js → registry-7tKTrzeZ.js} +1 -1
- package/dist/assets/{registry-BFrgx1tE.js → registry-B53EEn8S.js} +1 -1
- package/dist/assets/{registry-CPiwQhAm.js → registry-BDXwUn3i.js} +1 -1
- package/dist/assets/{registry-CD1s3eQ-.js → registry-BJEvFgoL.js} +1 -1
- package/dist/assets/{registry-B0GIHERt.js → registry-BQzvA61G.js} +1 -1
- package/dist/assets/{registry-6DGRAB1m.js → registry-BT6ydF33.js} +1 -1
- package/dist/assets/{registry-D8O0apUT.js → registry-BdHj_oIs.js} +1 -1
- package/dist/assets/{registry-Dru0JcTa.css → registry-BgWzEkxc.css} +1 -1
- package/dist/assets/{registry-Vp8VuMV0.js → registry-Bl2qfp5V.js} +1 -1
- package/dist/assets/registry-Bl7zAWKt.js +2 -0
- package/dist/assets/{registry-6MOD-I7p.js → registry-BlujNlQJ.js} +1 -1
- package/dist/assets/{registry-C28gYnVq.js → registry-CE1T0z9x.js} +1 -1
- package/dist/assets/{registry-4mMEt1Xy.css → registry-CEV5h2cu.css} +1 -1
- package/dist/assets/{registry-ZOWzhOHk.css → registry-CGB0jkFI.css} +1 -1
- package/dist/assets/{registry-BFbfXK-W.js → registry-Cgo4C0ux.js} +1 -1
- package/dist/assets/registry-CwRTUk0R.js +1 -0
- package/dist/assets/{registry-GeAC3ZD7.js → registry-D06LKiUk.js} +1 -1
- package/dist/assets/registry-Dbe9TQPw.css +1 -0
- package/dist/assets/registry-Diyud3DF.js +1 -0
- package/dist/assets/registry-DjvftnY2.css +1 -0
- package/dist/assets/{registry-w4R6c89s.js → registry-KRYoVMCh.js} +1 -1
- package/dist/assets/registry-QbArAJKB.js +1 -0
- package/dist/assets/registry-dmR14XnY.css +1 -0
- package/dist/assets/registry-g2sBcIrf.css +1 -0
- package/dist/assets/{registry-CcOO8UZr.js → registry-qRfnKTt4.js} +1 -1
- package/dist/assets/{relate-BYdM5eiV.js → relate-aQFFr11O.js} +1 -1
- package/dist/assets/{replay-TYXO0Brm.js → replay-CalqEgdW.js} +1 -1
- package/dist/assets/route-CMdTFx0P.js +1 -0
- package/dist/assets/{run-Df10YPyB.js → run-CuHaB8wF.js} +1 -1
- package/dist/assets/{run-gmqUaxcL.js → run-CwMSPOps.js} +1 -1
- package/dist/assets/{run-DlvA3l28.js → run-DCQrxgHA.js} +1 -1
- package/dist/assets/select-wEtBn9U6.js +3 -0
- package/dist/assets/shapes-BwoDrn09.js +1 -0
- package/dist/assets/shard000-Bx6Nmt0m.js +1 -0
- package/dist/assets/shard001-CL6O9SLr.js +1 -0
- package/dist/assets/shard002-vLQ0Ss-O.js +1 -0
- package/dist/assets/shard003-kKZdpzuh.js +1 -0
- package/dist/assets/shard004-CdVohAu1.js +1 -0
- package/dist/assets/shard005-CMzF_uJB.js +1 -0
- package/dist/assets/shard006-DQoDWuoN.js +1 -0
- package/dist/assets/shard007-Ck0N0IUk.js +1 -0
- package/dist/assets/shard008-Dt395x0Q.js +1 -0
- package/dist/assets/shard009-D_z8Lhqh.js +1 -0
- package/dist/assets/shard010-CQfR6lnk.js +1 -0
- package/dist/assets/shard011-l-w2t2Ie.js +1 -0
- package/dist/assets/shard012-BTw_UO1C.js +1 -0
- package/dist/assets/shard013-D8ZjKKYb.js +1 -0
- package/dist/assets/shard014-Cth_76It.js +1 -0
- package/dist/assets/shard015-DdYJVsHx.js +1 -0
- package/dist/assets/shard016-BdlBf9uZ.js +1 -0
- package/dist/assets/shard017-C3HTxh6t.js +1 -0
- package/dist/assets/shard018-Mf4wvqVk.js +1 -0
- package/dist/assets/shard019-Dpcy1Arx.js +1 -0
- package/dist/assets/shard020-BNvKfQld.js +1 -0
- package/dist/assets/shard021-D0kpI_PQ.js +1 -0
- package/dist/assets/shard022-Cjms7kAe.js +1 -0
- package/dist/assets/shard023-Bdwci7fy.js +1 -0
- package/dist/assets/shard024-BBoyPtpP.js +1 -0
- package/dist/assets/shard025-lMGpgN_0.js +3 -0
- package/dist/assets/shard026-Bp3UVI4_.js +1 -0
- package/dist/assets/shard027-C4HTpdeT.js +1 -0
- package/dist/assets/shard028-BsFTH3Sf.js +1 -0
- package/dist/assets/shard029-B3dEcXPy.js +1 -0
- package/dist/assets/shard030-DWwA-fNs.js +5 -0
- package/dist/assets/shard031-RhqA_0nH.js +1 -0
- package/dist/assets/shard032-BlZdG1Yi.js +1 -0
- package/dist/assets/shard033-Dmx2lOjI.js +1 -0
- package/dist/assets/shard034-BLOFKJT4.js +1 -0
- package/dist/assets/shard035-DMXdH733.js +1 -0
- package/dist/assets/shard036-DzOiEn23.js +1 -0
- package/dist/assets/shard037-BcHfVaYM.js +1 -0
- package/dist/assets/shard038-KozOx-Jh.js +1 -0
- package/dist/assets/shard039-apdILQwC.js +1 -0
- package/dist/assets/shard040-BrNXGaBi.js +1 -0
- package/dist/assets/shard041-D6eq9h1u.js +4 -0
- package/dist/assets/shard042-M-L34DbY.js +1 -0
- package/dist/assets/shard043-Ct6_C2pN.js +1 -0
- package/dist/assets/shard044-Bo0iaVHx.js +1 -0
- package/dist/assets/shard045-9ccZ4Y_N.js +1 -0
- package/dist/assets/shard046-eXoP478L.js +1 -0
- package/dist/assets/shard047-N56r6Lsz.js +1 -0
- package/dist/assets/shard048-BeKX7cI8.js +1 -0
- package/dist/assets/shard049-hPaNN2sL.js +1 -0
- package/dist/assets/shard050-B-YpP0B6.js +1 -0
- package/dist/assets/shard051-Bww5_KB2.js +1 -0
- package/dist/assets/shard052-DErwF8Df.js +1 -0
- package/dist/assets/shard053-C-qGH4jz.js +1 -0
- package/dist/assets/shard054-kcSxZrSj.js +1 -0
- package/dist/assets/shard055-CsETBTqa.js +1 -0
- package/dist/assets/shard056-CdBR4qTC.js +1 -0
- package/dist/assets/shard057-yRUG8B9e.js +1 -0
- package/dist/assets/shard058-DeDAnECG.js +1 -0
- package/dist/assets/shard059-Dh6jbDnW.js +1 -0
- package/dist/assets/shard060-B5kpWrhW.js +1 -0
- package/dist/assets/shard061-BTnj5LZA.js +1 -0
- package/dist/assets/shard062-DC7LTaNc.js +1 -0
- package/dist/assets/shard063-C8SIGCfd.js +1 -0
- package/dist/assets/shard064-DLyASocW.js +1 -0
- package/dist/assets/shard065-Cy_yV4ry.js +1 -0
- package/dist/assets/shard066-BmjVQqFX.js +1 -0
- package/dist/assets/shard067-uZUJsqtF.js +1 -0
- package/dist/assets/shard068-CXVjyJU4.js +1 -0
- package/dist/assets/shard069-CyfmjAm-.js +4 -0
- package/dist/assets/shard070-CxN3xiuY.js +12 -0
- package/dist/assets/shard071-CP1WrYC-.js +1 -0
- package/dist/assets/shard072-D6L5Yr05.js +1 -0
- package/dist/assets/shard073-DFEzkwg2.js +1 -0
- package/dist/assets/shard074-BSv3rvRL.js +1 -0
- package/dist/assets/shard075-Bt0OjGVd.js +1 -0
- package/dist/assets/shard076-DZHs0uzd.js +1 -0
- package/dist/assets/{share-kW3pZ027.js → share--tpc1nLE.js} +1 -1
- package/dist/assets/speed-BOytg6bC.js +1 -0
- package/dist/assets/store-B2Rpbqgg.js +1 -0
- package/dist/assets/store-Ba9vzL4H.js +1 -0
- package/dist/assets/store-BwyOArJl.js +1 -0
- package/dist/assets/store-ruEsXJjU.js +1 -0
- package/dist/assets/streamParse-BX0bAppQ.js +2 -0
- package/dist/assets/{templates-DHeyJ32F.css → templates-BIkAr4YH.css} +1 -1
- package/dist/assets/{theme-7IrMJ70_.js → theme-D5D55hZi.js} +1 -1
- package/dist/assets/{threads-Cu2t3070.js → threads-DNfxMTwx.js} +1 -1
- package/dist/assets/{useDashboardLoop-DDqCFJKY.js → useDashboardLoop-ifcuVRo-.js} +3 -3
- package/dist/assets/{useDashboards-SRk8LqHe.js → useDashboards-lgQnk2Al.js} +1 -1
- package/dist/assets/useFocusTrap-CJmpNZv2.js +1 -0
- package/dist/assets/useInView-DsTvv7L_.js +1 -0
- package/dist/assets/useInterval-DDgFrel2.js +1 -0
- package/dist/assets/{useLiveConfig-Cpy0_E_-.js → useLiveConfig-B4CmBiAK.js} +1 -1
- package/dist/assets/useStudy-CySgE3Cx.js +1 -0
- package/dist/assets/{walkSync-CPsd-xu7.js → walkSync-DBne70gg.js} +1 -1
- package/dist/demo-assets/CREDITS.md +94 -50
- package/dist/demo-assets/images/arnel-lighthouse.avif +0 -0
- package/dist/demo-assets/images/cliff-fields.avif +0 -0
- package/dist/demo-assets/images/crater-panorama.avif +0 -0
- package/dist/demo-assets/images/furnas-lake.avif +0 -0
- package/dist/demo-assets/images/green-coast-raw.avif +0 -0
- package/dist/demo-assets/images/green-coast.avif +0 -0
- package/dist/demo-assets/images/island-coast-poster.avif +0 -0
- package/dist/demo-assets/images/nordeste-town.avif +0 -0
- package/dist/demo-assets/images/sea-cliffs.avif +0 -0
- package/dist/demo-assets/images/sete-cidades.avif +0 -0
- package/dist/demo-assets/images/tea-terraces.avif +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/island-coast.webm +0 -0
- package/dist/fonts/fonts.css +18 -0
- package/dist/index.html +38 -10
- package/dist/legal/PRIVACY.md +1 -0
- package/dist/legal/TERMS.md +1 -1
- package/dist/legal/THIRD-PARTY.txt +13 -5
- package/package.json +3 -2
- package/dist/assets/AnnotationLayer-qV6CIUZv.js +0 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +0 -1
- package/dist/assets/BriefingPlayer-TpFZB77N.css +0 -1
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +0 -1
- package/dist/assets/CardEditor-BY1bZiV6.css +0 -1
- package/dist/assets/ConversationVideoStudio-C1sd4k53.js +0 -1
- package/dist/assets/ConversationVideoStudio-CIAMxElj.css +0 -1
- package/dist/assets/CourseLessonReader-YCcNKEW7.js +0 -2
- package/dist/assets/CoursesApp-Dz6xjf4V.js +0 -2
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +0 -1
- package/dist/assets/DashboardDetail-DOfm8UCQ.js +0 -2
- package/dist/assets/DashboardLoopGate-Cf0y_HQ7.js +0 -2
- package/dist/assets/DashboardLoopRuntime-CnN5VayH.js +0 -1
- package/dist/assets/DashboardsApp-_gbfdbX6.js +0 -2
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +0 -1
- package/dist/assets/DelegatePanel-CHEB-OZl.js +0 -33
- package/dist/assets/DelegatePanel-Cf85-0qE.css +0 -1
- package/dist/assets/DemoGallery-DBqnu8TR.js +0 -1
- package/dist/assets/FlagshipShowcase-3qQDOK6g.js +0 -1
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +0 -1
- package/dist/assets/GalleryApp-BWQ-J450.js +0 -1
- package/dist/assets/LeverPanel-DhpJY76O.css +0 -1
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +0 -1
- package/dist/assets/LiveApp-C-OPBybd.css +0 -1
- package/dist/assets/LiveApp-DH3OxJFV.js +0 -79
- package/dist/assets/LiveSettings-CmgrMqvK.css +0 -1
- package/dist/assets/LiveSettings-CuVMy7rZ.js +0 -6
- package/dist/assets/MindShape-C_Bo9hW9.js +0 -1
- package/dist/assets/MindShape-CaPeUo-a.css +0 -1
- package/dist/assets/PresentationDeck-B_EI33Pp.js +0 -1
- package/dist/assets/PrismApp-DtLsPiQF.js +0 -2
- package/dist/assets/PrismAskController-DBoxQSJR.css +0 -1
- package/dist/assets/PrismOverlay-BTfAicBt.css +0 -1
- package/dist/assets/Recap-DCiiWNiV.css +0 -1
- package/dist/assets/RippleApp-D5j2VCt2.js +0 -2
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +0 -1
- package/dist/assets/RippleOverlay-zcXAHPuJ.js +0 -6
- package/dist/assets/SeeDontRead-Dqfzha0V.js +0 -1
- package/dist/assets/ShareModal-D1QuQEko.css +0 -1
- package/dist/assets/ShareModal-DWxlrJSz.js +0 -2
- package/dist/assets/SrsReview-B1B2VekR.css +0 -1
- package/dist/assets/TopicCanvas-LMI0zC7R.js +0 -2
- package/dist/assets/TopicCanvas-uRuHi99s.css +0 -1
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +0 -1
- package/dist/assets/WorldOverlay-BaQNNClA.js +0 -2
- package/dist/assets/ZoomDeck-B2SjNwY7.css +0 -1
- package/dist/assets/canvas-Bsx3eSaS.js +0 -1
- package/dist/assets/capture-D8uPIcfj.js +0 -2
- package/dist/assets/dashboards-C1u2ks-d.css +0 -1
- package/dist/assets/generateLive-B6purd69.js +0 -51
- package/dist/assets/homeTarget-CsO8nY7z.js +0 -1
- package/dist/assets/index-Dk0QapqQ.js +0 -22
- package/dist/assets/index-DmKgC_TJ.css +0 -1
- package/dist/assets/kokoro-P_fkcX-A.js +0 -1
- package/dist/assets/layout-CEoNLr-w.js +0 -1
- package/dist/assets/pageVisibility-BxUVsw7Z.js +0 -1
- package/dist/assets/pen-DNMslo3e.js +0 -24
- package/dist/assets/pin-D-4Zjiik.css +0 -1
- package/dist/assets/portal-Dogggsub.js +0 -1
- package/dist/assets/providers-BovElgRL.js +0 -1
- package/dist/assets/quietHours-CeBje_uU.js +0 -1
- package/dist/assets/registry-BSX3aFUw.js +0 -1
- package/dist/assets/registry-Bv1f5UU4.js +0 -2
- package/dist/assets/registry-Cse2wF7x.css +0 -1
- package/dist/assets/registry-Dye5m3qt.css +0 -1
- package/dist/assets/registry-GeSy4i7R.css +0 -1
- package/dist/assets/registry-WHd1PwU3.js +0 -1
- package/dist/assets/registry-Xl8mAnKq.js +0 -1
- package/dist/assets/registry-tkd3UhWn.css +0 -1
- package/dist/assets/shapes-Cx5SCKgj.js +0 -39
- package/dist/assets/speed-K5_Ebj-8.js +0 -1
- package/dist/assets/store-BfHRbVKz.js +0 -1
- package/dist/assets/store-CsjDEADX.js +0 -1
- package/dist/assets/store-DpObYU1u.js +0 -1
- package/dist/assets/store-gohr8YVT.js +0 -1
- package/dist/assets/streamParse-B-Gjwa9T.js +0 -2
- package/dist/assets/useFocusTrap-DBtkeyRy.js +0 -1
- package/dist/assets/useInView-CXTOAEV3.js +0 -1
- package/dist/assets/useStudy-GwNcQWtv.js +0 -1
- package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
- package/dist/demo-assets/images/capelinhos.jpg +0 -0
- package/dist/demo-assets/images/cliff-fields.jpg +0 -0
- package/dist/demo-assets/images/crater-panorama.jpg +0 -0
- package/dist/demo-assets/images/furnas-lake.jpg +0 -0
- package/dist/demo-assets/images/green-coast.jpg +0 -0
- package/dist/demo-assets/images/overcast-coast.jpg +0 -0
- package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
- package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
- package/dist/demo-assets/images/sete-cidades.jpg +0 -0
- package/dist/demo-assets/images/village-street.jpg +0 -0
- package/dist/demo-assets/video/azores-film.webm +0 -0
- /package/dist/assets/{BriefingPlayer-C0D_2ILa.js → BriefingPlayer-74mRKyjl.js} +0 -0
- /package/dist/assets/{CrossExamPanel-CdIYUu-B.js → CrossExamPanel-BfeGr5iw.js} +0 -0
- /package/dist/assets/{ForecastPanel-zPUh2ClQ.js → ForecastPanel-OfW39WGS.js} +0 -0
- /package/dist/assets/{LeverPanel-D1SNRGdm.js → LeverPanel-vco5UK2U.js} +0 -0
- /package/dist/assets/{WhyMachineOverlay-ks9-rRiL.js → WhyMachineOverlay-D2K7y8SA.js} +0 -0
- /package/dist/assets/{lib-B7OE1ZQQ.js → lib-u95BsX_B.js} +0 -0
- /package/dist/assets/{registry-7poQfBaM.js → registry-C4Yh05pk.js} +0 -0
- /package/dist/assets/{registry-Daypk4uR.js → registry-S3j4OpCH.js} +0 -0
|
@@ -1,41 +1,80 @@
|
|
|
1
1
|
# Demo asset credits & licenses
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
commercial
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
3
|
+
Every third-party file bundled here is **CC0 or public domain** — free for commercial and
|
|
4
|
+
non-commercial use, with no conditions and nothing to comply with. Licences that merely _permit_
|
|
5
|
+
commercial use while attaching conditions (Pexels, Unsplash, Pixabay, and every CC-BY / CC-BY-SA
|
|
6
|
+
variant) are deliberately out of scope for bundled media: these files sit in a public repository as
|
|
7
|
+
individually downloadable originals, so anything short of an unconditional dedication would leave a
|
|
8
|
+
grey area for whoever forks it. Sources and creators are recorded below even though CC0 requires no
|
|
9
|
+
attribution — someone made these, and provenance is the point of this file. This review does not
|
|
10
|
+
grant or warrant separate publicity, privacy, trademark, property, or other depicted-subject
|
|
11
|
+
rights; avoid implying endorsement and review the intended use.
|
|
12
|
+
|
|
13
|
+
## Images — Wikimedia Commons, CC0 1.0 (public-domain dedication)
|
|
14
|
+
|
|
15
|
+
Nine photographs from a São Miguel set of 1,100 CC0 images by **Jan Helebrant**, plus one
|
|
16
|
+
derivative and one video still. Commons licenses per file, never per uploader, so each file was
|
|
17
|
+
verified individually against the Commons API rather than a search result. The query and the two
|
|
18
|
+
fields that decide it:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
https://commons.wikimedia.org/w/api.php?action=query&prop=imageinfo&iiprop=url|extmetadata|size&format=json&titles=File:NAME
|
|
22
|
+
|
|
23
|
+
"LicenseShortName": { "value": "CC0" }
|
|
24
|
+
"UsageTerms": { "value": "Creative Commons Zero, Public Domain Dedication" }
|
|
25
|
+
"AttributionRequired": { "value": "false" }
|
|
26
|
+
"LicenseUrl": { "value": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" }
|
|
27
|
+
"Artist": { "value": "Jan Helebrant" }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
All nine returned exactly that on 2026-08-17; none of the source pages requests credit as a
|
|
31
|
+
courtesy, so nothing here is owed and nothing was asked. The photographer's own site,
|
|
32
|
+
<https://www.juhele.blogspot.com>, is named in each file's Commons description.
|
|
33
|
+
|
|
34
|
+
| File | Commons source | Creator | License | Subject |
|
|
35
|
+
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------- | ----------------------------------------------------------------------- |
|
|
36
|
+
| `images/sete-cidades.avif` | [2019-05-25 12-42-52](https://commons.wikimedia.org/wiki/File:2019-05-25_12-42-52_PT_Sao_Miguel_JHe_K70_%2854538191001%29.jpg) | Jan Helebrant | CC0 | Lagoa das Sete Cidades from the Vista do Rei viewpoint |
|
|
37
|
+
| `images/furnas-lake.avif` | [2019-05-19 13-39-35](https://commons.wikimedia.org/wiki/File:2019-05-19_13-39-35_PT_Sao_Miguel_JHe_K70_%2854397682824%29.jpg) | Jan Helebrant | CC0 | Lagoa das Furnas from the Pico do Ferro walk |
|
|
38
|
+
| `images/green-coast.avif` | [2019-05-22 16-43-56](https://commons.wikimedia.org/wiki/File:2019-05-22_16-43-56_PT_Sao_Miguel_JHe_K70_%2854461960435%29.jpg) | Jan Helebrant | CC0 | Hydrangeas along the rail at the Ponta do Sossego viewpoint |
|
|
39
|
+
| `images/green-coast-raw.avif` | derivative of `images/green-coast.avif` — same frame, see the note below | Jan Helebrant | CC0 | The same hydrangea frame, flattened and cooled |
|
|
40
|
+
| `images/tea-terraces.avif` | [2019-05-26 17-16-10](https://commons.wikimedia.org/wiki/File:2019-05-26_17-16-10_PT_Sao_Miguel_JHe_K70_%2854585544624%29.jpg) | Jan Helebrant | CC0 | Chá Gorreana tea plantation, Ribeira Grande |
|
|
41
|
+
| `images/cliff-fields.avif` | [2019-05-22 17-24-41](https://commons.wikimedia.org/wiki/File:2019-05-22_17-24-41_PT_Sao_Miguel_JHe_K70_%2854453890482%29.jpg) | Jan Helebrant | CC0 | Sea cliff with fields on the rim, on the walk to Farol do Arnel |
|
|
42
|
+
| `images/sea-cliffs.avif` | [2019-05-22 17-30-04](https://commons.wikimedia.org/wiki/File:2019-05-22_17-30-04_PT_Sao_Miguel_JHe_K70_%2854454747141%29.jpg) | Jan Helebrant | CC0 | Sea cliff and waterfall, on the walk to Farol do Arnel |
|
|
43
|
+
| `images/crater-panorama.avif` | [2019-05-23 16-27-26](https://commons.wikimedia.org/wiki/File:2019-05-23_16-27-26_PT_Sao_Miguel_JHe_K70_%2854488051545%29.jpg) | Jan Helebrant | CC0 | Lagoa do Fogo, the caldera lake |
|
|
44
|
+
| `images/arnel-lighthouse.avif` | [2019-05-22 17-27-37](https://commons.wikimedia.org/wiki/File:2019-05-22_17-27-37_PT_Sao_Miguel_JHe_K70_%2854454928979%29.jpg) | Jan Helebrant | CC0 | The red lantern of Farol do Arnel above the sea (cropped to 16:10) |
|
|
45
|
+
| `images/nordeste-town.avif` | [2019-05-22 18-08-34](https://commons.wikimedia.org/wiki/File:2019-05-22_18-08-34_PT_Sao_Miguel_JHe_K70_%2854452142621%29.jpg) | Jan Helebrant | CC0 | Nordeste, the church and the street under a grey sky |
|
|
46
|
+
| `images/island-coast-poster.avif` | still frame from `video/island-coast.webm` (row below) | Blervis | CC0 | The video's own poster frame, so the poster shows the actual first shot |
|
|
47
|
+
|
|
48
|
+
**The derived RAW half.** `green-coast-raw.avif` is not a second photograph. It is
|
|
49
|
+
`green-coast.avif` — the identical CC0 frame — put through a deterministic flatten-and-cool pass
|
|
50
|
+
(55% luminance mix toward grey, contrast × 0.82 about mid-grey, channel gains R 0.94 / G 0.99 /
|
|
51
|
+
B 1.09, then × 0.93 + 14 to lift the blacks) so the `beforeafter` block genuinely shows one scene
|
|
52
|
+
ungraded beside itself graded, instead of two unrelated photographs pretending to be a grade. CC0
|
|
53
|
+
permits derivatives without condition; the transform is recorded here so a future reader does not
|
|
54
|
+
mistake it for another source.
|
|
55
|
+
|
|
56
|
+
## Video — Wikimedia Commons, CC0 1.0 (public-domain dedication)
|
|
57
|
+
|
|
58
|
+
There is no CC0 or public-domain video of the Azores at usable quality — every Azores clip on
|
|
59
|
+
Commons is CC-BY or CC-BY-SA, and the only public-domain ones are NOAA satellite weather loops. So
|
|
60
|
+
the film plate is honest about being a coastal plate and claims no location: a remote-island
|
|
61
|
+
shoreline that carries the same register as the story, with the demo's own labels rewritten so
|
|
62
|
+
nothing asserts it is São Miguel.
|
|
63
|
+
|
|
64
|
+
| File | Commons source | Creator | License | Subject |
|
|
65
|
+
| ------------------------- | ----------------------------------------------------------------------------------------------- | ------- | ------- | -------------------------------------------------------------------------------------------------------- |
|
|
66
|
+
| `video/island-coast.webm` | [Santa Rosa Island Waves](https://commons.wikimedia.org/wiki/File:Santa_Rosa_Island_Waves.webm) | Blervis | CC0 | Sea cliffs and surf near Lobo Canyon, Santa Rosa Island, Channel Islands National Park, California, 2023 |
|
|
67
|
+
|
|
68
|
+
Verified the same way, on 2026-08-17: `LicenseShortName: CC0`, `UsageTerms: Creative Commons Zero,
|
|
69
|
+
Public Domain Dedication`, `AttributionRequired: false`. The Commons original is a 21-minute
|
|
70
|
+
1920×1080 locked-off shot (386 MB); what ships is a 20.2-second cut of it, re-encoded to 854×480
|
|
71
|
+
VP9/Opus (1.43 MB) — smaller than the file it replaces at a higher resolution.
|
|
33
72
|
|
|
34
73
|
## PDF — Public domain (work of the U.S. Government)
|
|
35
74
|
|
|
36
|
-
| File | Source
|
|
37
|
-
| -------------------- |
|
|
38
|
-
| `pdf/cfd-primer.pdf` | NASA NTRS, document ID 19950004435 — _"Computational Fluid Dynamics Uses in Fluid Dynamics/Aerodynamics Education"_ |
|
|
75
|
+
| File | Source | Notes |
|
|
76
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
77
|
+
| `pdf/cfd-primer.pdf` | NASA NTRS, document ID 19950004435 — _"Computational Fluid Dynamics Uses in Fluid Dynamics/Aerodynamics Education"_ (NASA TM 108834, Terry L. Holst, Ames, July 1994) | The **complete** 14-page U.S. Government work, references included; NASA records it as "Public Use Permitted." <https://ntrs.nasa.gov/citations/19950004435> — used factually, with no implication of NASA endorsement. It ships complete on purpose: NASA warns that its documents can embed third-party material its own use does not license onward, and the reference list is what lets a reader check that. Checked 2026-08-17 — the figures are the author's own renderings of published DATA ("approximated from"/"taken from" refs 1-8, three of which are Holst's own papers), and the document carries no "reprinted with permission", "courtesy of", or copyright line anywhere, which AIAA and IEEE both require when a paper reproduces someone else's figure. |
|
|
39
78
|
|
|
40
79
|
## First-party — original Mavéa assets (no external source)
|
|
41
80
|
|
|
@@ -62,24 +101,29 @@ fails on any baked remote media URL that has not been reviewed and listed there.
|
|
|
62
101
|
|
|
63
102
|
## Integrity manifest
|
|
64
103
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
104
|
+
On August 17, 2026 every bundled photo and the video were replaced: the originals were licensed
|
|
105
|
+
under terms that permit commercial use but attach conditions, and the repository is public, so the
|
|
106
|
+
files were swapped for CC0/public-domain equivalents verified from the primary source. Photos come
|
|
107
|
+
from the Commons original at width 1600, downscaled to 1200 px on the long edge (`sips -Z 1200`)
|
|
108
|
+
and encoded with `sips -s format avif -s formatOptions 60` — the project's method, unchanged. Bundled
|
|
109
|
+
media went from 3,065,049 to 3,698,811 bytes (+21%), the growth being detail the previous
|
|
110
|
+
already-compressed sources had lost. The hashes below pin the exact bytes covered by this record;
|
|
111
|
+
replacing a file requires a new source and licence review.
|
|
68
112
|
|
|
69
113
|
```text
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
114
|
+
2c2870ababb88cdf18174ec4c5dce03aef0d75d7a0ca17f5ce8e6d55142891a6 images/arnel-lighthouse.avif
|
|
115
|
+
53a7c9b71f15367a74d594a9552d52a82ad1b8e60cc3023f149b9976812180ef images/cliff-fields.avif
|
|
116
|
+
c4bb8246c82b068c94b6821e8a67f28259803d3ca4c3bcc29423377d4ea60936 images/crater-panorama.avif
|
|
117
|
+
250a54851df3801e2f54ff706b401322b1429c61afb1f60d3b56735325aad528 images/furnas-lake.avif
|
|
118
|
+
0579b86656498168b393be28802b729ad3d2ef2616471f24302cb19f83a7da60 images/green-coast.avif
|
|
119
|
+
2a3273675b9eb8b4dad745ecbbc48c00247914b6af89e8b113c1891ec3dd63dd images/green-coast-raw.avif
|
|
120
|
+
fab83506e2ecffb4a60383025712ededa4cb5753c2d2491ea9c37263fa5bcb65 images/island-coast-poster.avif
|
|
121
|
+
1e94bbe07b13cb279576f8ec295cc35eee5c9f6a211ef92667e1f864cb90cdae images/nordeste-town.avif
|
|
122
|
+
15206126ee42dc60308145a5ac915f20b57d42ac819e6c8ff7f06db1a01497ba images/sea-cliffs.avif
|
|
123
|
+
13969f02ba364eed8c33f8010b32b6022cf07a3db21618dd2ccd180e2d43d4d3 images/sete-cidades.avif
|
|
124
|
+
f25be18c5016bc54968b3f7789a3e0ef1cbb3da76c211e13aa8efd43860a8e95 images/tea-terraces.avif
|
|
125
|
+
6d86f3f74ea247a3ce4c322fe986f2ad43a177cf345b00b5a999f22019b53f08 video/island-coast.webm
|
|
126
|
+
525ef1dc7f681f1d423731da9221244fdc7ecc8822a404f3ab4f272a002501a5 pdf/cfd-primer.pdf
|
|
83
127
|
2f129598caae4154e2bf4e9396ebe375aac5412a0af4c525f9af4a0c1019095a images/slide-placeholder-light.svg
|
|
84
128
|
4eb299f59439acfdd6ebc4ed30dbfe8a65428215cec661b131e420e964ce6d59 images/slide-placeholder.svg
|
|
85
129
|
```
|
|
@@ -87,5 +131,5 @@ b0581aec85088ab0782c12c18130aee5ed5767444631edc4274bd40ef2ab0d94 images/sete-ci
|
|
|
87
131
|
## Where they're used
|
|
88
132
|
|
|
89
133
|
- **`creative`** (the Azores photo-story) — images across the moodboard, carousel, lightbox, before/after,
|
|
90
|
-
image-callouts and the `photo` frame; `
|
|
134
|
+
image-callouts and the `photo` frame; `island-coast.webm` in the videoembed.
|
|
91
135
|
- **`compsci`** (the simulation run) — `cfd-primer.pdf` embedded in the `pdfreader` as the real reference.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/fonts/fonts.css
CHANGED
|
@@ -61,6 +61,24 @@
|
|
|
61
61
|
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
62
62
|
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
63
63
|
}
|
|
64
|
+
/* Local fallback that occupies Newsreader's box while its 276 KB variable file is still in
|
|
65
|
+
* flight (font-display: swap paints this immediately, then swaps — no preload, see
|
|
66
|
+
* tests/eager-bundle.test.ts). Georgia is the system font --font-display already falls back to,
|
|
67
|
+
* so this doesn't add a new visual identity, just gives the fallback Newsreader's own vertical
|
|
68
|
+
* metrics and average glyph width so the swap lands with (near) zero reflow instead of one.
|
|
69
|
+
* Values measured from the real files (fonttools ttx on newsreader-var-latin.woff2's OS/2/hhea
|
|
70
|
+
* tables and macOS's Georgia.ttf, both read at their own unitsPerEm) with the standard
|
|
71
|
+
* size-adjust technique: size-adjust equalizes the two fonts' xAvgCharWidth, then ascent/descent/
|
|
72
|
+
* line-gap are divided by that same factor so, once the browser reapplies size-adjust, the
|
|
73
|
+
* result lands back on Newsreader's own ascent/descent/line-gap. */
|
|
74
|
+
@font-face {
|
|
75
|
+
font-family: 'Newsreader Fallback';
|
|
76
|
+
src: local('Georgia');
|
|
77
|
+
size-adjust: 123.54%;
|
|
78
|
+
ascent-override: 59.5%;
|
|
79
|
+
descent-override: 21.45%;
|
|
80
|
+
line-gap-override: 0%;
|
|
81
|
+
}
|
|
64
82
|
|
|
65
83
|
@font-face {
|
|
66
84
|
font-family: 'Lora';
|
package/dist/index.html
CHANGED
|
@@ -51,12 +51,14 @@
|
|
|
51
51
|
machine sees Mavéa's pulsing orb instead of a blank white page while the bundle downloads
|
|
52
52
|
and parses. Root() removes #boot on its first commit (src/main.tsx); if the bundle never
|
|
53
53
|
arrives the splash simply stays, which beats a blank page. The CSP above allows inline
|
|
54
|
-
STYLE but no inline script, so this block is the only boot-time styling possible
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
STYLE but no inline script, so this block is the only boot-time styling possible — the
|
|
55
|
+
stored theme choice (localStorage, src/lib/theme.ts) can't be read before that first
|
|
56
|
+
paint either. Colors are literals because no token CSS has loaded yet; each mirrors its
|
|
57
|
+
token: #f3f5fb = light --surface-default (light-theme.css — light is the documented
|
|
58
|
+
startup default, theme.ts, and <html> above carries data-theme="light" so this paints
|
|
59
|
+
correctly before any script runs), #0a0e15 = dark --surface-default (tokens-base.css),
|
|
60
|
+
#6e8cff = --presence. The orb copies SurfaceFallback's (rootBoundary.css) exactly, so the
|
|
61
|
+
splash → React hand-off is invisible. -->
|
|
60
62
|
<style>
|
|
61
63
|
#boot {
|
|
62
64
|
position: fixed;
|
|
@@ -67,11 +69,37 @@
|
|
|
67
69
|
justify-content: center;
|
|
68
70
|
background: var(--surface-default, #f3f5fb);
|
|
69
71
|
}
|
|
72
|
+
/* Pre-mount guess for a returning dark-mode reader: with no inline script to consult
|
|
73
|
+
localStorage before this first paint, prefers-color-scheme is the only theme signal CSS
|
|
74
|
+
has that early, so it stands in for "the stored choice is dark" (the two correlate for
|
|
75
|
+
the overwhelming majority of readers — this app's toggle doesn't otherwise follow system
|
|
76
|
+
preference, see theme.ts). The plain #boot selector here is deliberately LESS specific
|
|
77
|
+
than the :root[data-theme='dark'] rule below, so the instant applyTheme stamps a
|
|
78
|
+
confirmed dark choice onto <html> (module scope, before React renders) that rule takes
|
|
79
|
+
over with no discontinuity — same color either side of the handoff. A reader whose
|
|
80
|
+
*explicit* choice is light while their system sits in dark mode is the one case this
|
|
81
|
+
guess gets wrong; <html> ships data-theme="light" statically (below) so that value is
|
|
82
|
+
indistinguishable, pre-boot, from a real confirmed choice — there's no way to tell "not
|
|
83
|
+
yet known" from "explicitly light" without the inline script the CSP forbids. That
|
|
84
|
+
reader sees the dark guess for the short module-eval window before Root() removes #boot,
|
|
85
|
+
never longer. */
|
|
86
|
+
@media (prefers-color-scheme: dark) {
|
|
87
|
+
#boot {
|
|
88
|
+
background: var(--surface-default, #0a0e15);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
70
91
|
/* applyTheme stamps data-theme at module scope, before React renders — a returning DARK
|
|
71
92
|
reader is corrected the instant the bundle executes, not at first paint. */
|
|
72
93
|
:root[data-theme='dark'] #boot {
|
|
73
94
|
background: var(--surface-default, #0a0e15);
|
|
74
95
|
}
|
|
96
|
+
/* …and it also stamps data-theme-resolved, which is what tells a REAL light choice apart
|
|
97
|
+
from the static default above. The moment it lands, the guess above is overruled — so the
|
|
98
|
+
reader who keeps a light app on a dark system sees the guess only until the bundle
|
|
99
|
+
executes, and never after. */
|
|
100
|
+
:root[data-theme-resolved][data-theme='light'] #boot {
|
|
101
|
+
background: var(--surface-default, #f3f5fb);
|
|
102
|
+
}
|
|
75
103
|
.boot-orb {
|
|
76
104
|
width: 28px;
|
|
77
105
|
height: 28px;
|
|
@@ -102,19 +130,19 @@
|
|
|
102
130
|
}
|
|
103
131
|
}
|
|
104
132
|
</style>
|
|
105
|
-
<script type="module" crossorigin src="/assets/index-
|
|
133
|
+
<script type="module" crossorigin src="/assets/index-LiHcEJt_.js"></script>
|
|
106
134
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DkW27tQK.js">
|
|
107
135
|
<link rel="modulepreload" crossorigin href="/assets/react-BZJXY1be.js">
|
|
108
136
|
<link rel="modulepreload" crossorigin href="/assets/compiler-runtime-qQQXpJgv.js">
|
|
109
|
-
<link rel="modulepreload" crossorigin href="/assets/useInView-
|
|
137
|
+
<link rel="modulepreload" crossorigin href="/assets/useInView-DsTvv7L_.js">
|
|
110
138
|
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DeHZSEgm.js">
|
|
111
139
|
<link rel="modulepreload" crossorigin href="/assets/coreIcons-DDTChE1H.js">
|
|
112
140
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-CiWYd9n-.js">
|
|
113
141
|
<link rel="modulepreload" crossorigin href="/assets/cachedImport-DW0gP14h.js">
|
|
114
142
|
<link rel="modulepreload" crossorigin href="/assets/lazyRetry-D50B1UMY.js">
|
|
115
143
|
<link rel="modulepreload" crossorigin href="/assets/preloadableLazy-MIX1ApBW.js">
|
|
116
|
-
<link rel="modulepreload" crossorigin href="/assets/theme-
|
|
117
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
144
|
+
<link rel="modulepreload" crossorigin href="/assets/theme-D5D55hZi.js">
|
|
145
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BIUYTk1W.css">
|
|
118
146
|
</head>
|
|
119
147
|
<body>
|
|
120
148
|
<div id="boot" role="status" aria-busy="true" aria-label="Loading Mavéa">
|
package/dist/legal/PRIVACY.md
CHANGED
|
@@ -25,6 +25,7 @@ Depending on the features you use, browser storage may contain:
|
|
|
25
25
|
- drafts, tracked items, presentation settings, and recent feature state;
|
|
26
26
|
- provider and model configuration;
|
|
27
27
|
- remembered provider, search, or optional GitHub credentials;
|
|
28
|
+
- a short-lived cache of recent questions and the answers to them, kept on the device so that asking the same thing again does not bill your key a second time; it expires within a day, and it deliberately excludes any answer that drew on attachments, ink, filled-in blanks, cited sources, or your remembered facts;
|
|
28
29
|
- temporary in-progress and finished video-export files in origin-private browser storage until the export is consumed or discarded; and
|
|
29
30
|
- short-lived demo, tour, route, and in-progress session data.
|
|
30
31
|
|
package/dist/legal/TERMS.md
CHANGED
|
@@ -40,7 +40,7 @@ Mavéa can communicate with model, search, speech, media, hosting, OAuth, and ac
|
|
|
40
40
|
|
|
41
41
|
You provide and control your own accounts, API keys, OAuth grants, and other credentials. Requests send relevant credentials and content through the deployment's same-origin proxy before reaching the selected third party. The proxy operator can access that material in transit. You must use a deployment operator you trust.
|
|
42
42
|
|
|
43
|
-
All costs of using the Service are your responsibility, including hardware, electricity, network access, hosting, domains, model tokens, search requests, speech services, storage, OAuth applications, connected-account activity, taxes, and any other third-party charges. Labels such as "fast", "balanced", or "thorough" are relative product descriptions, not price quotes or spending limits. You are responsible for provider budgets, quotas, and billing alerts.
|
|
43
|
+
All costs of using the Service are your responsibility, including hardware, electricity, network access, hosting, domains, model tokens, search requests, speech services, storage, OAuth applications, connected-account activity, taxes, and any other third-party charges. Labels such as "fast", "balanced", or "thorough" are relative product descriptions, not price quotes or spending limits. Any token counts or usage figures the Service displays are informational only: they report what a provider stated for the current session in this browser, are not a billing record, and may be incomplete, unavailable, or wrong — your provider's own account is the authoritative measure of what you were charged. You are responsible for provider budgets, quotas, and billing alerts.
|
|
44
44
|
|
|
45
45
|
The repository's container definitions can be used with compatible container engines, but the engine or desktop application you choose is separate software. In particular, Docker Desktop is not free for every commercial organization under Docker's current subscription terms. You are responsible for selecting and licensing your development, build, hosting, and container tools; Mavéa does not grant rights in them.
|
|
46
46
|
|
|
@@ -25244,7 +25244,9 @@ whisper.cpp v1.9.1 MIT https://github.com/ggml-org/whisper.cpp
|
|
|
25244
25244
|
Whisper small.en-q5_1 MIT https://huggingface.co/ggerganov/whisper.cpp
|
|
25245
25245
|
(local STT model; downloaded into a local volume and verified by SHA-256 before execution)
|
|
25246
25246
|
Self-hosted fonts OFL-1.1 public/fonts/LICENSE.txt carries exact notices; OFL-1.1.txt carries the full license; PROVENANCE.md pins every shipped file
|
|
25247
|
-
Demonstration media
|
|
25247
|
+
Demonstration media CC0-1.0 / NASA public domain see public/demo-assets/CREDITS.md
|
|
25248
|
+
(bundled demo photos and the film plate are Wikimedia Commons CC0 dedications, verified per file
|
|
25249
|
+
against the Commons API; the embedded report is a complete work of the US Government)
|
|
25248
25250
|
Map rendering MapLibre GL JS (BSD-3-Clause) https://maplibre.org/maplibre-gl-js/
|
|
25249
25251
|
Map tiles OpenFreeMap public service / MIT server https://openfreemap.org/
|
|
25250
25252
|
(terms reviewed 2026-08-11 currently permit commercial use without request fees; attribution remains
|
|
@@ -25255,12 +25257,18 @@ PDF image decoders BSD-3-Clause / BSD-2-Clause / MIT https://github.com/mozilla/
|
|
|
25255
25257
|
(jbig2.wasm from PDFium, openjpeg.wasm from OpenJPEG, and qcms_bg.wasm from Mozilla's qcms,
|
|
25256
25258
|
redistributed via pdfjs-dist and served from dist/pdfjs/ so a scanned page renders; each carries
|
|
25257
25259
|
its upstream notice beside it as dist/pdfjs/LICENSE_*)
|
|
25258
|
-
Syntax-highlighting grammars & themes MIT
|
|
25259
|
-
(TextMate grammars and GitHub themes redistributed via @shikijs/langs / @shikijs/themes
|
|
25260
|
-
|
|
25260
|
+
Syntax-highlighting grammars & themes MIT, plus the textmate.org grant for yaml/toml https://github.com/shikijs/textmate-grammars-themes
|
|
25261
|
+
(25 TextMate grammars and the two GitHub themes redistributed via @shikijs/langs / @shikijs/themes.
|
|
25262
|
+
Resolved per grammar against that repository's tm-grammars / tm-themes metadata, 2026-08-17: 23 are
|
|
25263
|
+
MIT — 20 from microsoft/vscode, swift from jtbandes/swift-tmlanguage, kotlin from fwcd/vscode-kotlin,
|
|
25264
|
+
both themes from primer/github-vscode-theme. yaml and toml come from textmate/yaml.tmbundle and
|
|
25265
|
+
textmate/toml.tmbundle, which carry no SPDX tag but state in their bundle README: "Permission to
|
|
25266
|
+
copy, use, modify, sell and distribute this software is granted." That is an unrestricted permissive
|
|
25267
|
+
grant with no attribution clause; it is recorded here because an automated license scan reads it as
|
|
25268
|
+
null, not because anything about it is unresolved)
|
|
25261
25269
|
Embedded tour documents per-document, see below src/tour/corpus/prism.generated.json
|
|
25262
25270
|
(byte-for-byte copies embedded for the key-free tour's document-reading chapter; each license
|
|
25263
25271
|
permits redistribution with this notice)
|
|
25264
|
-
NASA CFD education report
|
|
25272
|
+
NASA CFD education report (complete, 14pp) US-government work, public use permitted https://ntrs.nasa.gov/citations/19950004435
|
|
25265
25273
|
react/README.md MIT https://github.com/facebook/react
|
|
25266
25274
|
cars.json + seattle-weather.csv BSD-3-Clause https://github.com/vega/vega-datasets
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mavea/mavea",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Mavéa — an AI Presence interface. Talk to AI. See what it means.",
|
|
6
6
|
"keywords": [
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"access": "public",
|
|
51
51
|
"provenance": true,
|
|
52
52
|
"engines": {
|
|
53
|
-
"node": ">=
|
|
53
|
+
"node": ">=22.12"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"homepage": "https://github.com/TryMaveaAI/mavea#readme",
|
|
@@ -104,6 +104,7 @@
|
|
|
104
104
|
"gen:gallery-fixtures": "node --import tsx scripts/generate-gallery-fixtures.mjs --write",
|
|
105
105
|
"check:gallery-fixtures": "node --import tsx scripts/generate-gallery-fixtures.mjs",
|
|
106
106
|
"gen:catalog": "node --import tsx scripts/generate-catalog-index.mts",
|
|
107
|
+
"gen:examples": "node --import tsx scripts/generate-example-shards.mts",
|
|
107
108
|
"audit:reel": "node --import tsx scripts/reel-audit.mts",
|
|
108
109
|
"slides:gate": "node --import tsx scripts/slide-gate.mts",
|
|
109
110
|
"export:gate": "node --import tsx scripts/export-gate.mts",
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.atlas-scrim{z-index:52;background:rgba(var(--scrim-rgb), .72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:2.5vh 2.5vw;display:flex;position:fixed;inset:0}.atlas-panel{border-radius:var(--r-xl);width:min(1700px,100%);height:95vh;box-shadow:var(--shadow-modal);color:#e7e8ef;background:#14151b;border:1px solid #2a2c36;flex-direction:column;display:flex;overflow:hidden}.atlas-scrim[data-expanded=true]{padding:0}.atlas-scrim[data-expanded=true] .atlas-panel{border:none;border-radius:0;width:100%;height:100%}.atlas-head{background:#14151b;border-bottom:1px solid #24262f;align-items:center;gap:16px;padding:14px 20px;display:flex}.atlas-crumbs{align-items:center;gap:12px;min-width:0;display:flex}.atlas-back{border-radius:var(--r-full);color:#9aa0b4;font-family:var(--font-data);letter-spacing:.1em;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #2e3039;align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:600;display:inline-flex}.atlas-back:hover{color:#e7e8ef;border-color:#3a3d49}.atlas-title-wrap{align-items:baseline;gap:12px;min-width:0;display:flex}.atlas-title{color:#f2f2f6;white-space:nowrap;margin:0;font-size:16px;font-weight:700}.atlas-meta{font-family:var(--font-data);letter-spacing:.04em;color:#6e7390;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.atlas-head-search{display:contents}.atlas-fly{width:min(320px,38%);margin-left:auto;position:relative}.atlas-fly-input{border-radius:var(--r-full);color:#e7e8ef;width:100%;font:inherit;background:#ffffff0d;border:1px solid #2e3039;padding:7px 14px;font-size:12px}.atlas-fly-input::placeholder{color:#7e8294}.atlas-fly-input:focus-visible{outline:2px solid var(--presence);outline-offset:1px}.atlas-fly-matches{z-index:12;border-radius:var(--r-md);box-shadow:var(--shadow-floating);background:#1c1e27;border:1px solid #2e3039;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0}.atlas-fly-match{border-radius:var(--r-sm);cursor:pointer;text-align:left;color:#b6bccb;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;font-size:12.5px;display:flex}.atlas-fly-match:hover{color:#f2f2f6;background:#ffffff0f}.atlas-fly-match-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.atlas-fly-match-ago{font-family:var(--font-data);color:#6e7390;flex:none;font-size:10px}.atlas-tour{border-radius:var(--r-full);background:var(--presence);color:#fff;font:inherit;cursor:pointer;box-shadow:0 4px 14px var(--glow-presence);border:none;flex:none;align-items:center;gap:7px;padding:8px 16px;font-size:12px;font-weight:600;display:inline-flex}.atlas-tour:hover{filter:brightness(1.08)}.atlas-close{color:#7e8294;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:50%;flex:none;width:30px;height:30px;font-size:13px;line-height:1}.atlas-close:hover{color:#f2f2f6;border-color:#3a3d49}@media (width<=768px){.atlas-head{flex-wrap:wrap;row-gap:10px}.atlas-head-search{flex:100%;order:1;align-items:center;gap:10px;display:flex}.atlas-fly{flex:auto;width:auto;min-width:0;margin-left:0}.atlas-tour{flex:none}}.atlas-viewport{cursor:grab;touch-action:none;background:radial-gradient(90% 80% at 50% 42%,#1c1e27 0%,#131419 70%,#0e0f13 100%);flex:1;position:relative;overflow:hidden}.atlas-viewport.is-panning{cursor:grabbing}.atlas-viewport.is-panning .atlas-hood{pointer-events:none}.atlas-empty{text-align:center;color:#8c90a0;place-items:center;margin:0;padding:0 18%;font-size:14px;line-height:1.6;display:grid;position:absolute;inset:0}.atlas-stars{pointer-events:none;z-index:0;position:absolute;inset:0}.atlas-star{opacity:.4;animation:atlas-twinkle var(--tw-dur,3s) ease-in-out var(--tw-delay,0s) infinite;background:#fff;border-radius:50%;position:absolute}@keyframes atlas-twinkle{0%,to{opacity:.22}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.atlas-star{opacity:.45;animation:none}}.atlas-world{z-index:1;transform-origin:0 0;--atlas-counter:clamp(1, calc(1 / var(--atlas-cam-scale,1)), 1.6);transition:transform 1.15s cubic-bezier(.6,.02,.2,1);position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.atlas-world{transition:none}.atlas-hood,.atlas-night{transition:opacity .6s}}.atlas-hood{transform:translate(-50%, -50%) scale(var(--atlas-counter,1));cursor:zoom-in;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:0;transition:opacity .6s,transform 1.15s cubic-bezier(.6,.02,.2,1);display:flex;position:absolute}.atlas-hood.is-dim{opacity:.18;pointer-events:none}.atlas-hood-name{font-size:var(--name-size,16px);letter-spacing:.04em;color:var(--hood-color);text-shadow:0 0 18px color-mix(in oklab, var(--hood-color) 55%, transparent);font-weight:700;position:relative}.atlas-hood-count{font-family:var(--font-data);letter-spacing:.06em;color:#6e7390;font-size:9px;position:relative}.atlas-hood-core{background:var(--hood-color);width:9px;height:9px;box-shadow:0 0 14px 3px color-mix(in oklab, var(--hood-color) 60%, transparent);border-radius:50%;margin-top:4px;position:relative}.atlas-hood-loop{border-radius:var(--r-full);background:color-mix(in oklab, var(--warning) 16%, transparent);border:1px solid color-mix(in oklab, var(--warning) 40%, transparent);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--warning);align-items:center;gap:4px;margin-top:3px;padding:2px 8px;font-size:7.5px;font-weight:600;display:inline-flex;position:relative}.atlas-hood-loop-dot{background:var(--warning);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite atlas-loop-pulse}@keyframes atlas-loop-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.atlas-hood-loop-dot{animation:none}}.atlas-hood-badge{border-radius:var(--r-full);color:#b6bccb;font-family:var(--font-data);letter-spacing:.06em;background:#ffffff14;align-items:center;margin-top:3px;padding:1px 8px;font-size:8px;font-weight:600;display:inline-flex;position:relative}.atlas-connections{pointer-events:none;z-index:2;position:absolute;top:0;left:0;overflow:visible}.atlas-connections path{stroke:#9ba2ff;stroke-width:1.5px;stroke-dasharray:3 4;stroke-linecap:round;opacity:.75}.atlas-conn-label{text-align:center;width:100%;font-family:var(--font-data);letter-spacing:.04em;color:#b9bffb;border-radius:var(--r-full);white-space:nowrap;background:#9ba2ff29;border:1px solid #9ba2ff73;padding:2px 8px;font-size:8.5px;font-weight:600;display:inline-block}.atlas-trail{pointer-events:none;z-index:3;position:absolute;top:0;left:0}.atlas-trail polyline{stroke:#fff;stroke-width:1.4px;stroke-dasharray:1 6;stroke-linecap:round;opacity:.55}.atlas-trail circle{fill:#fff;opacity:.7}.atlas-trail-pulse{fill:none;stroke:var(--presence);stroke-width:1.5px;filter:drop-shadow(0 0 7px var(--glow-presence));transform-origin:50%;transform-box:fill-box;animation:2.4s ease-out infinite atlas-trail-pulse}@keyframes atlas-trail-pulse{0%{opacity:.9;transform:scale(1)}65%{opacity:0;transform:scale(2.8)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.atlas-trail-pulse{animation:none}}.atlas-trail-caption{z-index:6;font-family:var(--font-data);letter-spacing:.14em;color:#ffffff73;pointer-events:none;font-size:9.5px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.atlas-constellation{position:absolute;inset:0}.atlas-night-links{pointer-events:none;position:absolute;top:0;left:0}.atlas-night-links line{stroke:var(--hood-color);stroke-width:1px;stroke-dasharray:1 5;stroke-linecap:round;opacity:.4}.atlas-night{transform:translate(-50%, -50%) scale(var(--atlas-counter,1));cursor:pointer;width:188px;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;transition:transform 1.15s cubic-bezier(.6,.02,.2,1);display:flex;position:absolute}.atlas-night-dot{background:var(--hood-color);width:13px;height:13px;box-shadow:0 0 16px 4px color-mix(in oklab, var(--hood-color) 50%, transparent);border-radius:50%}.atlas-night.is-new .atlas-night-dot{box-shadow:0 0 16px 4px color-mix(in oklab, var(--hood-color) 50%, transparent), 0 0 0 3px color-mix(in oklab, var(--presence) 45%, transparent)}.atlas-night.is-found .atlas-night-card{border-color:var(--hood-color);box-shadow:0 0 0 1.5px var(--hood-color)}.atlas-night-card{border-radius:var(--r-sm);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:left;background:#ffffff0a;border:1px solid #2e3039;flex-direction:column;gap:3px;width:100%;padding:9px 13px;display:flex}.atlas-night:hover .atlas-night-card{background:#ffffff14;border-color:#3a3d49}.atlas-night-date{font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--hood-color);font-size:8.5px;font-weight:600}.atlas-night-title{color:#f2f2f6;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.atlas-hood-chrome{z-index:6;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:18px;left:22px}.atlas-hood-chrome-hint{font-family:var(--font-data);letter-spacing:.1em;color:#fff6;font-size:9.5px}.atlas-hood-deeper{border-radius:var(--r-full);border:1px solid color-mix(in oklab, var(--presence) 50%, transparent);background:color-mix(in oklab, var(--presence) 12%, transparent);color:var(--presence);font:inherit;cursor:pointer;align-self:flex-start;padding:6px 14px;font-size:12px;font-weight:600}.atlas-hood-deeper:hover{background:color-mix(in oklab, var(--presence) 20%, transparent)}.atlas-night-stage{z-index:14;background:radial-gradient(ellipse 70% 60% at 50% 42%, color-mix(in oklab, var(--hood-color,var(--presence)) 14%, transparent) 0%, #0e0f13c7 70%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;padding:28px;animation:.4s both atlas-rehydrate-in;display:grid;position:absolute;inset:0}@keyframes atlas-rehydrate-in{0%{opacity:0}to{opacity:1}}.atlas-rehydrate{background:#181a21;border:1px solid #2c2e38;border-radius:16px;width:min(720px,100%);max-height:100%;padding:0;overflow-y:auto;box-shadow:0 24px 60px #00000073}.atlas-rehydrate-head{background:#ffffff08;border-bottom:1px solid #24262f;justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;display:flex}.atlas-rehydrate-tag{font-family:var(--font-data);letter-spacing:.1em;color:var(--hood-color,var(--presence));align-items:center;gap:8px;font-size:9.5px;font-weight:600;display:inline-flex}.atlas-rehydrate-tag-dot{background:var(--hood-color,var(--presence));width:7px;height:7px;box-shadow:0 0 10px 2px color-mix(in oklab, var(--hood-color,var(--presence)) 60%, transparent);border-radius:50%;animation:1.6s ease-in-out infinite atlas-loop-pulse}@media (prefers-reduced-motion:reduce){.atlas-rehydrate-tag-dot{animation:none}}.atlas-rehydrate-asis{font-family:var(--font-data);color:#6e7390;font-size:9.5px}.atlas-rehydrate-title{color:#f2f2f6;margin:0;padding:20px 26px 0;font-size:21px;font-weight:600;line-height:1.2}.atlas-rehydrate-thread{flex-direction:column;gap:12px;padding:16px 26px 4px;display:flex}.atlas-rehydrate-q{background:var(--presence);color:#fff;border-radius:14px 14px 4px;align-self:flex-end;max-width:78%;margin:0;padding:10px 14px;font-size:13.5px;line-height:1.5}.atlas-rehydrate-a{align-self:flex-start;gap:10px;max-width:92%;display:flex}.atlas-rehydrate-orb{background:radial-gradient(circle at 34% 28%, #a9afff 0%, var(--presence) 55%, #3a43c9 100%);border-radius:48% 52% 50% 50%/52% 50% 50% 48%;flex:none;width:26px;height:26px;margin-top:2px}.atlas-rehydrate-art{border-radius:var(--r-sm);background:#ffffff08;border:1px solid #2a2c36;flex:1;align-items:stretch;gap:13px;padding:14px 16px;display:flex}.atlas-rehydrate-art-kind{background:color-mix(in oklab, var(--hood-color,var(--presence)) 14%, transparent);border:1px solid color-mix(in oklab, var(--hood-color,var(--presence)) 30%, transparent);width:52px;font-family:var(--font-data);color:var(--hood-color,var(--presence));border-radius:9px;flex:none;place-items:center;font-size:8.5px;font-weight:600;display:grid}.atlas-rehydrate-art-body{flex-direction:column;flex:1;justify-content:center;gap:5px;display:flex}.atlas-rehydrate-art-line{background:#2e313b;border-radius:2px;height:3px}.atlas-rehydrate-art-open{font-family:var(--font-data);color:var(--hood-color,var(--presence));align-self:center;font-size:9.5px}.atlas-rehydrate-foot{color:#6e7390;border-top:1px solid #24262f;margin:0;padding:14px 26px 0;font-size:11px}.atlas-rehydrate-actions{gap:10px;padding:16px 26px 22px;display:flex}.atlas-rehydrate-land{background:var(--presence);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:600}.atlas-rehydrate-land:hover{filter:brightness(1.08)}.atlas-rehydrate-back{color:#b6bccb;font:inherit;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.atlas-rehydrate-back:hover{color:#f2f2f6;border-color:#3a3d49}.atlas-noticed{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121319e0;border:1px solid #2e3039;border-radius:14px;width:min(300px,100% - 36px);position:absolute;bottom:18px;right:18px;overflow:hidden;box-shadow:0 18px 44px #00000073}.atlas-noticed-head{align-items:center;gap:8px;padding:11px 15px;display:flex}.atlas-noticed-orb{background:radial-gradient(circle at 34% 28%, #a9afff 0%, var(--presence) 55%, #3a43c9 100%);border-radius:48% 52% 50% 50%/52% 50% 50% 48%;width:18px;height:18px}.atlas-noticed-title{font-family:var(--font-data);letter-spacing:.14em;color:#9aa0b4;font-size:9.5px;font-weight:600}.atlas-noticed-sub{font-family:var(--font-data);color:#6e7390;margin-left:auto;font-size:9px}.atlas-noticed-collapse{color:#9aa0b4;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;line-height:1;transition:color .15s,border-color .15s;display:inline-flex}.atlas-noticed-collapse:hover{color:#f2f2f6;border-color:#3a3d49}.atlas-noticed-pill{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--r-full);cursor:pointer;background:#121319e0;border:1px solid #2e3039;align-items:center;gap:8px;padding:8px 13px;transition:border-color .15s;display:inline-flex;position:absolute;bottom:18px;right:18px;box-shadow:0 10px 26px #0006}.atlas-noticed-pill:hover{border-color:#3a3d49}.atlas-noticed-pill .atlas-noticed-orb{width:15px;height:15px}.atlas-noticed-pill-label{font-family:var(--font-data);letter-spacing:.14em;color:#9aa0b4;font-size:9.5px;font-weight:600}.atlas-noticed-pill-count{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 26%, transparent);color:#c7caff;min-width:17px;height:17px;font-family:var(--font-data);justify-content:center;align-items:center;padding:0 5px;font-size:9.5px;font-weight:600;display:inline-flex}.atlas-noticed-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-top:1px solid #1e2027;gap:11px;padding:11px 15px;display:flex}.atlas-noticed-item:hover{background:#ffffff0a}.atlas-noticed-dot{background:var(--ins-color,var(--presence));width:7px;height:7px;box-shadow:0 0 10px 2px color-mix(in oklab, var(--ins-color,var(--presence)) 55%, transparent);border-radius:50%;flex:none;margin-top:4px}.atlas-noticed-body{flex-direction:column;gap:3px;min-width:0;display:flex}.atlas-noticed-kind{font-family:var(--font-data);letter-spacing:.12em;color:var(--ins-color,var(--presence));font-size:8px;font-weight:600}.atlas-noticed-text{color:#d7dae4;font-size:12px;line-height:1.45}.atlas-noticed-cta{color:var(--ins-color,var(--presence));font-size:10.5px;font-weight:600}.atlas-idle-hint{z-index:5;color:#ffffff80;pointer-events:none;text-align:center;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.atlas-viewport:has(.atlas-trail-caption) .atlas-idle-hint{bottom:44px}.atlas-range{z-index:6;border-radius:var(--r-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14151bb8;border:1px solid #ffffff1a;align-items:center;gap:4px;padding:5px 6px 5px 10px;display:flex;position:absolute;top:16px;left:16px}.atlas-range-label{font-family:var(--font-data);letter-spacing:.1em;color:#fff6;margin-right:2px;font-size:8.5px;font-weight:600}.atlas-range-btn{border-radius:var(--r-full);color:#ffffff8c;font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:11px;font-weight:600;transition:color .2s,background .2s}.atlas-range-btn:hover{color:#fff}.atlas-range-btn.is-active{color:#fff;background:#ffffff1f}.atlas-foot{background:#14151b;border-top:1px solid #24262f;align-items:center;gap:18px;padding:13px 22px;display:flex}.atlas-foot-line{color:#6e7390;margin:0;font-size:12.5px}.atlas-foot-line em{color:#b6bccb;font-style:normal;font-weight:700}.atlas-keep{border-radius:var(--r-full);color:#b6bccb;cursor:pointer;font:inherit;background:0 0;border:1px solid #2e3039;margin-left:auto;padding:8px 16px;font-size:12.5px;font-weight:600}.atlas-keep:hover{color:#f2f2f6;border-color:#3a3d49}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.prism-world[data-briefing=true]{transition:transform .8s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.prism-world[data-briefing=true]{transition:none}}.prism-brief{z-index:30;pointer-events:none;flex-direction:column;align-items:stretch;gap:12px;width:min(720px,88%);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.prism-brief>*{pointer-events:auto}.prism-brief-caption{text-align:center;background:color-mix(in oklab, var(--surface-elevated) 90%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;gap:8px;padding:16px 20px;animation:.34s both prism-brief-rise;display:flex}@keyframes prism-brief-rise{0%{opacity:0;transform:translateY(8px)}}.prism-brief-eyebrow{font-family:var(--font-data);letter-spacing:.14em;color:var(--presence);align-self:center;font-size:9.5px;font-weight:700}.prism-brief-eyebrow[data-kind=tension],.prism-brief-eyebrow[data-kind=close]{color:color-mix(in oklab, var(--danger) 85%, #fff)}.prism-brief-eyebrow[data-kind=verdict]{color:color-mix(in oklab, var(--warning) 85%, #fff)}.prism-brief-eyebrow[data-kind=context]{color:var(--text-muted)}.prism-brief-line{color:var(--text-primary);text-wrap:balance;margin:0;font-size:16px;line-height:1.5}.prism-brief-bar{background:color-mix(in oklab, var(--surface-deep) 92%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-self:center;align-items:center;gap:8px;padding:7px 10px;display:flex}.prism-brief-btn{appearance:none;cursor:pointer;min-width:30px;height:30px;color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;line-height:1;display:inline-flex}.prism-brief-btn:hover:not(:disabled){background:var(--surface-glass);color:var(--text-primary)}.prism-brief-btn:disabled{opacity:.4;cursor:default}.prism-brief-play{background:color-mix(in oklab, var(--presence) 22%, var(--surface-elevated));border-color:color-mix(in oklab, var(--presence) 40%, transparent);color:var(--text-primary)}.prism-brief-play:hover:not(:disabled){background:color-mix(in oklab, var(--presence) 34%, var(--surface-elevated))}.prism-brief-audio.is-on{background:color-mix(in oklab, var(--insight) 24%, var(--surface-elevated));border-color:color-mix(in oklab, var(--insight) 42%, transparent)}.prism-brief-progress{font-family:var(--font-data);color:var(--text-secondary);white-space:nowrap;padding:0 4px;font-size:11px}.prism-brief-spacer{width:8px}.prism-brief-exit{appearance:none;cursor:pointer;height:30px;color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:999px;padding:0 12px;font-size:12px}.prism-brief-exit:hover{background:var(--surface-glass);color:var(--text-primary)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.skel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(10px,1.2vw,16px);margin-top:14px;display:grid}.skel-card{border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-elevated), var(--surface-default));border:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.skel-eyebrow{font-family:var(--font-data);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.skel-eyebrow:empty{background:linear-gradient(90deg, var(--surface-glass) 25%, var(--surface-glass-strong) 50%, var(--surface-glass) 75%);background-size:300px 100%;border-radius:4px;width:38%;height:10px;animation:1.4s linear infinite skel-shimmer}.skel-line{background:linear-gradient(90deg, var(--surface-glass) 25%, var(--surface-glass-strong) 50%, var(--surface-glass) 75%);background-size:300px 100%;border-radius:4px;height:13px;animation:1.4s linear infinite skel-shimmer}@keyframes skel-shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.skel-fade{animation:skel-fade-in .2s var(--ease-out) .15s both}@keyframes skel-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.skel-eyebrow:empty,.skel-line,.skel-fade{animation:none}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.fc-app{flex-direction:column;height:100%;display:flex;overflow:hidden}.fc-nav{border-bottom:1px solid var(--line-soft);background:linear-gradient(var(--app-bg) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;flex:none;align-items:center;gap:10px 18px;padding:12px 24px;display:flex}.fc-nav-back{border:1px solid var(--line-soft);border-radius:var(--r-full);color:var(--text-secondary);font:600 13px/1 var(--font);cursor:pointer;transition:color var(--m-quick), border-color var(--m-quick), background var(--m-quick);background:0 0;align-items:center;gap:4px;padding:7px 13px 7px 9px;display:inline-flex}.fc-nav-back svg{width:15px;height:15px}.fc-nav-back:hover{color:var(--text-primary);border-color:var(--line-mid);background:var(--surface-glass)}.fc-nav-title{font:700 18px/1 var(--font);letter-spacing:-.01em;color:var(--text-primary);align-items:baseline;gap:10px;display:flex}.fc-nav-sub{font:500 12.5px/1 var(--font);color:var(--text-muted)}.fc-nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.fc-btn{border:1px solid var(--line-mid);border-radius:var(--r-full);background:var(--surface-elevated);color:var(--text-primary);font:600 13px/1 var(--font);cursor:pointer;transition:background var(--m-quick), border-color var(--m-quick), color var(--m-quick), opacity var(--m-quick);align-items:center;gap:6px;padding:9px 15px;display:inline-flex}.fc-btn svg{flex:none;width:15px;height:15px}.fc-btn:hover{background:var(--surface-glass);border-color:var(--line-strong)}.fc-btn:disabled{opacity:.45;cursor:default}.fc-btn-primary{background:var(--presence);border-color:var(--presence);color:#fff}.fc-btn-primary:hover{background:color-mix(in oklab, var(--presence) 88%, #000);border-color:color-mix(in oklab, var(--presence) 88%, #000)}.fc-btn-sm{padding:6px 11px;font-size:12.5px}.fc-btn-danger{border-color:color-mix(in oklab, var(--danger) 55%, transparent);color:var(--danger)}.fc-btn-danger:hover{background:color-mix(in oklab, var(--danger) 12%, var(--surface-elevated));border-color:var(--danger)}.fc-body{flex:1;min-height:0;display:flex;overflow:hidden}.fc-side{border-right:1px solid var(--line-soft);flex-direction:column;flex:none;gap:22px;width:232px;padding:18px 14px 40px;display:flex;overflow-y:auto}.fc-side-group{flex-direction:column;gap:6px;display:flex}.fc-side-eyebrow{font:700 10px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:0 10px 6px}.fc-side-item{border-radius:var(--r-sm);width:100%;color:var(--text-secondary);font:550 13.5px/1.2 var(--font);text-align:left;cursor:pointer;min-height:44px;transition:background var(--m-quick), color var(--m-quick);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.fc-side-item:hover{background:var(--surface-glass);color:var(--text-primary)}.fc-side-item.is-active{background:color-mix(in oklab, var(--presence) 14%, transparent);color:var(--text-primary)}.fc-side-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-side-count{font:600 12px/1 var(--font);color:var(--text-muted);margin-left:auto}.fc-side-badge{text-align:center;min-width:20px;font:700 11px/1 var(--font);color:var(--presence);background:color-mix(in oklab, var(--presence) 16%, transparent);border-radius:var(--r-full);margin-left:auto;padding:3px 6px}.fc-side-tags{flex-wrap:wrap;gap:6px;padding:2px 8px;display:flex}.fc-tag-chip{border:1px solid var(--line-soft);border-radius:var(--r-full);color:var(--text-secondary);font:550 12px/1 var(--font);cursor:pointer;transition:color var(--m-quick), border-color var(--m-quick), background var(--m-quick);background:0 0;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.fc-tag-chip:hover{color:var(--text-primary);border-color:var(--line-mid)}.fc-tag-chip.is-active{color:var(--text-primary);border-color:var(--presence);background:color-mix(in oklab, var(--presence) 12%, transparent)}.fc-tag-n{color:var(--text-faint);font-size:10.5px}.fc-main{flex-direction:column;flex:1;gap:14px;min-width:0;padding:18px 26px 64px;display:flex;overflow-y:auto}.fc-toolbar{align-items:center;gap:12px;display:flex}.fc-search{flex:1;min-width:0}.fc-search input{border:1px solid var(--line-soft);border-radius:var(--r-full);background:var(--surface-elevated);width:100%;color:var(--text-primary);font:450 14px/1 var(--font);padding:10px 16px}.fc-search input::placeholder{color:var(--text-faint)}.fc-search input:focus-visible{border-color:var(--presence);outline:none}.fc-selectall{color:var(--text-muted);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;border:none;flex:none;padding:6px}.fc-selectall:hover{color:var(--text-primary)}.fc-bulk{border:1px solid var(--line-mid);border-radius:var(--r-md);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.fc-bulk-n{font:600 13px/1 var(--font);color:var(--text-primary)}.fc-bulk-input{border:1px solid var(--line-soft);border-radius:var(--r-full);background:var(--surface-elevated-2,var(--surface-elevated));color:var(--text-primary);font:450 13px/1 var(--font);width:160px;padding:7px 12px}.fc-bulk-input:focus-visible{border-color:var(--presence);outline:none}.fc-bulk-clear{color:var(--text-muted);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:6px}.fc-bulk-clear:hover{color:var(--text-primary)}.fc-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fc-row{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-elevated);transition:border-color var(--m-quick), background var(--m-quick);align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.fc-row:hover{border-color:var(--line-mid)}.fc-row.is-checked{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 7%, var(--surface-elevated))}.fc-row-check{width:16px;height:16px;accent-color:var(--presence);cursor:pointer;flex:none;margin-top:3px}.fc-row-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.fc-row-front{font:600 14.5px/1.4 var(--font);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fc-row-back{font:450 13px/1.45 var(--font);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fc-row-meta{flex-wrap:wrap;align-items:center;gap:7px;margin-top:2px;display:flex}.fc-status{font:700 9.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-full);padding:4px 8px}.fc-status.is-due{color:var(--presence);background:color-mix(in oklab, var(--presence) 14%, transparent)}.fc-status.is-new{color:var(--insight);background:color-mix(in oklab, var(--insight) 14%, transparent)}.fc-status.is-suspended{color:var(--text-muted);background:var(--surface-glass)}.fc-status.is-sched{color:var(--text-faint);background:var(--surface-glass)}.fc-status.is-seen{color:var(--text-secondary);background:var(--surface-glass)}.fc-row-deck{font:600 11.5px/1 var(--font);color:var(--text-secondary);background:var(--surface-glass);border-radius:var(--r-full);text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:4px 9px;overflow:hidden}.fc-row-tag{font:500 11.5px/1 var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 2px}.fc-row-tag:before{content:"#";opacity:.6}.fc-row-tag:hover{color:var(--presence)}.fc-row-origin{font:600 9.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:3px 7px}.fc-row-actions{flex:none;align-items:center;gap:4px;display:flex}.fc-icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:color var(--m-quick), background var(--m-quick), border-color var(--m-quick);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.fc-icon-btn svg{width:16px;height:16px}.fc-icon-btn:hover{color:var(--text-primary);background:var(--surface-glass)}.fc-icon-danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 45%, transparent)}.fc-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:360px;margin:40px auto;display:flex}.fc-empty-icon{color:var(--text-faint)}.fc-empty-icon svg{width:38px;height:38px}.fc-empty-head{font:700 17px/1.2 var(--font);color:var(--text-primary)}.fc-empty-sub{font:450 13.5px/1.5 var(--font);color:var(--text-secondary)}.fc-scrim{z-index:92;background:rgba(var(--scrim-rgb), .72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.fc-ed-shell{background:var(--surface-elevated);border:1px solid var(--line-soft);border-radius:var(--r-lg);width:min(560px,100%);max-height:min(88vh,760px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.fc-ed-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.fc-ed-title{font:700 16px/1 var(--font);color:var(--text-primary)}.fc-ed-drafting{font:500 12px/1 var(--font);color:var(--presence);animation:1.4s ease-in-out infinite fc-pulse}@keyframes fc-pulse{0%,to{opacity:.55}50%{opacity:1}}.fc-ed-close{border:1px solid var(--line-soft);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;margin-left:auto;font-size:13px}.fc-ed-close:hover{color:var(--text-primary);border-color:var(--line-mid)}.fc-ed-body{flex-direction:column;flex:1;gap:16px;padding:18px 22px;display:flex;overflow-y:auto}.fc-ed-card{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-elevated-2,var(--surface-glass));flex-direction:column;gap:11px;padding:14px;display:flex}.fc-ed-card-head{justify-content:space-between;align-items:center;display:flex}.fc-ed-card-n{font:700 10.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.fc-ed-row-remove{color:var(--text-muted);font:600 12px/1 var(--font);cursor:pointer;background:0 0;border:none}.fc-ed-row-remove:hover{color:var(--danger)}.fc-ed-field{flex-direction:column;gap:5px;display:flex}.fc-ed-label{font:700 9.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.fc-ed-input{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-elevated);width:100%;color:var(--text-primary);font:450 14px/1.5 var(--font);resize:vertical;padding:9px 12px}.fc-ed-input:focus-visible{border-color:var(--presence);outline:none}.fc-ed-add-row{border:1px dashed var(--line-mid);border-radius:var(--r-full);color:var(--text-secondary);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;align-self:flex-start;padding:8px 14px}.fc-ed-add-row:hover{color:var(--text-primary);border-color:var(--text-muted)}.fc-ed-meta{grid-template-columns:1fr 1.4fr;gap:14px;display:grid}@media (width<=480px){.fc-ed-meta{grid-template-columns:1fr}}.fc-ed-tags{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:7px 9px;display:flex}.fc-ed-tag{font:550 12px/1 var(--font);color:var(--text-primary);background:color-mix(in oklab, var(--presence) 12%, transparent);border-radius:var(--r-full);align-items:center;gap:5px;padding:4px 5px 4px 10px;display:inline-flex}.fc-ed-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:10px;line-height:1}.fc-ed-tag button:hover{color:var(--danger)}.fc-ed-tag-input{min-width:80px;color:var(--text-primary);font:450 13px/1 var(--font);background:0 0;border:none;flex:1;padding:4px}.fc-ed-tag-input:focus-visible{outline:none}.fc-ed-foot{border-top:1px solid var(--line-soft);flex:none;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}@media (width<=720px){.fc-body{flex-direction:column;overflow-y:auto}.fc-side{border-right:none;border-bottom:1px solid var(--line-soft);flex-flow:wrap;gap:14px;width:auto;padding:14px 18px}.fc-main{overflow-y:visible}}.fc-side-style{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:14px}.fc-style-seg{border-radius:var(--r-md);background:var(--track);border:1px solid var(--line-soft);gap:3px;padding:3px;display:flex}.fc-style-opt{border-radius:calc(var(--r-md) - 4px);min-width:0;color:var(--text-secondary);font:600 11.5px/1.2 var(--font);cursor:pointer;transition:color var(--m-quick), background var(--m-quick);background:0 0;border:0;flex:1;padding:6px 8px}.fc-style-opt:hover{color:var(--text-primary)}.fc-style-opt.is-active{background:color-mix(in oklab, var(--presence) 18%, var(--surface-elevated));color:var(--text-primary);box-shadow:var(--shadow-raised)}.fc-style-note{font:450 11.5px/1.45 var(--font);color:var(--text-muted);margin:8px 2px 0}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{h as r,u as i}from"./index-Dk0QapqQ.js";import{n as a}from"./icons-gLFQTv74.js";import{t as o}from"./TopicCanvas-LMI0zC7R.js";import{t as s}from"./motion-BY_Egaxm.js";import{t as c}from"./toast-BBNs2h3L.js";import{t as l}from"./Presence-UqXfH4Y-.js";import{a as u,c as d,i as f,r as p,t as m}from"./capture-D8uPIcfj.js";import{i as ee,n as te,r as ne,t as re}from"./share-kW3pZ027.js";import{t as ie}from"./FeatureUseNotice-Dc8joBGM.js";import{r as h}from"./history-D2EH2X6D.js";import{t as g}from"./replay-TYXO0Brm.js";import"./canvas-Bsx3eSaS.js";import{t as _}from"./AnnotationLayer-qV6CIUZv.js";var v=e(),y=t(),b=18e4,x=650,S=350;function C(e){let t=[e.spoken??e.narration,...e.tour.map(e=>e.saySpoken??e.say??``)].reduce((e,t)=>e+t.trim().length,0);return 1e3+Math.max(1800,t/14*1e3)}function ae(e){return e.reduce((e,t)=>e+C(t),0)}function oe(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.topicShift===!0||n?.topicShift===void 0&&n?.mode===`replace`)return t}return 0}function w(e,t,n){let r=n.spans[e+1];return r?r.startMs:x+Math.max(0,n.durationMs-x-S)*(e+1)/(t+1)}function T(e,t,n){let r=[],i=0;return e.forEach((e,a)=>{let o=t[a];if(!o)return;let s=g(e),c=s.cues.map((e,t)=>w(t,s.cues.length,o)),l=[0,x,...c,o.durationMs].map(e=>Math.max(0,Math.min(o.durationMs,e))).filter((e,t,n)=>t===0||e>n[t-1]),u=[];for(let t=0;t<l.length-1;t++){let d=l[t],f=l[t+1],p=c.findIndex(e=>e===d),m=p>=0?s.cues[p]:void 0;m&&n.penMarks&&(u=[...u,...m.marks.map((t,n)=>({spot:m.spot,line:m.say,mark:t,delayMs:n*240,...t.kind===`connect`&&typeof t.onIndex==`number`?{toSpot:e.spec.blocks[t.onIndex]?.id}:{}}))]);let ee=[...o.spans].reverse().find(e=>e.startMs<=d&&e.endMs>d);r.push({frame:e,turnIndex:a,startMs:i+d,durationMs:Math.max(1,f-d),spot:n.spotlights?m?.spot??null:null,caption:n.captions?ee?.text??null:null,ink:u,questionOnly:t===0})}i+=o.durationMs}),r}var E=24e3,D=.65,O=.18,k=.35,se=.89,A=6,j=class extends Error{turnIndex;question;constructor(e,t){super(`Narration is unavailable for “${t||`turn ${e+1}`}”.`),this.turnIndex=e,this.question=t,this.name=`RequiredConversationAudioError`}};function M(e){return[e.spoken??e.narration,...e.tour.map(e=>e.saySpoken??e.say??``)].map(e=>e.trim()).filter(Boolean)}function N(e){return e.trim().replace(/\s+/g,` `)}function P(e,t){let n=M(e);return n.length>0&&t.pcm.length>0&&t.spans.length===n.length&&n.every((e,n)=>N(t.spans[n]?.text??``)===N(e)&&t.spans[n].t1>t.spans[n].t0)}function F(e){let t=e.spans.map(e=>({text:e.text,startMs:Math.round((D+e.t0)*1e3),endMs:Math.round((D+e.t1)*1e3)}));return{lines:[{text:t.map(e=>e.text).join(` `),pcm:e.pcm,rate:e.sampleRate}],durationS:D+e.duration+k,spans:t}}async function I(e,t,n){let r=M(e);if(!r.length)throw new j(t,e.question);let i=[];for(let a of r){if(n?.aborted)throw new DOMException(`Cancelled`,`AbortError`);let r=await d(a,n);if(n?.aborted)throw new DOMException(`Cancelled`,`AbortError`);if(!r.length)throw new j(t,e.question);i.push({text:a,pcm:r,rate:E})}let a=[],o=D;for(let e of i){let t=o;o+=e.pcm.length/e.rate,a.push({text:e.text,startMs:Math.round(t*1e3),endMs:Math.round(o*1e3)}),o+=O}return{lines:i,durationS:o+k,spans:a}}async function ce(e,t,n){let r=i();if(!r||typeof OfflineAudioContext>`u`)throw Error(`audio-encoding-unavailable`);let a=[];for(let r=0;r<e.length;r++){let i=e[r],o=t(i);a.push(o&&P(i,o)?F(o):await I(i,r,n))}let o=a.reduce((e,t)=>e+t.durationS,0);if(o*1e3>18e4)throw Error(`conversation-too-long`);let s=0;for(let e of a)for(let t of e.lines)for(let e=0;e<t.pcm.length;e++)s=Math.max(s,Math.abs(t.pcm[e]));let c=s>0?Math.min(A,se/s):1,l=new OfflineAudioContext(1,Math.ceil(o*r.sampleRate),r.sampleRate),u=l.createGain();u.gain.value=c,u.connect(l.destination);let d=0;for(let e of a){let t=d+D;for(let n of e.lines){let e=l.createBuffer(1,n.pcm.length,n.rate);e.getChannelData(0).set(n.pcm);let r=l.createBufferSource();r.buffer=e,r.connect(u),r.start(t),t+=n.pcm.length/n.rate+O}d+=e.durationS}return{buffer:await l.startRendering(),turns:a.map(e=>({durationMs:Math.round(e.durationS*1e3),spans:e.spans})),durationMs:Math.round(o*1e3)}}var le={"1080p":{width:1920,height:1080},"720p":{width:1280,height:720}};function L(e,t,n=r()){let{bitrate:i}=m(e,n);return t===`720p`?Math.round(i*.55):i}async function R(e){document.visibilityState===`hidden`&&await new Promise((t,n)=>{let r=()=>a(new DOMException(`Cancelled`,`AbortError`)),i=()=>{document.visibilityState!==`hidden`&&a()},a=a=>{document.removeEventListener(`visibilitychange`,i),e.removeEventListener(`abort`,r),a?n(a):t()};document.addEventListener(`visibilitychange`,i),e.addEventListener(`abort`,r,{once:!0})})}function ue(){return typeof document<`u`&&(typeof VideoEncoder<`u`&&typeof AudioEncoder<`u`||u()!==null)}async function de(e){let t=r(),n=le[e.size],i=e.scenes[0];i&&await e.applyScene(i,0);let a=getComputedStyle(e.el).backgroundColor,o=await f({el:e.el,audioBuffer:e.audioBuffer,aspect:`16:9`,dims:{w:n.width,h:n.height},quality:e.quality,bitrate:L(e.quality,e.size,t),background:a&&a!==`rgba(0, 0, 0, 0)`?a:void 0,maxDurationMs:e.durationMs}),s=performance.now();try{for(let t=1;t<e.scenes.length;t++){let n=e.scenes[t];for(;performance.now()-s<n.startMs;){if(e.signal.aborted)throw new DOMException(`Cancelled`,`AbortError`);await R(e.signal),await new Promise(e=>setTimeout(e,25))}await e.applyScene(n,t),e.onProgress?.({phase:`render`,completed:t+1,total:e.scenes.length})}for(;performance.now()-s<e.durationMs;){if(e.signal.aborted)throw new DOMException(`Cancelled`,`AbortError`);await R(e.signal),await new Promise(e=>setTimeout(e,25))}e.onProgress?.({phase:`encode`,completed:0,total:1});let t=await o.stop();return e.onProgress?.({phase:`ready`,completed:1,total:1}),{...t,...n}}catch(e){throw o.cancel(),e}}var z=n();function B({scene:e,options:t,frameRef:n,glide:r=!0}){let i=(0,v.useRef)(null),a=(0,v.useRef)(null),[s,c]=(0,v.useState)(0);(0,v.useEffect)(()=>(n?.(i.current),()=>n?.(null)),[n]),(0,v.useEffect)(()=>{let t=a.current;if(!t)return;let n=0;if(e?.spot){let r=[...t.querySelectorAll(`[data-spot-id]`)].find(t=>t.dataset.spotId===e.spot);if(!r)return;let i=t.getBoundingClientRect(),a=r.getBoundingClientRect();n=Math.max(0,t.scrollTop+a.top-i.top-(t.clientHeight-a.height)/2)}typeof t.scrollTo==`function`?t.scrollTo({top:n,behavior:r?`smooth`:`auto`}):t.scrollTop=n;let i=window.setTimeout(()=>c(e=>e+1),420);return()=>window.clearTimeout(i)},[e?.spot,e?.turnIndex,r]);let u=e?.questionOnly??!1,d=e?e.frame.question||e.frame.spec.title:``;return(0,z.jsx)(`div`,{ref:i,className:`cvs-stage`,"data-aspect":`16:9`,"data-question-only":u,"data-captioned":t.captions,children:e?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`header`,{className:`cvs-header`,children:[(0,z.jsxs)(`div`,{className:`cvs-brand`,children:[(0,z.jsx)(`span`,{className:`cvs-brand-dot`}),` Mavéa conversation`]}),(0,z.jsxs)(`div`,{className:`cvs-turn`,children:[`Turn `,e.turnIndex+1]}),(0,z.jsx)(`h2`,{children:d})]}),u?(0,z.jsxs)(`div`,{className:`cvs-ask`,children:[(0,z.jsx)(`span`,{className:`cvs-ask-eyebrow`,children:`Asked`}),(0,z.jsx)(`p`,{className:`cvs-ask-line`,children:d})]}):(0,z.jsxs)(`div`,{ref:a,className:`cvs-canvas`,children:[(0,z.jsx)(`div`,{className:`topic-wrap`,children:(0,z.jsx)(o,{data:e.frame.spec,spot:e.spot,built:{},onProve:()=>{}})},e.turnIndex),t.penMarks&&(0,z.jsx)(_,{spots:e.ink,within:i.current,revision:s})]}),t.captions&&e.caption&&(0,z.jsx)(`div`,{className:`cvs-caption`,children:e.caption}),t.presence&&(0,z.jsx)(`div`,{className:`cvs-presence`,children:(0,z.jsx)(l,{state:u?`thinking`:`speaking`})})]}):(0,z.jsx)(`div`,{className:`cvs-empty`,children:`Choose a turn to preview it.`})})}var fe=[{id:`1080p`,label:`1080p`,hint:`1920×1080`},{id:`720p`,label:`720p`,hint:`1280×720`}],pe=[{id:`balanced`,label:`Balanced`},{id:`high`,label:`High`},{id:`ultra`,label:`Ultra`}],V=650;function H(e=300){return Promise.race([(async()=>{await new Promise(e=>requestAnimationFrame(()=>e())),await new Promise(e=>requestAnimationFrame(()=>e()))})(),new Promise(t=>window.setTimeout(t,e))])}var me=[{key:`captions`,label:`Captions`},{key:`spotlights`,label:`Spotlights`},{key:`penMarks`,label:`Pen marks`},{key:`presence`,label:`Mavéa`}];function U(e){let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}function he(e){let t=(0,y.c)(12),{width:n,height:r,children:i}=e,a=(0,v.useRef)(null),[o,s]=(0,v.useState)(0),c,l;t[0]!==r||t[1]!==n?(c=()=>{let e=a.current;if(!e)return;let t=()=>{let{width:t,height:i}=e.getBoundingClientRect();!t||!i||s(Math.min(t/n,i/r))};if(t(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(t);return i.observe(e),()=>i.disconnect()},l=[n,r],t[0]=r,t[1]=n,t[2]=c,t[3]=l):(c=t[2],l=t[3]),(0,v.useLayoutEffect)(c,l);let u=`scale(${o})`,d=o?void 0:`hidden`,f;t[4]!==r||t[5]!==u||t[6]!==d||t[7]!==n?(f={width:n,height:r,transform:u,visibility:d},t[4]=r,t[5]=u,t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;return t[9]!==i||t[10]!==f?(p=(0,z.jsx)(`div`,{ref:a,className:`cvs-viewport`,children:(0,z.jsx)(`div`,{className:`cvs-scaler`,style:f,children:i})}),t[9]=i,t[10]=f,t[11]=p):p=t[11],p}function ge(e){return e.map(e=>{let t=C(e);return{durationMs:t,spans:[{text:e.narration,startMs:650,endMs:Math.max(651,t-350)}]}})}function W({frames:e,retainedAudio:t,onShared:n,onBusyChange:r,frameRef:i}){let o=(0,v.useMemo)(()=>e.filter(e=>!!((e.spoken??e.narration).trim()||e.tour.some(e=>(e.saySpoken??e.say)?.trim()))),[e]),[l,u]=(0,v.useState)(()=>new Set(o.length?[h(o[o.length-1])]:[])),d=(0,v.useMemo)(()=>new Set(o.map(h)),[o]),[f,m]=(0,v.useState)({size:`1080p`,quality:`high`,captions:!0,spotlights:!0,penMarks:!0,presence:!0}),g=(0,v.useMemo)(()=>e.filter(e=>l.has(h(e))),[e,l]),_=(0,v.useMemo)(()=>ae(g),[g]),y=(0,v.useMemo)(()=>T(g,ge(g),f),[g,f]),[x,S]=(0,v.useState)(()=>y[0]??null),[C,w]=(0,v.useState)(null),[E,D]=(0,v.useState)(null),[O,k]=(0,v.useState)(null),[se,A]=(0,v.useState)(!1),[M,N]=(0,v.useState)(!1),[P,F]=(0,v.useState)(0),[I,L]=(0,v.useState)(!1),[R,W]=(0,v.useState)(!1),G=(0,v.useRef)(null),K=(0,v.useRef)(null),q=(0,v.useRef)(null),J=C!==null&&C.phase!==`ready`,Y=ue(),X=(0,v.useMemo)(()=>s(),[]),Z=M&&!J&&!X&&y.length>1;(0,v.useEffect)(()=>r?.(J),[J,r]),(0,v.useEffect)(()=>{if(!J){W(!1);return}let e=()=>W(document.visibilityState===`hidden`);return e(),document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[J]),(0,v.useEffect)(()=>N(!0),[]),(0,v.useEffect)(()=>{let e=X?y.findIndex(e=>!e.questionOnly):0;F(Math.max(0,e)),L(!1)},[y,X]),(0,v.useEffect)(()=>{J||S(y[P]??y[0]??null)},[y,P,J]),(0,v.useEffect)(()=>{if(!Z||I)return;let e=y[P]??y[0],t=window.setTimeout(()=>F(e=>(e+1)%y.length),Math.max(V,e?.durationMs??V));return()=>window.clearTimeout(t)},[Z,I,y,P]),(0,v.useEffect)(()=>()=>{G.current?.abort(),K.current?.dispose?.(),K.current=null,r?.(!1)},[r]);let _e=(0,v.useCallback)(async e=>{S(e),await H()},[]),Q=(0,v.useCallback)(()=>{K.current?.dispose?.(),K.current=null,D(null),w(null)},[]),ve=(0,v.useCallback)(async()=>{if(!g.length||_>18e4)return;let e=new AbortController;G.current=e,Q(),k(null),w({phase:`audio`,completed:0,total:g.length}),A(!0);try{await H();let n=q.current;if(!n)throw Error(`capture-stage-unavailable`);let r=await ce(g,t??(()=>null),e.signal),i=T(g,r.turns,f);if(!i.length)throw Error(`empty-video`);w({phase:`render`,completed:1,total:i.length});let a=await de({el:n,scenes:i,audioBuffer:r.buffer,durationMs:r.durationMs,size:f.size,quality:f.quality,signal:e.signal,applyScene:_e,onProgress:w});K.current=a,D(a),w(null)}catch(e){if(e?.name===`AbortError`){w(null);return}let t=e instanceof j?`${e.message} Check the local voice service, then retry.`:e instanceof Error&&e.message===`conversation-too-long`?`The voiced result is over three minutes. Remove a turn and retry.`:e instanceof Error&&e.message===`open-codec-unavailable`?`This browser cannot encode an approved open-media format (AV1/VP9/VP8 with Opus). Try the current Chrome, Edge, or Firefox.`:`The video could not be created in this browser. Your conversation is unchanged.`;k(t),w(null)}finally{A(!1)}},[_e,Q,_,f,t,g]),$=e=>{J||(u(new Set(e.map(h))),Q(),k(null))},ye=le[f.size],be=re(ee(g[0]?.spec.title||g[0]?.question,new Date),E?.type??``),xe=C?C.phase===`audio`?`Preparing required narration…`:C.phase===`render`?`Rendering scene ${C.completed} of ${C.total}…`:C.phase===`encode`?`Finishing the file…`:`Video ready`:``,Se=_>b;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`shm-panel cvs-panel`,children:[(0,z.jsx)(`div`,{className:`shm-eyebrow`,children:`▷ CONVERSATION VIDEO`}),(0,z.jsx)(`div`,{className:`cvs-title`,children:`Share this conversation.`}),(0,z.jsx)(`div`,{className:`shm-sub`,children:`Pick the turns worth sending. Mavéa narrates every one. The video renders locally in this browser and is never uploaded.`}),(0,z.jsx)(ie,{kind:`publishing`,from:`live`}),(0,z.jsxs)(`div`,{className:`cvs-presets`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>$(o.slice(-1)),disabled:J,children:`Current turn`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>$(e.slice(oe(e)).filter(e=>d.has(h(e)))),disabled:J,children:`Current topic`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>$(o),disabled:J,children:`All turns`})]}),(0,z.jsx)(`div`,{className:`cvs-turns`,role:`group`,"aria-label":`Conversation turns`,children:e.map((e,t)=>{let n=h(e),r=d.has(n);return(0,z.jsxs)(`label`,{className:`cvs-turn-card`,"data-selected":l.has(n),children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:l.has(n),disabled:J||!r,onChange:()=>{u(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t}),Q()}}),(0,z.jsx)(`span`,{className:`cvs-thumb`,"aria-hidden":`true`,children:e.spec.blocks.length}),(0,z.jsxs)(`span`,{className:`cvs-turn-copy`,children:[(0,z.jsx)(`strong`,{children:e.question||e.spec.title}),(0,z.jsxs)(`small`,{children:[new Date(e.at).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),r?``:` · no narration`]})]}),(0,z.jsx)(`span`,{className:`cvs-order`,children:t+1})]},n)})}),(0,z.jsxs)(`div`,{className:`shm-group`,children:[(0,z.jsx)(`div`,{className:`shm-label`,children:`Size`}),(0,z.jsx)(`div`,{className:`shm-chips`,children:fe.map(e=>(0,z.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":f.size===e.id,"aria-pressed":f.size===e.id,disabled:J,onClick:()=>{Q(),m(t=>({...t,size:e.id}))},title:e.hint,children:e.label},e.id))})]}),(0,z.jsxs)(`div`,{className:`shm-group`,children:[(0,z.jsx)(`div`,{className:`shm-label`,children:`Quality`}),(0,z.jsx)(`div`,{className:`shm-chips`,children:pe.map(e=>(0,z.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":f.quality===e.id,"aria-pressed":f.quality===e.id,disabled:J,onClick:()=>{Q(),m(t=>({...t,quality:e.id}))},title:p(e.id),children:e.label},e.id))})]}),(0,z.jsxs)(`div`,{className:`shm-group`,children:[(0,z.jsx)(`div`,{className:`shm-label`,children:`Include`}),(0,z.jsxs)(`div`,{className:`shm-chips`,children:[me.map(({key:e,label:t})=>(0,z.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":f[e],"aria-pressed":f[e],disabled:J,onClick:()=>{Q(),m(t=>({...t,[e]:!t[e]}))},children:t},e)),(0,z.jsx)(`span`,{className:`cvs-audio-lock`,children:`● Audio always on`})]})]}),(0,z.jsxs)(`div`,{className:`cvs-meter`,"data-over":Se,children:[(0,z.jsxs)(`span`,{children:[U(_),` selected`]}),(0,z.jsx)(`span`,{children:`3:00 max`}),(0,z.jsx)(`i`,{style:{width:`${Math.min(100,_/b*100)}%`}})]}),O&&(0,z.jsx)(`div`,{className:`cvs-error`,role:`alert`,children:O}),!Y&&(0,z.jsx)(`div`,{className:`cvs-error`,role:`alert`,children:`Video export needs an approved open video codec (AV1/VP9/VP8) and Opus audio. Try the current Chrome, Edge, or Firefox.`}),C&&(0,z.jsxs)(`div`,{className:`cvs-progress`,role:`status`,children:[xe,R&&(0,z.jsx)(`em`,{className:`cvs-paused`,children:`Paused while this window is in the background — come back to it and the render picks up where it left off.`})]}),E&&(0,z.jsxs)(`div`,{className:`cvs-result`,role:`status`,children:[(0,z.jsxs)(`strong`,{children:[`Ready · `,E.width,`×`,E.height]}),(0,z.jsxs)(`span`,{children:[U(E.durationMs),` · `,(E.blob.size/1048576).toFixed(1),` MB`]})]}),(0,z.jsx)(`div`,{className:`shm-actions`,children:E?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,className:`shm-btn shm-btn-primary`,onClick:()=>{K.current=null,te(E.blob,be,()=>void E.dispose?.()),D(null),c(`Saved to your downloads`,`good`),n?.()},children:`↓ Download video`}),typeof navigator<`u`&&typeof navigator.share==`function`&&(0,z.jsx)(`button`,{type:`button`,className:`shm-btn`,onClick:()=>{ne(E,{title:`Mavéa conversation`,filename:be}).then(e=>{e!==`cancelled`&&(K.current=null,D(null),e===`downloaded`&&c(`Saved to your downloads`,`good`),n?.())})},children:`Share`})]}):J?(0,z.jsx)(`button`,{type:`button`,className:`shm-btn`,onClick:()=>G.current?.abort(),children:`Cancel`}):(0,z.jsx)(`button`,{type:`button`,className:`shm-btn shm-btn-primary`,disabled:!g.length||Se||!Y,onClick:()=>void ve(),children:O?`Retry ${f.size} video`:`Create ${f.size} video`})})]}),(0,z.jsx)(`div`,{className:`shm-stage`,children:(0,z.jsxs)(`div`,{className:`shm-frame`,"data-aspect":`16:9`,children:[M?(0,z.jsx)(he,{width:ye.width,height:ye.height,children:(0,z.jsx)(B,{scene:x,options:f,frameRef:i,glide:!X})}):(0,z.jsx)(`div`,{className:`cvs-stage`,"data-aspect":`16:9`,children:(0,z.jsx)(`div`,{className:`cvs-empty`,role:`status`,children:`Preparing preview…`})}),Z&&(0,z.jsx)(`div`,{className:`shm-controls`,children:(0,z.jsx)(`button`,{type:`button`,className:`shm-sound`,"data-on":I,onClick:()=>L(e=>!e),"aria-pressed":I,title:I?`Play preview`:`Pause preview`,children:I?(0,z.jsx)(a.play,{style:{width:17,height:17}}):(0,z.jsx)(a.pause,{style:{width:17,height:17}})})})]})}),se&&(0,z.jsx)(`div`,{className:`cvs-capture-host`,"data-size":f.size,"aria-hidden":`true`,inert:!0,children:(0,z.jsx)(B,{scene:x,options:f,frameRef:e=>{q.current=e}})})]})}export{W as ConversationVideoStudio};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.cvs-panel{scrollbar-width:thin;max-height:min(82vh,860px);padding-right:6px;overflow:auto}.cvs-panel .shm-actions{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090b12f5;border-top:1px solid #ffffff14;padding:12px 0 4px;position:sticky;bottom:0}.cvs-title{color:#f3f6fc;font:700 clamp(26px, 3.6vw, 40px) / 1.1 var(--font);letter-spacing:-.02em}.cvs-presets{flex-wrap:wrap;gap:7px;display:flex}.cvs-presets button{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 18%, transparent);color:#eef2f8;font:600 12px/1 var(--font);cursor:pointer;border:0;padding:7px 11px;transition:background .16s,transform 80ms}.cvs-presets button:hover:not(:disabled){background:color-mix(in oklab, var(--presence) 28%, transparent)}.cvs-presets button:active:not(:disabled){transform:scale(.96)}.cvs-presets button:disabled{opacity:.5;cursor:default}.cvs-turns{flex-direction:column;flex-shrink:0;gap:7px;max-height:190px;padding:2px;display:flex;overflow:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),#0000);mask-image:linear-gradient(#000 calc(100% - 26px),#0000)}.cvs-turn-card{color:#ecf2f8d1;cursor:pointer;background:#ffffff09;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:auto 34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:7px 10px;transition:border-color .16s,background .16s;display:grid}.cvs-turn-card:hover:not(:has(input:disabled)){background:#ffffff0f;border-color:#ffffff47}.cvs-turn-card:has(input:disabled){opacity:.5;cursor:default}.cvs-turn-card[data-selected=true]{border-color:color-mix(in oklab, var(--presence) 65%, white 12%);background:color-mix(in oklab, var(--presence) 12%, transparent)}.cvs-turn-card:has(input:focus-visible){outline:2px solid var(--presence-soft);outline-offset:2px}.cvs-turn-card input{accent-color:var(--presence)}.cvs-thumb{background:linear-gradient(145deg, var(--presence), var(--insight));color:#fff;width:32px;height:32px;font:700 11px/1 var(--font-data);border-radius:9px;place-items:center;display:grid}.cvs-turn-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.cvs-turn-copy strong{text-overflow:ellipsis;white-space:nowrap;font:600 13px/1.2 var(--font);overflow:hidden}.cvs-turn-copy small,.cvs-order{color:#ecf2f88f;font:500 10px/1 var(--font-data)}.cvs-audio-lock{color:color-mix(in oklab, var(--insight) 72%, white 20%);font:600 11px/1 var(--font);align-self:center}.cvs-meter{color:#ecf2f89e;font:550 11px/1 var(--font-data);border-bottom:4px solid #ffffff1f;justify-content:space-between;padding-bottom:9px;display:flex;position:relative}.cvs-meter>i{background:var(--presence);border-radius:99px;height:4px;position:absolute;bottom:-4px;left:0}.cvs-meter[data-over=true]>i{background:var(--warning)}.cvs-meter[data-over=true]{color:var(--warning)}.cvs-error,.cvs-progress,.cvs-result{font:550 12px/1.35 var(--font);border-radius:10px;padding:10px 12px}.cvs-error{background:color-mix(in oklab, var(--warning) 14%, transparent);color:color-mix(in oklab, var(--warning) 78%, white 20%)}.cvs-progress{background:color-mix(in oklab, var(--presence) 12%, transparent);color:#ecf2f8c7}.cvs-paused{color:#ecf2f88f;font:500 11px/1.4 var(--font);margin-top:5px;font-style:normal;display:block}.cvs-result{background:color-mix(in oklab, var(--insight) 12%, transparent);color:#ecf2f8d1;justify-content:space-between;display:flex}.cvs-result span{color:#ecf2f88f}.cvs-stage{background:radial-gradient(circle at 84% 8%, color-mix(in oklab, var(--presence) 20%, transparent), transparent 34%), var(--surface-deep);width:100%;height:100%;color:var(--text);position:relative;overflow:hidden;container-type:size}.cvs-viewport{position:absolute;inset:0;overflow:hidden}.cvs-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.cvs-capture-host{contain:strict;pointer-events:none;position:fixed;top:0;left:-100000px;overflow:hidden}.cvs-capture-host[data-size="1080p"]{width:1920px;height:1080px}.cvs-capture-host[data-size="720p"]{width:1280px;height:720px}.cvs-header{z-index:4;background:linear-gradient(180deg, var(--surface-deep) 70%, transparent);pointer-events:none;padding:4.2cqh 5cqw 2.5cqh;position:absolute;top:0;left:0;right:0}.cvs-header h2{max-width:82%;color:var(--text);font:700 clamp(13px, 3.4cqw, 42px) / 1.08 var(--font);letter-spacing:-.025em;margin:1.5cqh 0 0}.cvs-brand,.cvs-turn{color:var(--text-muted);font:650 clamp(9px, 1.15cqw, 16px) / 1 var(--font-data);letter-spacing:.08em;text-transform:uppercase}.cvs-brand-dot{background:var(--presence);border-radius:50%;width:.7em;height:.7em;margin-right:.45em;display:inline-block}.cvs-turn{position:absolute;top:4.2cqh;right:5cqw}.cvs-canvas{scroll-behavior:auto;position:absolute;inset:18cqh 3.8cqw 12cqh;overflow:hidden}.cvs-stage[data-captioned=true] .cvs-canvas{bottom:22cqh}.cvs-canvas .topic-wrap{width:100%;min-height:100%}.cvs-ask{flex-direction:column;justify-content:center;gap:2.4cqh;display:flex;position:absolute;inset:18cqh 8cqw 14cqh}.cvs-ask-eyebrow{color:var(--presence);font:650 clamp(9px, 1.15cqw, 16px) / 1 var(--font-data);letter-spacing:.16em;text-transform:uppercase}.cvs-ask-line{max-width:88%;color:var(--text);font:700 clamp(15px, 3.9cqw, 68px) / 1.14 var(--font);letter-spacing:-.025em;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.cvs-stage[data-question-only=true] .cvs-header{background:0 0}.cvs-stage[data-question-only=true] .cvs-header h2{display:none}.cvs-caption{z-index:8;border:1px solid color-mix(in oklab, var(--line) 72%, transparent);background:color-mix(in oklab, var(--surface-deep) 92%, transparent);color:var(--text);font:600 clamp(9px, 1.62cqw, 23px) / 1.32 var(--font);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-line-clamp:3;border-radius:1.4cqh;-webkit-box-orient:vertical;padding:1.5cqh 2.4cqw;display:-webkit-box;position:absolute;bottom:4cqh;left:9%;right:9%;overflow:hidden;box-shadow:0 1.4cqh 3cqh -1.6cqh #00000047}.cvs-presence{z-index:9;pointer-events:none;width:clamp(54px,10cqw,150px);height:clamp(60px,12cqw,170px);position:absolute;bottom:1.5cqh;right:2.2cqw}.cvs-presence .presence{width:100%;height:100%}html[data-perf=lite] .cvs-presence .presence{animation:none}@media (prefers-reduced-motion:reduce){.shm-frame .cvs-presence .presence{animation:none}}.cvs-empty{height:100%;color:var(--text-muted);font:600 14px/1.3 var(--font);place-items:center;display:grid}@media (width<=820px){.cvs-panel{max-height:none}}
|