groove-dev 0.26.39 → 0.27.1
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 +76 -0
- package/CLAUDE.md +31 -19
- package/node_modules/@groove-dev/cli/package.json +1 -1
- package/node_modules/@groove-dev/daemon/integrations-registry.json +548 -0
- package/node_modules/@groove-dev/daemon/package.json +1 -1
- package/node_modules/@groove-dev/daemon/src/api.js +172 -4
- package/node_modules/@groove-dev/daemon/src/classifier.js +20 -1
- package/node_modules/@groove-dev/daemon/src/firstrun.js +14 -1
- package/node_modules/@groove-dev/daemon/src/gateways/manager.js +2 -2
- package/node_modules/@groove-dev/daemon/src/index.js +3 -1
- package/node_modules/@groove-dev/daemon/src/introducer.js +56 -5
- package/node_modules/@groove-dev/daemon/src/journalist.js +72 -10
- package/node_modules/@groove-dev/daemon/src/lockmanager.js +60 -0
- package/node_modules/@groove-dev/daemon/src/mcp-manager.js +2 -1
- package/node_modules/@groove-dev/daemon/src/memory.js +370 -0
- package/node_modules/@groove-dev/daemon/src/pm.js +1 -1
- package/node_modules/@groove-dev/daemon/src/process.js +20 -1
- package/node_modules/@groove-dev/daemon/src/rotator.js +184 -5
- package/node_modules/@groove-dev/daemon/src/router.js +43 -0
- package/node_modules/@groove-dev/daemon/src/tokentracker.js +62 -8
- package/node_modules/@groove-dev/daemon/src/validate.js +0 -13
- package/node_modules/@groove-dev/daemon/test/journalist.test.js +5 -2
- package/node_modules/@groove-dev/daemon/test/lockmanager.test.js +64 -0
- package/node_modules/@groove-dev/daemon/test/memory.test.js +252 -0
- package/node_modules/@groove-dev/daemon/test/rotator.test.js +156 -0
- package/node_modules/@groove-dev/daemon/test/router.test.js +64 -0
- package/node_modules/@groove-dev/daemon/test/tokentracker.test.js +78 -0
- package/node_modules/@groove-dev/gui/dist/assets/index-Bl1_J0sN.js +652 -0
- package/node_modules/@groove-dev/gui/dist/assets/index-DjORRpF0.css +1 -0
- package/node_modules/@groove-dev/gui/dist/index.html +2 -2
- package/node_modules/@groove-dev/gui/package.json +1 -4
- package/node_modules/@groove-dev/gui/src/components/agents/spawn-wizard.jsx +18 -0
- package/node_modules/@groove-dev/gui/src/components/dashboard/cache-ring.jsx +6 -2
- package/node_modules/@groove-dev/gui/src/components/dashboard/intel-panel.jsx +251 -8
- package/node_modules/@groove-dev/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
- package/node_modules/@groove-dev/gui/src/components/marketplace/marketplace-card.jsx +22 -4
- package/node_modules/@groove-dev/gui/src/lib/format.js +0 -6
- package/node_modules/@groove-dev/gui/src/lib/hooks/use-dashboard.js +18 -1
- package/node_modules/@groove-dev/gui/src/stores/groove.js +41 -16
- package/node_modules/@groove-dev/gui/src/views/dashboard.jsx +9 -2
- package/node_modules/@groove-dev/gui/src/views/marketplace.jsx +103 -77
- package/package.json +2 -8
- package/packages/cli/package.json +1 -1
- package/packages/daemon/integrations-registry.json +548 -0
- package/packages/daemon/package.json +1 -1
- package/packages/daemon/src/api.js +172 -4
- package/packages/daemon/src/classifier.js +20 -1
- package/packages/daemon/src/firstrun.js +14 -1
- package/packages/daemon/src/gateways/manager.js +2 -2
- package/packages/daemon/src/index.js +3 -1
- package/packages/daemon/src/introducer.js +56 -5
- package/packages/daemon/src/journalist.js +72 -10
- package/packages/daemon/src/lockmanager.js +60 -0
- package/packages/daemon/src/mcp-manager.js +2 -1
- package/packages/daemon/src/memory.js +370 -0
- package/packages/daemon/src/pm.js +1 -1
- package/packages/daemon/src/process.js +20 -1
- package/packages/daemon/src/rotator.js +184 -5
- package/packages/daemon/src/router.js +43 -0
- package/packages/daemon/src/tokentracker.js +62 -8
- package/packages/daemon/src/validate.js +0 -13
- package/packages/gui/dist/assets/index-Bl1_J0sN.js +652 -0
- package/packages/gui/dist/assets/index-DjORRpF0.css +1 -0
- package/packages/gui/dist/index.html +2 -2
- package/packages/gui/package.json +1 -4
- package/packages/gui/src/components/agents/spawn-wizard.jsx +18 -0
- package/packages/gui/src/components/dashboard/cache-ring.jsx +6 -2
- package/packages/gui/src/components/dashboard/intel-panel.jsx +251 -8
- package/packages/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
- package/packages/gui/src/components/marketplace/marketplace-card.jsx +22 -4
- package/packages/gui/src/lib/format.js +0 -6
- package/packages/gui/src/lib/hooks/use-dashboard.js +18 -1
- package/packages/gui/src/stores/groove.js +41 -16
- package/packages/gui/src/views/dashboard.jsx +9 -2
- package/packages/gui/src/views/marketplace.jsx +103 -77
- package/docs-manager/DOCS-WORKFLOW.md +0 -176
- package/node_modules/@groove-dev/gui/dist/assets/index-BkY43sei.css +0 -1
- package/node_modules/@groove-dev/gui/dist/assets/index-DmKZLrXU.js +0 -652
- package/node_modules/@groove-dev/gui/dist/groove-logo-short.png +0 -0
- package/node_modules/@groove-dev/gui/dist/groove-logo.png +0 -0
- package/node_modules/@groove-dev/gui/public/groove-logo-short.png +0 -0
- package/node_modules/@groove-dev/gui/public/groove-logo.png +0 -0
- package/node_modules/@groove-dev/gui/src/components/ui/dropdown-menu.jsx +0 -60
- package/node_modules/@groove-dev/gui/src/lib/hooks/use-media-query.js +0 -18
- package/node_modules/@radix-ui/react-dropdown-menu/LICENSE +0 -21
- package/node_modules/@radix-ui/react-dropdown-menu/README.md +0 -3
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts +0 -97
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts +0 -97
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +0 -337
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +0 -7
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs +0 -305
- package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.map +0 -7
- package/node_modules/@radix-ui/react-dropdown-menu/package.json +0 -75
- package/node_modules/@radix-ui/react-popover/LICENSE +0 -21
- package/node_modules/@radix-ui/react-popover/README.md +0 -3
- package/node_modules/@radix-ui/react-popover/dist/index.d.mts +0 -85
- package/node_modules/@radix-ui/react-popover/dist/index.d.ts +0 -85
- package/node_modules/@radix-ui/react-popover/dist/index.js +0 -352
- package/node_modules/@radix-ui/react-popover/dist/index.js.map +0 -7
- package/node_modules/@radix-ui/react-popover/dist/index.mjs +0 -320
- package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +0 -7
- package/node_modules/@radix-ui/react-popover/package.json +0 -82
- package/node_modules/@radix-ui/react-separator/LICENSE +0 -21
- package/node_modules/@radix-ui/react-separator/README.md +0 -3
- package/node_modules/@radix-ui/react-separator/dist/index.d.mts +0 -21
- package/node_modules/@radix-ui/react-separator/dist/index.d.ts +0 -21
- package/node_modules/@radix-ui/react-separator/dist/index.js +0 -65
- package/node_modules/@radix-ui/react-separator/dist/index.js.map +0 -7
- package/node_modules/@radix-ui/react-separator/dist/index.mjs +0 -32
- package/node_modules/@radix-ui/react-separator/dist/index.mjs.map +0 -7
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/LICENSE +0 -21
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/README.md +0 -3
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts +0 -52
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.ts +0 -52
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js +0 -80
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -7
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -47
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -7
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/package.json +0 -69
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/LICENSE +0 -21
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/README.md +0 -3
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.mts +0 -22
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.ts +0 -22
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js +0 -152
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -7
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -119
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -7
- package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/package.json +0 -64
- package/node_modules/@radix-ui/react-separator/package.json +0 -69
- package/packages/gui/dist/assets/index-BkY43sei.css +0 -1
- package/packages/gui/dist/assets/index-DmKZLrXU.js +0 -652
- package/packages/gui/dist/groove-logo-short.png +0 -0
- package/packages/gui/dist/groove-logo.png +0 -0
- package/packages/gui/public/groove-logo-short.png +0 -0
- package/packages/gui/public/groove-logo.png +0 -0
- package/packages/gui/src/components/ui/dropdown-menu.jsx +0 -60
- package/packages/gui/src/lib/hooks/use-media-query.js +0 -18
- package/slides/convert-slides.js +0 -1120
- package/slides/deck.pptx +0 -0
- package/slides/index.html +0 -825
- package/slides/node_modules/.package-lock.json +0 -527
- package/slides/node_modules/@types/node/LICENSE +0 -21
- package/slides/node_modules/@types/node/README.md +0 -15
- package/slides/node_modules/@types/node/assert/strict.d.ts +0 -111
- package/slides/node_modules/@types/node/assert.d.ts +0 -1078
- package/slides/node_modules/@types/node/async_hooks.d.ts +0 -603
- package/slides/node_modules/@types/node/buffer.buffer.d.ts +0 -472
- package/slides/node_modules/@types/node/buffer.d.ts +0 -1934
- package/slides/node_modules/@types/node/child_process.d.ts +0 -1476
- package/slides/node_modules/@types/node/cluster.d.ts +0 -578
- package/slides/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
- package/slides/node_modules/@types/node/compatibility/index.d.ts +0 -9
- package/slides/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
- package/slides/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
- package/slides/node_modules/@types/node/console.d.ts +0 -452
- package/slides/node_modules/@types/node/constants.d.ts +0 -21
- package/slides/node_modules/@types/node/crypto.d.ts +0 -4545
- package/slides/node_modules/@types/node/dgram.d.ts +0 -600
- package/slides/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
- package/slides/node_modules/@types/node/dns/promises.d.ts +0 -503
- package/slides/node_modules/@types/node/dns.d.ts +0 -923
- package/slides/node_modules/@types/node/domain.d.ts +0 -170
- package/slides/node_modules/@types/node/events.d.ts +0 -976
- package/slides/node_modules/@types/node/fs/promises.d.ts +0 -1295
- package/slides/node_modules/@types/node/fs.d.ts +0 -4461
- package/slides/node_modules/@types/node/globals.d.ts +0 -172
- package/slides/node_modules/@types/node/globals.typedarray.d.ts +0 -38
- package/slides/node_modules/@types/node/http.d.ts +0 -2089
- package/slides/node_modules/@types/node/http2.d.ts +0 -2644
- package/slides/node_modules/@types/node/https.d.ts +0 -579
- package/slides/node_modules/@types/node/index.d.ts +0 -97
- package/slides/node_modules/@types/node/inspector.d.ts +0 -253
- package/slides/node_modules/@types/node/inspector.generated.d.ts +0 -4052
- package/slides/node_modules/@types/node/module.d.ts +0 -891
- package/slides/node_modules/@types/node/net.d.ts +0 -1076
- package/slides/node_modules/@types/node/os.d.ts +0 -506
- package/slides/node_modules/@types/node/package.json +0 -145
- package/slides/node_modules/@types/node/path.d.ts +0 -200
- package/slides/node_modules/@types/node/perf_hooks.d.ts +0 -968
- package/slides/node_modules/@types/node/process.d.ts +0 -2084
- package/slides/node_modules/@types/node/punycode.d.ts +0 -117
- package/slides/node_modules/@types/node/querystring.d.ts +0 -152
- package/slides/node_modules/@types/node/readline/promises.d.ts +0 -161
- package/slides/node_modules/@types/node/readline.d.ts +0 -594
- package/slides/node_modules/@types/node/repl.d.ts +0 -428
- package/slides/node_modules/@types/node/sea.d.ts +0 -153
- package/slides/node_modules/@types/node/sqlite.d.ts +0 -721
- package/slides/node_modules/@types/node/stream/consumers.d.ts +0 -38
- package/slides/node_modules/@types/node/stream/promises.d.ts +0 -90
- package/slides/node_modules/@types/node/stream/web.d.ts +0 -622
- package/slides/node_modules/@types/node/stream.d.ts +0 -1687
- package/slides/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/slides/node_modules/@types/node/test.d.ts +0 -2163
- package/slides/node_modules/@types/node/timers/promises.d.ts +0 -108
- package/slides/node_modules/@types/node/timers.d.ts +0 -287
- package/slides/node_modules/@types/node/tls.d.ts +0 -1319
- package/slides/node_modules/@types/node/trace_events.d.ts +0 -197
- package/slides/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
- package/slides/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
- package/slides/node_modules/@types/node/ts5.6/index.d.ts +0 -97
- package/slides/node_modules/@types/node/tty.d.ts +0 -208
- package/slides/node_modules/@types/node/url.d.ts +0 -984
- package/slides/node_modules/@types/node/util.d.ts +0 -2606
- package/slides/node_modules/@types/node/v8.d.ts +0 -920
- package/slides/node_modules/@types/node/vm.d.ts +0 -1000
- package/slides/node_modules/@types/node/wasi.d.ts +0 -181
- package/slides/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
- package/slides/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/slides/node_modules/@types/node/web-globals/events.d.ts +0 -97
- package/slides/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
- package/slides/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
- package/slides/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/slides/node_modules/@types/node/worker_threads.d.ts +0 -784
- package/slides/node_modules/@types/node/zlib.d.ts +0 -747
- package/slides/node_modules/base64-js/LICENSE +0 -21
- package/slides/node_modules/base64-js/README.md +0 -34
- package/slides/node_modules/base64-js/base64js.min.js +0 -1
- package/slides/node_modules/base64-js/index.d.ts +0 -3
- package/slides/node_modules/base64-js/index.js +0 -150
- package/slides/node_modules/base64-js/package.json +0 -47
- package/slides/node_modules/bl/.travis.yml +0 -17
- package/slides/node_modules/bl/BufferList.js +0 -396
- package/slides/node_modules/bl/LICENSE.md +0 -13
- package/slides/node_modules/bl/README.md +0 -247
- package/slides/node_modules/bl/bl.js +0 -84
- package/slides/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/slides/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/slides/node_modules/bl/node_modules/readable-stream/LICENSE +0 -47
- package/slides/node_modules/bl/node_modules/readable-stream/README.md +0 -106
- package/slides/node_modules/bl/node_modules/readable-stream/errors-browser.js +0 -127
- package/slides/node_modules/bl/node_modules/readable-stream/errors.js +0 -116
- package/slides/node_modules/bl/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
- package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
- package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
- package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js +0 -190
- package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js +0 -641
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/slides/node_modules/bl/node_modules/readable-stream/package.json +0 -68
- package/slides/node_modules/bl/node_modules/readable-stream/readable-browser.js +0 -9
- package/slides/node_modules/bl/node_modules/readable-stream/readable.js +0 -16
- package/slides/node_modules/bl/package.json +0 -37
- package/slides/node_modules/bl/test/convert.js +0 -21
- package/slides/node_modules/bl/test/indexOf.js +0 -492
- package/slides/node_modules/bl/test/isBufferList.js +0 -32
- package/slides/node_modules/bl/test/test.js +0 -869
- package/slides/node_modules/buffer/AUTHORS.md +0 -70
- package/slides/node_modules/buffer/LICENSE +0 -21
- package/slides/node_modules/buffer/README.md +0 -410
- package/slides/node_modules/buffer/index.d.ts +0 -186
- package/slides/node_modules/buffer/index.js +0 -1817
- package/slides/node_modules/buffer/package.json +0 -96
- package/slides/node_modules/canvas/Readme.md +0 -657
- package/slides/node_modules/canvas/binding.gyp +0 -229
- package/slides/node_modules/canvas/browser.js +0 -31
- package/slides/node_modules/canvas/build/Makefile +0 -347
- package/slides/node_modules/canvas/build/Release/canvas.node +0 -0
- package/slides/node_modules/canvas/build/Release/libX11.6.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libXau.6.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libXdmcp.6.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libXext.6.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libXrender.1.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libcairo-gobject.2.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libcairo.2.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libdatrie.1.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libfontconfig.1.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libfreetype.6.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libfribidi.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgdk_pixbuf-2.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgif.7.2.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgio-2.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libglib-2.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgmodule-2.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgobject-2.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libgraphite2.3.2.1.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libharfbuzz.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libintl.8.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libjpeg.8.3.2.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpango-1.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpangocairo-1.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpangoft2-1.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpcre2-8.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpixman-1.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libpng16.16.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/librsvg-2.2.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libthai.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libxcb-render.0.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libxcb-shm.0.0.0.dylib +0 -0
- package/slides/node_modules/canvas/build/Release/libxcb.1.1.0.dylib +0 -0
- package/slides/node_modules/canvas/build/binding.Makefile +0 -6
- package/slides/node_modules/canvas/build/canvas.target.mk +0 -299
- package/slides/node_modules/canvas/build/gyp-mac-tool +0 -766
- package/slides/node_modules/canvas/index.d.ts +0 -507
- package/slides/node_modules/canvas/index.js +0 -94
- package/slides/node_modules/canvas/lib/DOMMatrix.js +0 -678
- package/slides/node_modules/canvas/lib/bindings.js +0 -43
- package/slides/node_modules/canvas/lib/canvas.js +0 -113
- package/slides/node_modules/canvas/lib/context2d.js +0 -11
- package/slides/node_modules/canvas/lib/image.js +0 -97
- package/slides/node_modules/canvas/lib/jpegstream.js +0 -41
- package/slides/node_modules/canvas/lib/pattern.js +0 -15
- package/slides/node_modules/canvas/lib/pdfstream.js +0 -35
- package/slides/node_modules/canvas/lib/pngstream.js +0 -42
- package/slides/node_modules/canvas/package.json +0 -71
- package/slides/node_modules/canvas/src/Backends.h +0 -9
- package/slides/node_modules/canvas/src/Canvas.cc +0 -1026
- package/slides/node_modules/canvas/src/Canvas.h +0 -128
- package/slides/node_modules/canvas/src/CanvasError.h +0 -37
- package/slides/node_modules/canvas/src/CanvasGradient.cc +0 -113
- package/slides/node_modules/canvas/src/CanvasGradient.h +0 -20
- package/slides/node_modules/canvas/src/CanvasPattern.cc +0 -129
- package/slides/node_modules/canvas/src/CanvasPattern.h +0 -33
- package/slides/node_modules/canvas/src/CanvasRenderingContext2d.cc +0 -3527
- package/slides/node_modules/canvas/src/CanvasRenderingContext2d.h +0 -238
- package/slides/node_modules/canvas/src/CharData.h +0 -233
- package/slides/node_modules/canvas/src/FontParser.cc +0 -605
- package/slides/node_modules/canvas/src/FontParser.h +0 -115
- package/slides/node_modules/canvas/src/Image.cc +0 -1719
- package/slides/node_modules/canvas/src/Image.h +0 -146
- package/slides/node_modules/canvas/src/ImageData.cc +0 -138
- package/slides/node_modules/canvas/src/ImageData.h +0 -26
- package/slides/node_modules/canvas/src/InstanceData.h +0 -12
- package/slides/node_modules/canvas/src/JPEGStream.h +0 -157
- package/slides/node_modules/canvas/src/PNG.h +0 -292
- package/slides/node_modules/canvas/src/Point.h +0 -11
- package/slides/node_modules/canvas/src/Util.h +0 -9
- package/slides/node_modules/canvas/src/bmp/BMPParser.cc +0 -459
- package/slides/node_modules/canvas/src/bmp/BMPParser.h +0 -60
- package/slides/node_modules/canvas/src/bmp/LICENSE.md +0 -24
- package/slides/node_modules/canvas/src/closure.cc +0 -52
- package/slides/node_modules/canvas/src/closure.h +0 -98
- package/slides/node_modules/canvas/src/color.cc +0 -796
- package/slides/node_modules/canvas/src/color.h +0 -30
- package/slides/node_modules/canvas/src/dll_visibility.h +0 -20
- package/slides/node_modules/canvas/src/init.cc +0 -114
- package/slides/node_modules/canvas/src/register_font.cc +0 -352
- package/slides/node_modules/canvas/src/register_font.h +0 -7
- package/slides/node_modules/canvas/util/has_lib.js +0 -119
- package/slides/node_modules/canvas/util/win_jpeg_lookup.js +0 -21
- package/slides/node_modules/chownr/LICENSE +0 -15
- package/slides/node_modules/chownr/README.md +0 -3
- package/slides/node_modules/chownr/chownr.js +0 -167
- package/slides/node_modules/chownr/package.json +0 -29
- package/slides/node_modules/core-util-is/LICENSE +0 -19
- package/slides/node_modules/core-util-is/README.md +0 -3
- package/slides/node_modules/core-util-is/lib/util.js +0 -107
- package/slides/node_modules/core-util-is/package.json +0 -38
- package/slides/node_modules/decompress-response/index.d.ts +0 -22
- package/slides/node_modules/decompress-response/index.js +0 -58
- package/slides/node_modules/decompress-response/license +0 -9
- package/slides/node_modules/decompress-response/package.json +0 -56
- package/slides/node_modules/decompress-response/readme.md +0 -48
- package/slides/node_modules/deep-extend/CHANGELOG.md +0 -46
- package/slides/node_modules/deep-extend/LICENSE +0 -20
- package/slides/node_modules/deep-extend/README.md +0 -91
- package/slides/node_modules/deep-extend/index.js +0 -1
- package/slides/node_modules/deep-extend/lib/deep-extend.js +0 -150
- package/slides/node_modules/deep-extend/package.json +0 -62
- package/slides/node_modules/detect-libc/LICENSE +0 -201
- package/slides/node_modules/detect-libc/README.md +0 -163
- package/slides/node_modules/detect-libc/index.d.ts +0 -14
- package/slides/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/slides/node_modules/detect-libc/lib/elf.js +0 -39
- package/slides/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/slides/node_modules/detect-libc/lib/process.js +0 -24
- package/slides/node_modules/detect-libc/package.json +0 -44
- package/slides/node_modules/end-of-stream/LICENSE +0 -21
- package/slides/node_modules/end-of-stream/README.md +0 -54
- package/slides/node_modules/end-of-stream/index.js +0 -96
- package/slides/node_modules/end-of-stream/package.json +0 -37
- package/slides/node_modules/expand-template/.travis.yml +0 -6
- package/slides/node_modules/expand-template/LICENSE +0 -21
- package/slides/node_modules/expand-template/README.md +0 -43
- package/slides/node_modules/expand-template/index.js +0 -26
- package/slides/node_modules/expand-template/package.json +0 -29
- package/slides/node_modules/expand-template/test.js +0 -67
- package/slides/node_modules/fs-constants/LICENSE +0 -21
- package/slides/node_modules/fs-constants/README.md +0 -26
- package/slides/node_modules/fs-constants/browser.js +0 -1
- package/slides/node_modules/fs-constants/index.js +0 -1
- package/slides/node_modules/fs-constants/package.json +0 -19
- package/slides/node_modules/github-from-package/.travis.yml +0 -4
- package/slides/node_modules/github-from-package/LICENSE +0 -18
- package/slides/node_modules/github-from-package/example/package.json +0 -8
- package/slides/node_modules/github-from-package/example/url.js +0 -3
- package/slides/node_modules/github-from-package/index.js +0 -17
- package/slides/node_modules/github-from-package/package.json +0 -30
- package/slides/node_modules/github-from-package/readme.markdown +0 -53
- package/slides/node_modules/github-from-package/test/a.json +0 -8
- package/slides/node_modules/github-from-package/test/b.json +0 -5
- package/slides/node_modules/github-from-package/test/c.json +0 -5
- package/slides/node_modules/github-from-package/test/d.json +0 -7
- package/slides/node_modules/github-from-package/test/e.json +0 -5
- package/slides/node_modules/github-from-package/test/url.js +0 -19
- package/slides/node_modules/https/package.json +0 -15
- package/slides/node_modules/ieee754/LICENSE +0 -11
- package/slides/node_modules/ieee754/README.md +0 -51
- package/slides/node_modules/ieee754/index.d.ts +0 -10
- package/slides/node_modules/ieee754/index.js +0 -85
- package/slides/node_modules/ieee754/package.json +0 -52
- package/slides/node_modules/image-size/LICENSE +0 -9
- package/slides/node_modules/image-size/Readme.md +0 -184
- package/slides/node_modules/image-size/bin/image-size.js +0 -53
- package/slides/node_modules/image-size/dist/detector.d.ts +0 -2
- package/slides/node_modules/image-size/dist/detector.js +0 -30
- package/slides/node_modules/image-size/dist/index.d.ts +0 -10
- package/slides/node_modules/image-size/dist/index.js +0 -129
- package/slides/node_modules/image-size/dist/types/bmp.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/bmp.js +0 -11
- package/slides/node_modules/image-size/dist/types/cur.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/cur.js +0 -17
- package/slides/node_modules/image-size/dist/types/dds.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/dds.js +0 -11
- package/slides/node_modules/image-size/dist/types/gif.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/gif.js +0 -12
- package/slides/node_modules/image-size/dist/types/heif.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/heif.js +0 -40
- package/slides/node_modules/image-size/dist/types/icns.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/icns.js +0 -101
- package/slides/node_modules/image-size/dist/types/ico.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/ico.js +0 -68
- package/slides/node_modules/image-size/dist/types/index.d.ts +0 -23
- package/slides/node_modules/image-size/dist/types/index.js +0 -46
- package/slides/node_modules/image-size/dist/types/interface.d.ts +0 -13
- package/slides/node_modules/image-size/dist/types/interface.js +0 -2
- package/slides/node_modules/image-size/dist/types/j2c.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/j2c.js +0 -12
- package/slides/node_modules/image-size/dist/types/jp2.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/jp2.js +0 -27
- package/slides/node_modules/image-size/dist/types/jpg.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/jpg.js +0 -123
- package/slides/node_modules/image-size/dist/types/jxl-stream.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/jxl-stream.js +0 -45
- package/slides/node_modules/image-size/dist/types/jxl.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/jxl.js +0 -59
- package/slides/node_modules/image-size/dist/types/ktx.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/ktx.js +0 -19
- package/slides/node_modules/image-size/dist/types/png.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/png.js +0 -35
- package/slides/node_modules/image-size/dist/types/pnm.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/pnm.js +0 -72
- package/slides/node_modules/image-size/dist/types/psd.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/psd.js +0 -11
- package/slides/node_modules/image-size/dist/types/svg.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/svg.js +0 -90
- package/slides/node_modules/image-size/dist/types/tga.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/tga.js +0 -15
- package/slides/node_modules/image-size/dist/types/tiff.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/tiff.js +0 -95
- package/slides/node_modules/image-size/dist/types/utils.d.ts +0 -15
- package/slides/node_modules/image-size/dist/types/utils.js +0 -75
- package/slides/node_modules/image-size/dist/types/webp.d.ts +0 -2
- package/slides/node_modules/image-size/dist/types/webp.js +0 -60
- package/slides/node_modules/image-size/dist/utils/bit-reader.d.ts +0 -10
- package/slides/node_modules/image-size/dist/utils/bit-reader.js +0 -44
- package/slides/node_modules/image-size/package.json +0 -81
- package/slides/node_modules/immediate/LICENSE.txt +0 -20
- package/slides/node_modules/immediate/README.md +0 -93
- package/slides/node_modules/immediate/dist/immediate.js +0 -75
- package/slides/node_modules/immediate/dist/immediate.min.js +0 -1
- package/slides/node_modules/immediate/lib/browser.js +0 -69
- package/slides/node_modules/immediate/lib/index.js +0 -73
- package/slides/node_modules/immediate/package.json +0 -42
- package/slides/node_modules/inherits/LICENSE +0 -16
- package/slides/node_modules/inherits/README.md +0 -42
- package/slides/node_modules/inherits/inherits.js +0 -9
- package/slides/node_modules/inherits/inherits_browser.js +0 -27
- package/slides/node_modules/inherits/package.json +0 -29
- package/slides/node_modules/ini/LICENSE +0 -15
- package/slides/node_modules/ini/README.md +0 -102
- package/slides/node_modules/ini/ini.js +0 -206
- package/slides/node_modules/ini/package.json +0 -33
- package/slides/node_modules/isarray/.travis.yml +0 -4
- package/slides/node_modules/isarray/Makefile +0 -6
- package/slides/node_modules/isarray/README.md +0 -60
- package/slides/node_modules/isarray/component.json +0 -19
- package/slides/node_modules/isarray/index.js +0 -5
- package/slides/node_modules/isarray/package.json +0 -45
- package/slides/node_modules/isarray/test.js +0 -20
- package/slides/node_modules/jszip/.codeclimate.yml +0 -16
- package/slides/node_modules/jszip/.editorconfig +0 -8
- package/slides/node_modules/jszip/.eslintrc.js +0 -43
- package/slides/node_modules/jszip/.github/workflows/pr.yaml +0 -58
- package/slides/node_modules/jszip/.jekyll-metadata +0 -0
- package/slides/node_modules/jszip/.travis.yml +0 -17
- package/slides/node_modules/jszip/CHANGES.md +0 -204
- package/slides/node_modules/jszip/LICENSE.markdown +0 -651
- package/slides/node_modules/jszip/README.markdown +0 -33
- package/slides/node_modules/jszip/deps.js +0 -37
- package/slides/node_modules/jszip/dist/jszip.js +0 -11577
- package/slides/node_modules/jszip/dist/jszip.min.js +0 -13
- package/slides/node_modules/jszip/graph.svg +0 -601
- package/slides/node_modules/jszip/index.d.ts +0 -330
- package/slides/node_modules/jszip/lib/base64.js +0 -106
- package/slides/node_modules/jszip/lib/compressedObject.js +0 -74
- package/slides/node_modules/jszip/lib/compressions.js +0 -14
- package/slides/node_modules/jszip/lib/crc32.js +0 -77
- package/slides/node_modules/jszip/lib/defaults.js +0 -11
- package/slides/node_modules/jszip/lib/external.js +0 -18
- package/slides/node_modules/jszip/lib/flate.js +0 -85
- package/slides/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
- package/slides/node_modules/jszip/lib/generate/index.js +0 -57
- package/slides/node_modules/jszip/lib/index.js +0 -55
- package/slides/node_modules/jszip/lib/license_header.js +0 -11
- package/slides/node_modules/jszip/lib/load.js +0 -88
- package/slides/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
- package/slides/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
- package/slides/node_modules/jszip/lib/nodejsUtils.js +0 -57
- package/slides/node_modules/jszip/lib/object.js +0 -384
- package/slides/node_modules/jszip/lib/readable-stream-browser.js +0 -10
- package/slides/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
- package/slides/node_modules/jszip/lib/reader/DataReader.js +0 -116
- package/slides/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
- package/slides/node_modules/jszip/lib/reader/StringReader.js +0 -38
- package/slides/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
- package/slides/node_modules/jszip/lib/reader/readerFor.js +0 -28
- package/slides/node_modules/jszip/lib/signature.js +0 -7
- package/slides/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
- package/slides/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
- package/slides/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
- package/slides/node_modules/jszip/lib/stream/DataWorker.js +0 -116
- package/slides/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
- package/slides/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
- package/slides/node_modules/jszip/lib/support.js +0 -38
- package/slides/node_modules/jszip/lib/utf8.js +0 -275
- package/slides/node_modules/jszip/lib/utils.js +0 -501
- package/slides/node_modules/jszip/lib/zipEntries.js +0 -261
- package/slides/node_modules/jszip/lib/zipEntry.js +0 -293
- package/slides/node_modules/jszip/lib/zipObject.js +0 -133
- package/slides/node_modules/jszip/package.json +0 -67
- package/slides/node_modules/jszip/sponsors.md +0 -21
- package/slides/node_modules/jszip/tsconfig.json +0 -101
- package/slides/node_modules/jszip/vendor/FileSaver.js +0 -247
- package/slides/node_modules/lie/README.md +0 -62
- package/slides/node_modules/lie/dist/lie.js +0 -350
- package/slides/node_modules/lie/dist/lie.min.js +0 -1
- package/slides/node_modules/lie/dist/lie.polyfill.js +0 -358
- package/slides/node_modules/lie/dist/lie.polyfill.min.js +0 -1
- package/slides/node_modules/lie/lib/browser.js +0 -273
- package/slides/node_modules/lie/lib/index.js +0 -298
- package/slides/node_modules/lie/license.md +0 -7
- package/slides/node_modules/lie/lie.d.ts +0 -244
- package/slides/node_modules/lie/package.json +0 -69
- package/slides/node_modules/lie/polyfill.js +0 -4
- package/slides/node_modules/mimic-response/index.d.ts +0 -17
- package/slides/node_modules/mimic-response/index.js +0 -77
- package/slides/node_modules/mimic-response/license +0 -9
- package/slides/node_modules/mimic-response/package.json +0 -42
- package/slides/node_modules/mimic-response/readme.md +0 -78
- package/slides/node_modules/minimist/.eslintrc +0 -29
- package/slides/node_modules/minimist/.github/FUNDING.yml +0 -12
- package/slides/node_modules/minimist/.nycrc +0 -14
- package/slides/node_modules/minimist/CHANGELOG.md +0 -298
- package/slides/node_modules/minimist/LICENSE +0 -18
- package/slides/node_modules/minimist/README.md +0 -121
- package/slides/node_modules/minimist/example/parse.js +0 -4
- package/slides/node_modules/minimist/index.js +0 -263
- package/slides/node_modules/minimist/package.json +0 -75
- package/slides/node_modules/minimist/test/all_bool.js +0 -34
- package/slides/node_modules/minimist/test/bool.js +0 -177
- package/slides/node_modules/minimist/test/dash.js +0 -43
- package/slides/node_modules/minimist/test/default_bool.js +0 -37
- package/slides/node_modules/minimist/test/dotted.js +0 -24
- package/slides/node_modules/minimist/test/kv_short.js +0 -32
- package/slides/node_modules/minimist/test/long.js +0 -33
- package/slides/node_modules/minimist/test/num.js +0 -38
- package/slides/node_modules/minimist/test/parse.js +0 -209
- package/slides/node_modules/minimist/test/parse_modified.js +0 -11
- package/slides/node_modules/minimist/test/proto.js +0 -64
- package/slides/node_modules/minimist/test/short.js +0 -69
- package/slides/node_modules/minimist/test/stop_early.js +0 -17
- package/slides/node_modules/minimist/test/unknown.js +0 -104
- package/slides/node_modules/minimist/test/whitespace.js +0 -10
- package/slides/node_modules/mkdirp-classic/LICENSE +0 -21
- package/slides/node_modules/mkdirp-classic/README.md +0 -18
- package/slides/node_modules/mkdirp-classic/index.js +0 -98
- package/slides/node_modules/mkdirp-classic/package.json +0 -18
- package/slides/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
- package/slides/node_modules/napi-build-utils/LICENSE +0 -21
- package/slides/node_modules/napi-build-utils/README.md +0 -52
- package/slides/node_modules/napi-build-utils/index.js +0 -214
- package/slides/node_modules/napi-build-utils/index.md +0 -0
- package/slides/node_modules/napi-build-utils/package.json +0 -42
- package/slides/node_modules/node-abi/LICENSE +0 -21
- package/slides/node_modules/node-abi/README.md +0 -54
- package/slides/node_modules/node-abi/abi_registry.json +0 -439
- package/slides/node_modules/node-abi/index.js +0 -179
- package/slides/node_modules/node-abi/package.json +0 -45
- package/slides/node_modules/node-addon-api/LICENSE.md +0 -9
- package/slides/node_modules/node-addon-api/README.md +0 -319
- package/slides/node_modules/node-addon-api/common.gypi +0 -20
- package/slides/node_modules/node-addon-api/except.gypi +0 -25
- package/slides/node_modules/node-addon-api/index.js +0 -12
- package/slides/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
- package/slides/node_modules/node-addon-api/napi-inl.h +0 -6607
- package/slides/node_modules/node-addon-api/napi.h +0 -3201
- package/slides/node_modules/node-addon-api/node_addon_api.gyp +0 -32
- package/slides/node_modules/node-addon-api/node_api.gyp +0 -9
- package/slides/node_modules/node-addon-api/noexcept.gypi +0 -26
- package/slides/node_modules/node-addon-api/nothing.c +0 -0
- package/slides/node_modules/node-addon-api/package-support.json +0 -21
- package/slides/node_modules/node-addon-api/package.json +0 -480
- package/slides/node_modules/node-addon-api/tools/README.md +0 -73
- package/slides/node_modules/node-addon-api/tools/check-napi.js +0 -99
- package/slides/node_modules/node-addon-api/tools/clang-format.js +0 -71
- package/slides/node_modules/node-addon-api/tools/conversion.js +0 -301
- package/slides/node_modules/node-addon-api/tools/eslint-format.js +0 -79
- package/slides/node_modules/once/LICENSE +0 -15
- package/slides/node_modules/once/README.md +0 -79
- package/slides/node_modules/once/once.js +0 -42
- package/slides/node_modules/once/package.json +0 -33
- package/slides/node_modules/pako/CHANGELOG.md +0 -164
- package/slides/node_modules/pako/LICENSE +0 -21
- package/slides/node_modules/pako/README.md +0 -191
- package/slides/node_modules/pako/dist/pako.js +0 -6818
- package/slides/node_modules/pako/dist/pako.min.js +0 -1
- package/slides/node_modules/pako/dist/pako_deflate.js +0 -3997
- package/slides/node_modules/pako/dist/pako_deflate.min.js +0 -1
- package/slides/node_modules/pako/dist/pako_inflate.js +0 -3300
- package/slides/node_modules/pako/dist/pako_inflate.min.js +0 -1
- package/slides/node_modules/pako/index.js +0 -14
- package/slides/node_modules/pako/lib/deflate.js +0 -400
- package/slides/node_modules/pako/lib/inflate.js +0 -423
- package/slides/node_modules/pako/lib/utils/common.js +0 -105
- package/slides/node_modules/pako/lib/utils/strings.js +0 -187
- package/slides/node_modules/pako/lib/zlib/README +0 -59
- package/slides/node_modules/pako/lib/zlib/adler32.js +0 -51
- package/slides/node_modules/pako/lib/zlib/constants.js +0 -68
- package/slides/node_modules/pako/lib/zlib/crc32.js +0 -59
- package/slides/node_modules/pako/lib/zlib/deflate.js +0 -1874
- package/slides/node_modules/pako/lib/zlib/gzheader.js +0 -58
- package/slides/node_modules/pako/lib/zlib/inffast.js +0 -345
- package/slides/node_modules/pako/lib/zlib/inflate.js +0 -1556
- package/slides/node_modules/pako/lib/zlib/inftrees.js +0 -343
- package/slides/node_modules/pako/lib/zlib/messages.js +0 -32
- package/slides/node_modules/pako/lib/zlib/trees.js +0 -1222
- package/slides/node_modules/pako/lib/zlib/zstream.js +0 -47
- package/slides/node_modules/pako/package.json +0 -44
- package/slides/node_modules/pptxgenjs/LICENSE +0 -21
- package/slides/node_modules/pptxgenjs/README.md +0 -224
- package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js +0 -96
- package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js.map +0 -1
- package/slides/node_modules/pptxgenjs/dist/pptxgen.cjs.js +0 -7370
- package/slides/node_modules/pptxgenjs/dist/pptxgen.es.js +0 -7368
- package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js +0 -96
- package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js.map +0 -1
- package/slides/node_modules/pptxgenjs/package.json +0 -96
- package/slides/node_modules/pptxgenjs/types/index.d.ts +0 -2679
- package/slides/node_modules/prebuild-install/CHANGELOG.md +0 -131
- package/slides/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
- package/slides/node_modules/prebuild-install/LICENSE +0 -21
- package/slides/node_modules/prebuild-install/README.md +0 -163
- package/slides/node_modules/prebuild-install/asset.js +0 -44
- package/slides/node_modules/prebuild-install/bin.js +0 -78
- package/slides/node_modules/prebuild-install/download.js +0 -142
- package/slides/node_modules/prebuild-install/error.js +0 -14
- package/slides/node_modules/prebuild-install/help.txt +0 -16
- package/slides/node_modules/prebuild-install/index.js +0 -1
- package/slides/node_modules/prebuild-install/log.js +0 -33
- package/slides/node_modules/prebuild-install/package.json +0 -67
- package/slides/node_modules/prebuild-install/proxy.js +0 -35
- package/slides/node_modules/prebuild-install/rc.js +0 -64
- package/slides/node_modules/prebuild-install/util.js +0 -143
- package/slides/node_modules/process-nextick-args/index.js +0 -45
- package/slides/node_modules/process-nextick-args/license.md +0 -19
- package/slides/node_modules/process-nextick-args/package.json +0 -25
- package/slides/node_modules/process-nextick-args/readme.md +0 -18
- package/slides/node_modules/pump/.github/FUNDING.yml +0 -2
- package/slides/node_modules/pump/.travis.yml +0 -5
- package/slides/node_modules/pump/LICENSE +0 -21
- package/slides/node_modules/pump/README.md +0 -74
- package/slides/node_modules/pump/SECURITY.md +0 -5
- package/slides/node_modules/pump/empty.js +0 -1
- package/slides/node_modules/pump/index.js +0 -86
- package/slides/node_modules/pump/package.json +0 -30
- package/slides/node_modules/pump/test-browser.js +0 -66
- package/slides/node_modules/pump/test-node.js +0 -53
- package/slides/node_modules/queue/LICENSE +0 -8
- package/slides/node_modules/queue/index.d.ts +0 -173
- package/slides/node_modules/queue/index.js +0 -195
- package/slides/node_modules/queue/package.json +0 -43
- package/slides/node_modules/queue/readme.md +0 -221
- package/slides/node_modules/rc/LICENSE.APACHE2 +0 -15
- package/slides/node_modules/rc/LICENSE.BSD +0 -26
- package/slides/node_modules/rc/LICENSE.MIT +0 -24
- package/slides/node_modules/rc/README.md +0 -227
- package/slides/node_modules/rc/browser.js +0 -7
- package/slides/node_modules/rc/cli.js +0 -4
- package/slides/node_modules/rc/index.js +0 -53
- package/slides/node_modules/rc/lib/utils.js +0 -104
- package/slides/node_modules/rc/package.json +0 -29
- package/slides/node_modules/rc/test/ini.js +0 -16
- package/slides/node_modules/rc/test/nested-env-vars.js +0 -50
- package/slides/node_modules/rc/test/test.js +0 -59
- package/slides/node_modules/readable-stream/.travis.yml +0 -34
- package/slides/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/slides/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/slides/node_modules/readable-stream/LICENSE +0 -47
- package/slides/node_modules/readable-stream/README.md +0 -58
- package/slides/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/slides/node_modules/readable-stream/duplex-browser.js +0 -1
- package/slides/node_modules/readable-stream/duplex.js +0 -1
- package/slides/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/slides/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/slides/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/slides/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/slides/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/slides/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/slides/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/slides/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/slides/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/slides/node_modules/readable-stream/package.json +0 -52
- package/slides/node_modules/readable-stream/passthrough.js +0 -1
- package/slides/node_modules/readable-stream/readable-browser.js +0 -7
- package/slides/node_modules/readable-stream/readable.js +0 -19
- package/slides/node_modules/readable-stream/transform.js +0 -1
- package/slides/node_modules/readable-stream/writable-browser.js +0 -1
- package/slides/node_modules/readable-stream/writable.js +0 -8
- package/slides/node_modules/safe-buffer/LICENSE +0 -21
- package/slides/node_modules/safe-buffer/README.md +0 -584
- package/slides/node_modules/safe-buffer/index.d.ts +0 -187
- package/slides/node_modules/safe-buffer/index.js +0 -62
- package/slides/node_modules/safe-buffer/package.json +0 -37
- package/slides/node_modules/semver/LICENSE +0 -15
- package/slides/node_modules/semver/README.md +0 -665
- package/slides/node_modules/semver/bin/semver.js +0 -191
- package/slides/node_modules/semver/classes/comparator.js +0 -143
- package/slides/node_modules/semver/classes/index.js +0 -7
- package/slides/node_modules/semver/classes/range.js +0 -557
- package/slides/node_modules/semver/classes/semver.js +0 -333
- package/slides/node_modules/semver/functions/clean.js +0 -8
- package/slides/node_modules/semver/functions/cmp.js +0 -54
- package/slides/node_modules/semver/functions/coerce.js +0 -62
- package/slides/node_modules/semver/functions/compare-build.js +0 -9
- package/slides/node_modules/semver/functions/compare-loose.js +0 -5
- package/slides/node_modules/semver/functions/compare.js +0 -7
- package/slides/node_modules/semver/functions/diff.js +0 -60
- package/slides/node_modules/semver/functions/eq.js +0 -5
- package/slides/node_modules/semver/functions/gt.js +0 -5
- package/slides/node_modules/semver/functions/gte.js +0 -5
- package/slides/node_modules/semver/functions/inc.js +0 -21
- package/slides/node_modules/semver/functions/lt.js +0 -5
- package/slides/node_modules/semver/functions/lte.js +0 -5
- package/slides/node_modules/semver/functions/major.js +0 -5
- package/slides/node_modules/semver/functions/minor.js +0 -5
- package/slides/node_modules/semver/functions/neq.js +0 -5
- package/slides/node_modules/semver/functions/parse.js +0 -18
- package/slides/node_modules/semver/functions/patch.js +0 -5
- package/slides/node_modules/semver/functions/prerelease.js +0 -8
- package/slides/node_modules/semver/functions/rcompare.js +0 -5
- package/slides/node_modules/semver/functions/rsort.js +0 -5
- package/slides/node_modules/semver/functions/satisfies.js +0 -12
- package/slides/node_modules/semver/functions/sort.js +0 -5
- package/slides/node_modules/semver/functions/valid.js +0 -8
- package/slides/node_modules/semver/index.js +0 -91
- package/slides/node_modules/semver/internal/constants.js +0 -37
- package/slides/node_modules/semver/internal/debug.js +0 -11
- package/slides/node_modules/semver/internal/identifiers.js +0 -29
- package/slides/node_modules/semver/internal/lrucache.js +0 -42
- package/slides/node_modules/semver/internal/parse-options.js +0 -17
- package/slides/node_modules/semver/internal/re.js +0 -223
- package/slides/node_modules/semver/package.json +0 -78
- package/slides/node_modules/semver/preload.js +0 -4
- package/slides/node_modules/semver/range.bnf +0 -16
- package/slides/node_modules/semver/ranges/gtr.js +0 -6
- package/slides/node_modules/semver/ranges/intersects.js +0 -9
- package/slides/node_modules/semver/ranges/ltr.js +0 -6
- package/slides/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/slides/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/slides/node_modules/semver/ranges/min-version.js +0 -63
- package/slides/node_modules/semver/ranges/outside.js +0 -82
- package/slides/node_modules/semver/ranges/simplify.js +0 -49
- package/slides/node_modules/semver/ranges/subset.js +0 -249
- package/slides/node_modules/semver/ranges/to-comparators.js +0 -10
- package/slides/node_modules/semver/ranges/valid.js +0 -13
- package/slides/node_modules/setimmediate/LICENSE.txt +0 -20
- package/slides/node_modules/setimmediate/package.json +0 -30
- package/slides/node_modules/setimmediate/setImmediate.js +0 -186
- package/slides/node_modules/simple-concat/.travis.yml +0 -3
- package/slides/node_modules/simple-concat/LICENSE +0 -20
- package/slides/node_modules/simple-concat/README.md +0 -44
- package/slides/node_modules/simple-concat/index.js +0 -15
- package/slides/node_modules/simple-concat/package.json +0 -47
- package/slides/node_modules/simple-concat/test/basic.js +0 -41
- package/slides/node_modules/simple-get/.github/dependabot.yml +0 -15
- package/slides/node_modules/simple-get/.github/workflows/ci.yml +0 -23
- package/slides/node_modules/simple-get/LICENSE +0 -20
- package/slides/node_modules/simple-get/README.md +0 -333
- package/slides/node_modules/simple-get/index.js +0 -108
- package/slides/node_modules/simple-get/package.json +0 -67
- package/slides/node_modules/string_decoder/.travis.yml +0 -50
- package/slides/node_modules/string_decoder/LICENSE +0 -48
- package/slides/node_modules/string_decoder/README.md +0 -47
- package/slides/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/slides/node_modules/string_decoder/package.json +0 -31
- package/slides/node_modules/strip-json-comments/index.js +0 -70
- package/slides/node_modules/strip-json-comments/license +0 -21
- package/slides/node_modules/strip-json-comments/package.json +0 -42
- package/slides/node_modules/strip-json-comments/readme.md +0 -64
- package/slides/node_modules/tar-fs/.travis.yml +0 -6
- package/slides/node_modules/tar-fs/LICENSE +0 -21
- package/slides/node_modules/tar-fs/README.md +0 -165
- package/slides/node_modules/tar-fs/index.js +0 -363
- package/slides/node_modules/tar-fs/package.json +0 -41
- package/slides/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
- package/slides/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
- package/slides/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/slides/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/slides/node_modules/tar-fs/test/index.js +0 -346
- package/slides/node_modules/tar-stream/LICENSE +0 -21
- package/slides/node_modules/tar-stream/README.md +0 -168
- package/slides/node_modules/tar-stream/extract.js +0 -257
- package/slides/node_modules/tar-stream/headers.js +0 -295
- package/slides/node_modules/tar-stream/index.js +0 -2
- package/slides/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/slides/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/slides/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
- package/slides/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
- package/slides/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
- package/slides/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
- package/slides/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -190
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -641
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/slides/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -68
- package/slides/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
- package/slides/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
- package/slides/node_modules/tar-stream/pack.js +0 -255
- package/slides/node_modules/tar-stream/package.json +0 -58
- package/slides/node_modules/tar-stream/sandbox.js +0 -11
- package/slides/node_modules/tunnel-agent/LICENSE +0 -55
- package/slides/node_modules/tunnel-agent/README.md +0 -4
- package/slides/node_modules/tunnel-agent/index.js +0 -244
- package/slides/node_modules/tunnel-agent/package.json +0 -22
- package/slides/node_modules/undici-types/LICENSE +0 -21
- package/slides/node_modules/undici-types/README.md +0 -6
- package/slides/node_modules/undici-types/agent.d.ts +0 -31
- package/slides/node_modules/undici-types/api.d.ts +0 -43
- package/slides/node_modules/undici-types/balanced-pool.d.ts +0 -29
- package/slides/node_modules/undici-types/cache.d.ts +0 -36
- package/slides/node_modules/undici-types/client.d.ts +0 -108
- package/slides/node_modules/undici-types/connector.d.ts +0 -34
- package/slides/node_modules/undici-types/content-type.d.ts +0 -21
- package/slides/node_modules/undici-types/cookies.d.ts +0 -28
- package/slides/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
- package/slides/node_modules/undici-types/dispatcher.d.ts +0 -256
- package/slides/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
- package/slides/node_modules/undici-types/errors.d.ts +0 -149
- package/slides/node_modules/undici-types/eventsource.d.ts +0 -61
- package/slides/node_modules/undici-types/fetch.d.ts +0 -209
- package/slides/node_modules/undici-types/file.d.ts +0 -39
- package/slides/node_modules/undici-types/filereader.d.ts +0 -54
- package/slides/node_modules/undici-types/formdata.d.ts +0 -108
- package/slides/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- package/slides/node_modules/undici-types/global-origin.d.ts +0 -7
- package/slides/node_modules/undici-types/handlers.d.ts +0 -15
- package/slides/node_modules/undici-types/header.d.ts +0 -4
- package/slides/node_modules/undici-types/index.d.ts +0 -71
- package/slides/node_modules/undici-types/interceptors.d.ts +0 -17
- package/slides/node_modules/undici-types/mock-agent.d.ts +0 -50
- package/slides/node_modules/undici-types/mock-client.d.ts +0 -25
- package/slides/node_modules/undici-types/mock-errors.d.ts +0 -12
- package/slides/node_modules/undici-types/mock-interceptor.d.ts +0 -93
- package/slides/node_modules/undici-types/mock-pool.d.ts +0 -25
- package/slides/node_modules/undici-types/package.json +0 -55
- package/slides/node_modules/undici-types/patch.d.ts +0 -33
- package/slides/node_modules/undici-types/pool-stats.d.ts +0 -19
- package/slides/node_modules/undici-types/pool.d.ts +0 -39
- package/slides/node_modules/undici-types/proxy-agent.d.ts +0 -28
- package/slides/node_modules/undici-types/readable.d.ts +0 -65
- package/slides/node_modules/undici-types/retry-agent.d.ts +0 -8
- package/slides/node_modules/undici-types/retry-handler.d.ts +0 -116
- package/slides/node_modules/undici-types/util.d.ts +0 -18
- package/slides/node_modules/undici-types/webidl.d.ts +0 -228
- package/slides/node_modules/undici-types/websocket.d.ts +0 -150
- package/slides/node_modules/util-deprecate/History.md +0 -16
- package/slides/node_modules/util-deprecate/LICENSE +0 -24
- package/slides/node_modules/util-deprecate/README.md +0 -53
- package/slides/node_modules/util-deprecate/browser.js +0 -67
- package/slides/node_modules/util-deprecate/node.js +0 -6
- package/slides/node_modules/util-deprecate/package.json +0 -27
- package/slides/node_modules/wrappy/LICENSE +0 -15
- package/slides/node_modules/wrappy/README.md +0 -36
- package/slides/node_modules/wrappy/package.json +0 -29
- package/slides/node_modules/wrappy/wrappy.js +0 -33
- package/slides/package-lock.json +0 -536
- package/slides/package.json +0 -16
- package/slides/slides.json +0 -238
package/slides/index.html
DELETED
|
@@ -1,825 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>GROOVE — Intelligent Orchestration for AI Coding Agents</title>
|
|
6
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.css">
|
|
7
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/theme/black.css">
|
|
8
|
-
<style>
|
|
9
|
-
:root {
|
|
10
|
-
--bg-1: #0F172A; --bg-2: #1E293B; --bg-3: #334155;
|
|
11
|
-
--surface: rgba(255,255,255,0.04);
|
|
12
|
-
--border: rgba(255,255,255,0.08);
|
|
13
|
-
--text: #F5F5F5; --muted: #94A3B8;
|
|
14
|
-
--accent: #4338CA; --accent-light: #6366F1;
|
|
15
|
-
--amber: #D97706; --amber-light: #F59E0B;
|
|
16
|
-
--rose: #E11D48;
|
|
17
|
-
}
|
|
18
|
-
.reveal { font-family: Arial, Helvetica, sans-serif; color: var(--text); }
|
|
19
|
-
.reveal h1, .reveal h2, .reveal h3 { font-family: Georgia, 'Times New Roman', serif; text-transform: none; }
|
|
20
|
-
.reveal .slides section {
|
|
21
|
-
text-align: left; padding: 3rem; height: 100%; box-sizing: border-box;
|
|
22
|
-
}
|
|
23
|
-
.reveal .slides section::after {
|
|
24
|
-
content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
|
|
25
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
|
|
26
|
-
}
|
|
27
|
-
.reveal .slides section > * { position: relative; z-index: 2; }
|
|
28
|
-
|
|
29
|
-
/* Backgrounds */
|
|
30
|
-
.bg-steel { background: linear-gradient(135deg, #0F172A, #1E293B, #334155); }
|
|
31
|
-
.bg-midnight { background: linear-gradient(135deg, #0B0B1A, #1A1A3E, #0F0F2A); }
|
|
32
|
-
.bg-ink { background: linear-gradient(145deg, #0C0C1D, #151530, #1A1A2E); }
|
|
33
|
-
.bg-obsidian { background: linear-gradient(160deg, #121215, #1C1917, #0C0A09); }
|
|
34
|
-
.bg-deep { background: linear-gradient(135deg, #0A0A1F, #12123A, #1A1A50); }
|
|
35
|
-
|
|
36
|
-
/* Typography */
|
|
37
|
-
.label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.25em; color: var(--accent-light); font-family: Arial, sans-serif; font-weight: 700; margin-bottom: 0.75rem; }
|
|
38
|
-
.brand { font-size: 11px; font-weight: 700; color: var(--text); letter-spacing: 0.05em; position: absolute; top: 1.5rem; left: 3rem; z-index: 10; }
|
|
39
|
-
.category { font-size: 9px; font-weight: 700; color: var(--muted); letter-spacing: 0.3em; text-transform: uppercase; position: absolute; top: 1.5rem; right: 3rem; z-index: 10; }
|
|
40
|
-
.divider { border: none; border-top: 1px solid rgba(255,255,255,0.06); margin: 1.5rem 0; }
|
|
41
|
-
.accent-block { border-left: 3px solid var(--accent); padding-left: 1.5rem; }
|
|
42
|
-
.col-row { display: flex; gap: 3rem; }
|
|
43
|
-
.col-row > div { flex: 1; }
|
|
44
|
-
|
|
45
|
-
/* Slide-specific */
|
|
46
|
-
.hero-number { font-family: Georgia, serif; font-size: 72px; font-weight: 700; color: var(--accent-light); line-height: 1; }
|
|
47
|
-
.hero-unit { font-size: 18px; color: var(--text); font-weight: 700; margin-top: 0.25rem; }
|
|
48
|
-
.pain-word { position: absolute; font-style: italic; color: rgba(255,255,255,0.15); font-family: Arial, sans-serif; }
|
|
49
|
-
|
|
50
|
-
/* Responsive slides */
|
|
51
|
-
.reveal .slides { width: 960px !important; height: 540px !important; }
|
|
52
|
-
.slide-content { position: relative; width: 100%; height: 100%; }
|
|
53
|
-
</style>
|
|
54
|
-
</head>
|
|
55
|
-
<body>
|
|
56
|
-
<div class="reveal"><div class="slides">
|
|
57
|
-
|
|
58
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
59
|
-
SLIDE 1 — TITLE
|
|
60
|
-
═══════════════════════════════════════════════════════════ -->
|
|
61
|
-
<section class="bg-steel">
|
|
62
|
-
<div class="slide-content" style="display:flex; align-items:center; justify-content:space-between;">
|
|
63
|
-
<div style="max-width:55%; padding-top:1rem;">
|
|
64
|
-
<div class="label" style="margin-bottom:1.5rem;">INVESTOR PRESENTATION — 2026</div>
|
|
65
|
-
<h1 style="font-size:56px; margin:0; line-height:1.1; color:#F5F5F5; font-weight:700;">GROOVE.</h1>
|
|
66
|
-
<p style="font-size:22px; color:var(--muted); margin-top:1rem; line-height:1.5; max-width:420px;">
|
|
67
|
-
The intelligent orchestration layer<br>for AI coding agents.
|
|
68
|
-
</p>
|
|
69
|
-
<hr class="divider" style="max-width:280px; margin-top:2rem;">
|
|
70
|
-
<p style="font-size:12px; color:var(--muted); letter-spacing:0.1em;">groovedev.ai</p>
|
|
71
|
-
</div>
|
|
72
|
-
<div style="position:absolute; right:-60px; top:-40px;">
|
|
73
|
-
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" style="width:420px; height:420px; opacity:0.85;">
|
|
74
|
-
<defs>
|
|
75
|
-
<radialGradient id="orb1" cx="35%" cy="30%" r="60%">
|
|
76
|
-
<stop offset="0%" stop-color="#6366F1" stop-opacity="0.5"/>
|
|
77
|
-
<stop offset="40%" stop-color="#4338CA" stop-opacity="0.3"/>
|
|
78
|
-
<stop offset="100%" stop-color="#1E1B4B" stop-opacity="0.05"/>
|
|
79
|
-
</radialGradient>
|
|
80
|
-
<radialGradient id="hl1" cx="30%" cy="25%" r="25%">
|
|
81
|
-
<stop offset="0%" stop-color="#fff" stop-opacity="0.25"/>
|
|
82
|
-
<stop offset="100%" stop-color="#fff" stop-opacity="0"/>
|
|
83
|
-
</radialGradient>
|
|
84
|
-
<filter id="glow1"><feGaussianBlur stdDeviation="20" result="blur"/><feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
|
|
85
|
-
</defs>
|
|
86
|
-
<circle cx="250" cy="250" r="220" fill="url(#orb1)" filter="url(#glow1)"/>
|
|
87
|
-
<circle cx="250" cy="250" r="220" fill="url(#hl1)"/>
|
|
88
|
-
<ellipse cx="250" cy="430" rx="180" ry="20" fill="#000" opacity="0.15" filter="url(#glow1)"/>
|
|
89
|
-
</svg>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</section>
|
|
93
|
-
|
|
94
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
95
|
-
SLIDE 2 — THE PROBLEM
|
|
96
|
-
═══════════════════════════════════════════════════════════ -->
|
|
97
|
-
<section class="bg-midnight">
|
|
98
|
-
<span class="brand">GROOVE.</span>
|
|
99
|
-
<span class="category">THE PROBLEM</span>
|
|
100
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
101
|
-
<div class="label">WHY THIS MATTERS</div>
|
|
102
|
-
<h2 style="font-size:40px; margin:0; line-height:1.2; max-width:52%;">AI coding tools are broken<br>at the multi-agent level.</h2>
|
|
103
|
-
<p style="font-size:15px; color:var(--muted); margin-top:1rem; max-width:48%; line-height:1.6;">
|
|
104
|
-
Agents clash on files. Context degrades mid-session. Every new session starts blind. Tokens vanish with zero transparency.
|
|
105
|
-
</p>
|
|
106
|
-
<!-- Scattered pain words -->
|
|
107
|
-
<span class="pain-word" style="right:80px; top:60px; font-size:22px; opacity:0.18;">Agents Clash</span>
|
|
108
|
-
<span class="pain-word" style="right:40px; top:160px; font-size:17px; opacity:0.13;">Cold-Start Tax</span>
|
|
109
|
-
<span class="pain-word" style="right:120px; top:250px; font-size:20px; opacity:0.16;">Context Decay</span>
|
|
110
|
-
<span class="pain-word" style="right:20px; top:330px; font-size:15px; opacity:0.11;">Invisible Waste</span>
|
|
111
|
-
<span class="pain-word" style="right:90px; top:400px; font-size:18px; opacity:0.14;">Terminal-Only</span>
|
|
112
|
-
<span class="pain-word" style="right:200px; top:120px; font-size:14px; opacity:0.10;">No Coordination</span>
|
|
113
|
-
<span class="pain-word" style="right:180px; top:360px; font-size:16px; opacity:0.12;">Session Loss</span>
|
|
114
|
-
<!-- Atmospheric blob -->
|
|
115
|
-
<svg viewBox="0 0 600 600" style="position:absolute; right:-80px; bottom:-120px; width:450px; opacity:0.4; z-index:1;">
|
|
116
|
-
<defs>
|
|
117
|
-
<radialGradient id="blob-p" cx="40%" cy="40%">
|
|
118
|
-
<stop offset="0%" stop-color="#E11D48" stop-opacity="0.35"/>
|
|
119
|
-
<stop offset="100%" stop-color="#E11D48" stop-opacity="0"/>
|
|
120
|
-
</radialGradient>
|
|
121
|
-
<filter id="blob-blur-p"><feGaussianBlur stdDeviation="35"/></filter>
|
|
122
|
-
</defs>
|
|
123
|
-
<path d="M300,80 C420,80 520,180 500,300 C480,420 380,520 260,500 C140,480 60,380 80,260 C100,140 180,80 300,80 Z" fill="url(#blob-p)" filter="url(#blob-blur-p)"/>
|
|
124
|
-
</svg>
|
|
125
|
-
</div>
|
|
126
|
-
</section>
|
|
127
|
-
|
|
128
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
129
|
-
SLIDE 3 — THE COST OF CHAOS
|
|
130
|
-
═══════════════════════════════════════════════════════════ -->
|
|
131
|
-
<section class="bg-ink">
|
|
132
|
-
<span class="brand">GROOVE.</span>
|
|
133
|
-
<span class="category">MARKET REALITY</span>
|
|
134
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
135
|
-
<div class="label">THE TOKEN CRISIS</div>
|
|
136
|
-
<h2 style="font-size:36px; margin:0; line-height:1.2; max-width:55%;">Providers subsidize billions<br>in wasted compute.</h2>
|
|
137
|
-
<div style="display:flex; gap:4rem; margin-top:2.5rem; align-items:flex-end;">
|
|
138
|
-
<div>
|
|
139
|
-
<div class="hero-number" style="color:var(--amber);">$600M</div>
|
|
140
|
-
<div class="hero-unit">Annual subsidy burn<br><span style="font-size:12px; color:var(--muted);">per 10K Max subscribers</span></div>
|
|
141
|
-
</div>
|
|
142
|
-
<div style="flex:1; max-width:340px;">
|
|
143
|
-
<svg viewBox="0 0 400 200" style="width:100%;">
|
|
144
|
-
<defs>
|
|
145
|
-
<linearGradient id="bar-g1" x1="0" y1="1" x2="0" y2="0">
|
|
146
|
-
<stop offset="0%" stop-color="#D97706" stop-opacity="0.15"/>
|
|
147
|
-
<stop offset="100%" stop-color="#D97706" stop-opacity="0.7"/>
|
|
148
|
-
</linearGradient>
|
|
149
|
-
<linearGradient id="bar-g2" x1="0" y1="1" x2="0" y2="0">
|
|
150
|
-
<stop offset="0%" stop-color="#4338CA" stop-opacity="0.15"/>
|
|
151
|
-
<stop offset="100%" stop-color="#4338CA" stop-opacity="0.7"/>
|
|
152
|
-
</linearGradient>
|
|
153
|
-
</defs>
|
|
154
|
-
<!-- Bars: User pays vs Actual cost -->
|
|
155
|
-
<rect x="30" y="165" width="55" height="25" rx="4" fill="url(#bar-g2)" style="filter:drop-shadow(0 -2px 6px rgba(67,56,202,0.3))"/>
|
|
156
|
-
<rect x="110" y="30" width="55" height="160" rx="4" fill="url(#bar-g1)" style="filter:drop-shadow(0 -3px 10px rgba(217,119,6,0.4))"/>
|
|
157
|
-
<rect x="200" y="155" width="55" height="35" rx="4" fill="url(#bar-g2)" style="filter:drop-shadow(0 -2px 6px rgba(67,56,202,0.3))"/>
|
|
158
|
-
<rect x="280" y="10" width="55" height="180" rx="4" fill="url(#bar-g1)" style="filter:drop-shadow(0 -3px 10px rgba(217,119,6,0.4))"/>
|
|
159
|
-
<!-- Labels -->
|
|
160
|
-
<text x="57" y="198" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">$20</text>
|
|
161
|
-
<text x="137" y="198" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">$200-500</text>
|
|
162
|
-
<text x="227" y="198" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">$200</text>
|
|
163
|
-
<text x="307" y="198" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">$3-5K</text>
|
|
164
|
-
<!-- Group labels -->
|
|
165
|
-
<text x="95" y="12" text-anchor="middle" fill="rgba(255,255,255,0.4)" font-size="10" font-family="Arial" font-weight="bold">Pro</text>
|
|
166
|
-
<text x="265" y="12" text-anchor="middle" fill="rgba(255,255,255,0.4)" font-size="10" font-family="Arial" font-weight="bold">Max</text>
|
|
167
|
-
<text x="57" y="158" text-anchor="middle" fill="rgba(255,255,255,0.35)" font-size="8" font-family="Arial">Pays</text>
|
|
168
|
-
<text x="137" y="24" text-anchor="middle" fill="rgba(255,255,255,0.35)" font-size="8" font-family="Arial">Costs</text>
|
|
169
|
-
</svg>
|
|
170
|
-
</div>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
</section>
|
|
174
|
-
|
|
175
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
176
|
-
SLIDE 4 — THE SOLUTION / 6-LAYER ARCHITECTURE
|
|
177
|
-
═══════════════════════════════════════════════════════════ -->
|
|
178
|
-
<section class="bg-steel">
|
|
179
|
-
<span class="brand">GROOVE.</span>
|
|
180
|
-
<span class="category">THE SOLUTION</span>
|
|
181
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
182
|
-
<div class="label">SIX-LAYER ORCHESTRATION</div>
|
|
183
|
-
<h2 style="font-size:34px; margin:0 0 1.5rem; line-height:1.2; max-width:50%;">The coordination layer your agents are missing.</h2>
|
|
184
|
-
<div style="display:flex; gap:0.5rem; margin-top:0.5rem;">
|
|
185
|
-
<!-- Left: stacked layers -->
|
|
186
|
-
<div style="flex:1; max-width:52%;">
|
|
187
|
-
<div style="display:flex; flex-direction:column; gap:3px;">
|
|
188
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#6366F1;">
|
|
189
|
-
<span style="font-size:10px; color:#6366F1; font-weight:700; letter-spacing:0.15em;">01</span>
|
|
190
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Process Management</span>
|
|
191
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">Spawn, kill, monitor across providers</span>
|
|
192
|
-
</div>
|
|
193
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#818CF8;">
|
|
194
|
-
<span style="font-size:10px; color:#818CF8; font-weight:700; letter-spacing:0.15em;">02</span>
|
|
195
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Coordination</span>
|
|
196
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">File locks, introductions, conflict prevention</span>
|
|
197
|
-
</div>
|
|
198
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#A78BFA;">
|
|
199
|
-
<span style="font-size:10px; color:#A78BFA; font-weight:700; letter-spacing:0.15em;">03</span>
|
|
200
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Intelligence</span>
|
|
201
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">Journalist, rotation, degradation detection</span>
|
|
202
|
-
</div>
|
|
203
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#D97706;">
|
|
204
|
-
<span style="font-size:10px; color:#D97706; font-weight:700; letter-spacing:0.15em;">04</span>
|
|
205
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Cost Optimization</span>
|
|
206
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">Adaptive routing, token tracking, savings</span>
|
|
207
|
-
</div>
|
|
208
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#F59E0B;">
|
|
209
|
-
<span style="font-size:10px; color:#F59E0B; font-weight:700; letter-spacing:0.15em;">05</span>
|
|
210
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Integration</span>
|
|
211
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">MCP servers, federation, scheduling</span>
|
|
212
|
-
</div>
|
|
213
|
-
<div class="accent-block" style="padding:0.35rem 0 0.35rem 1rem; border-color:#FBBF24;">
|
|
214
|
-
<span style="font-size:10px; color:#FBBF24; font-weight:700; letter-spacing:0.15em;">06</span>
|
|
215
|
-
<span style="font-size:13px; color:var(--text); font-weight:700; margin-left:0.5rem;">Interface</span>
|
|
216
|
-
<span style="font-size:11px; color:var(--muted); margin-left:0.5rem;">REST API, WebSocket, React GUI, CLI</span>
|
|
217
|
-
</div>
|
|
218
|
-
</div>
|
|
219
|
-
</div>
|
|
220
|
-
<!-- Right: node network -->
|
|
221
|
-
<div style="flex:1; display:flex; align-items:center; justify-content:center;">
|
|
222
|
-
<svg viewBox="0 0 320 280" style="width:300px;">
|
|
223
|
-
<defs>
|
|
224
|
-
<filter id="ng"><feGaussianBlur stdDeviation="3" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
|
|
225
|
-
</defs>
|
|
226
|
-
<!-- Connections -->
|
|
227
|
-
<path d="M160,30 C160,80 80,80 80,110" fill="none" stroke="#6366F1" stroke-width="1.5" opacity="0.4" filter="url(#ng)"/>
|
|
228
|
-
<path d="M160,30 C160,80 240,80 240,110" fill="none" stroke="#6366F1" stroke-width="1.5" opacity="0.4" filter="url(#ng)"/>
|
|
229
|
-
<path d="M80,110 C80,160 120,160 120,190" fill="none" stroke="#818CF8" stroke-width="1.5" opacity="0.35" filter="url(#ng)"/>
|
|
230
|
-
<path d="M80,110 C50,160 70,190 80,210" fill="none" stroke="#818CF8" stroke-width="1.5" opacity="0.35" filter="url(#ng)"/>
|
|
231
|
-
<path d="M240,110 C240,160 200,160 200,190" fill="none" stroke="#A78BFA" stroke-width="1.5" opacity="0.35" filter="url(#ng)"/>
|
|
232
|
-
<path d="M240,110 C270,160 250,190 240,210" fill="none" stroke="#A78BFA" stroke-width="1.5" opacity="0.35" filter="url(#ng)"/>
|
|
233
|
-
<path d="M120,190 C140,230 170,240 160,260" fill="none" stroke="#D97706" stroke-width="1.5" opacity="0.3" filter="url(#ng)"/>
|
|
234
|
-
<path d="M200,190 C180,230 170,240 160,260" fill="none" stroke="#D97706" stroke-width="1.5" opacity="0.3" filter="url(#ng)"/>
|
|
235
|
-
<!-- Nodes -->
|
|
236
|
-
<circle cx="160" cy="30" r="18" fill="rgba(255,255,255,0.05)" stroke="#6366F1" stroke-width="2" filter="url(#ng)"/>
|
|
237
|
-
<text x="160" y="34" text-anchor="middle" fill="white" font-size="8" font-family="Arial" font-weight="700">GROOVE</text>
|
|
238
|
-
<circle cx="80" cy="110" r="15" fill="rgba(255,255,255,0.04)" stroke="#818CF8" stroke-width="1.5"/>
|
|
239
|
-
<text x="80" y="114" text-anchor="middle" fill="white" font-size="7" font-family="Arial">Claude</text>
|
|
240
|
-
<circle cx="240" cy="110" r="15" fill="rgba(255,255,255,0.04)" stroke="#A78BFA" stroke-width="1.5"/>
|
|
241
|
-
<text x="240" y="114" text-anchor="middle" fill="white" font-size="7" font-family="Arial">Codex</text>
|
|
242
|
-
<circle cx="120" cy="190" r="13" fill="rgba(255,255,255,0.03)" stroke="#D97706" stroke-width="1.5"/>
|
|
243
|
-
<text x="120" y="194" text-anchor="middle" fill="white" font-size="7" font-family="Arial">Gemini</text>
|
|
244
|
-
<circle cx="200" cy="190" r="13" fill="rgba(255,255,255,0.03)" stroke="#F59E0B" stroke-width="1.5"/>
|
|
245
|
-
<text x="200" y="194" text-anchor="middle" fill="white" font-size="7" font-family="Arial">Ollama</text>
|
|
246
|
-
<circle cx="80" cy="210" r="11" fill="rgba(255,255,255,0.03)" stroke="#818CF8" stroke-width="1"/>
|
|
247
|
-
<text x="80" y="214" text-anchor="middle" fill="white" font-size="6" font-family="Arial">Aider</text>
|
|
248
|
-
<circle cx="240" cy="210" r="11" fill="rgba(255,255,255,0.03)" stroke="#A78BFA" stroke-width="1"/>
|
|
249
|
-
<text x="240" y="214" text-anchor="middle" fill="white" font-size="6" font-family="Arial">Future</text>
|
|
250
|
-
<circle cx="160" cy="260" r="16" fill="rgba(255,255,255,0.04)" stroke="#FBBF24" stroke-width="1.5"/>
|
|
251
|
-
<text x="160" y="264" text-anchor="middle" fill="white" font-size="7" font-family="Arial">GUI</text>
|
|
252
|
-
</svg>
|
|
253
|
-
</div>
|
|
254
|
-
</div>
|
|
255
|
-
</div>
|
|
256
|
-
</section>
|
|
257
|
-
|
|
258
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
259
|
-
SLIDE 5 — ZERO COLD-START (THE JOURNALIST)
|
|
260
|
-
═══════════════════════════════════════════════════════════ -->
|
|
261
|
-
<section class="bg-obsidian">
|
|
262
|
-
<span class="brand">GROOVE.</span>
|
|
263
|
-
<span class="category">INTELLIGENCE</span>
|
|
264
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
265
|
-
<div class="label">ZERO COLD-START</div>
|
|
266
|
-
<h2 style="font-size:36px; margin:0; line-height:1.2; max-width:52%;">Open a new session.<br>It already knows everything.</h2>
|
|
267
|
-
<p style="font-size:14px; color:var(--muted); margin-top:0.75rem; max-width:46%; line-height:1.6;">
|
|
268
|
-
The Journalist synthesizes all agent activity into living documentation. New agents read one file and know the entire project state.
|
|
269
|
-
</p>
|
|
270
|
-
<!-- Spline area chart showing context growth -->
|
|
271
|
-
<svg viewBox="0 0 800 220" style="width:100%; margin-top:1.5rem;">
|
|
272
|
-
<defs>
|
|
273
|
-
<linearGradient id="area-j" x1="0" y1="0" x2="0" y2="1">
|
|
274
|
-
<stop offset="0%" stop-color="#4338CA" stop-opacity="0.25"/>
|
|
275
|
-
<stop offset="100%" stop-color="#4338CA" stop-opacity="0"/>
|
|
276
|
-
</linearGradient>
|
|
277
|
-
<filter id="glow-j"><feGaussianBlur stdDeviation="2"/></filter>
|
|
278
|
-
</defs>
|
|
279
|
-
<!-- Grid lines -->
|
|
280
|
-
<line x1="40" y1="30" x2="40" y2="190" stroke="rgba(255,255,255,0.04)" stroke-width="1"/>
|
|
281
|
-
<line x1="40" y1="190" x2="780" y2="190" stroke="rgba(255,255,255,0.06)" stroke-width="1"/>
|
|
282
|
-
<line x1="40" y1="140" x2="780" y2="140" stroke="rgba(255,255,255,0.03)" stroke-width="1" stroke-dasharray="4"/>
|
|
283
|
-
<line x1="40" y1="90" x2="780" y2="90" stroke="rgba(255,255,255,0.03)" stroke-width="1" stroke-dasharray="4"/>
|
|
284
|
-
<!-- Area fill -->
|
|
285
|
-
<path d="M40,185 C120,180 200,160 300,130 S450,70 550,55 C620,45 700,38 780,32 L780,190 L40,190 Z" fill="url(#area-j)"/>
|
|
286
|
-
<!-- Spline -->
|
|
287
|
-
<path d="M40,185 C120,180 200,160 300,130 S450,70 550,55 C620,45 700,38 780,32" fill="none" stroke="#6366F1" stroke-width="2.5" stroke-linecap="round" style="filter:drop-shadow(0 0 6px #4338CA)"/>
|
|
288
|
-
<!-- Data points -->
|
|
289
|
-
<circle cx="40" cy="185" r="3" fill="#6366F1" style="filter:drop-shadow(0 0 6px #4338CA)"/>
|
|
290
|
-
<circle cx="300" cy="130" r="4" fill="#6366F1" style="filter:drop-shadow(0 0 8px #4338CA)"/>
|
|
291
|
-
<circle cx="550" cy="55" r="4" fill="#6366F1" style="filter:drop-shadow(0 0 8px #4338CA)"/>
|
|
292
|
-
<circle cx="780" cy="32" r="5" fill="#6366F1" style="filter:drop-shadow(0 0 10px #4338CA)"/>
|
|
293
|
-
<!-- Labels -->
|
|
294
|
-
<text x="40" y="208" fill="rgba(255,255,255,0.4)" font-size="9" font-family="Arial">Agent 1 spawns</text>
|
|
295
|
-
<text x="280" y="208" fill="rgba(255,255,255,0.4)" font-size="9" font-family="Arial">Journalist cycle</text>
|
|
296
|
-
<text x="520" y="208" fill="rgba(255,255,255,0.4)" font-size="9" font-family="Arial">Agent 3 spawns</text>
|
|
297
|
-
<text x="720" y="208" fill="rgba(255,255,255,0.4)" font-size="9" font-family="Arial">Full context</text>
|
|
298
|
-
<!-- Annotation -->
|
|
299
|
-
<text x="600" y="80" fill="var(--accent-light)" font-size="11" font-family="Georgia" font-style="italic">Zero cold-start</text>
|
|
300
|
-
</svg>
|
|
301
|
-
</div>
|
|
302
|
-
</section>
|
|
303
|
-
|
|
304
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
305
|
-
SLIDE 6 — INFINITE SESSIONS (CONTEXT ROTATION)
|
|
306
|
-
═══════════════════════════════════════════════════════════ -->
|
|
307
|
-
<section class="bg-deep">
|
|
308
|
-
<span class="brand">GROOVE.</span>
|
|
309
|
-
<span class="category">CONTEXT ENGINE</span>
|
|
310
|
-
<div class="slide-content" style="display:flex; align-items:center; padding-top:2rem;">
|
|
311
|
-
<div style="max-width:50%;">
|
|
312
|
-
<div class="label">INFINITE SESSIONS</div>
|
|
313
|
-
<h2 style="font-size:38px; margin:0; line-height:1.15;">Sessions that<br>never degrade.</h2>
|
|
314
|
-
<p style="font-size:14px; color:var(--muted); margin-top:1rem; line-height:1.6;">
|
|
315
|
-
Adaptive rotation detects quality degradation in real-time. Kills the session before it fails. Respawns with fresh context and a perfect handoff brief.
|
|
316
|
-
</p>
|
|
317
|
-
<div style="margin-top:1.5rem;">
|
|
318
|
-
<div class="accent-block" style="margin-bottom:0.75rem; border-color:#D97706;">
|
|
319
|
-
<div style="font-size:13px; color:var(--text); font-weight:700;">Degradation Detection</div>
|
|
320
|
-
<div style="font-size:11px; color:var(--muted);">Sliding window scores health 0-100 every 15s</div>
|
|
321
|
-
</div>
|
|
322
|
-
<div class="accent-block" style="border-color:#4338CA;">
|
|
323
|
-
<div style="font-size:13px; color:var(--text); font-weight:700;">Adaptive Thresholds</div>
|
|
324
|
-
<div style="font-size:11px; color:var(--muted);">Learns per provider + role. Converges in ~10 rotations.</div>
|
|
325
|
-
</div>
|
|
326
|
-
</div>
|
|
327
|
-
</div>
|
|
328
|
-
<!-- Progress arc visual -->
|
|
329
|
-
<div style="flex:1; display:flex; align-items:center; justify-content:center;">
|
|
330
|
-
<svg viewBox="0 0 280 280" style="width:260px;">
|
|
331
|
-
<defs>
|
|
332
|
-
<linearGradient id="arc-g" x1="0" y1="0" x2="1" y2="1">
|
|
333
|
-
<stop offset="0%" stop-color="#6366F1"/>
|
|
334
|
-
<stop offset="100%" stop-color="#4338CA"/>
|
|
335
|
-
</linearGradient>
|
|
336
|
-
</defs>
|
|
337
|
-
<!-- Background arc -->
|
|
338
|
-
<circle cx="140" cy="140" r="110" fill="none" stroke="rgba(255,255,255,0.04)" stroke-width="22"/>
|
|
339
|
-
<!-- Quality arc (90% = 324 of 360) — dasharray = 2*pi*r * pct -->
|
|
340
|
-
<circle cx="140" cy="140" r="110" fill="none" stroke="url(#arc-g)" stroke-width="22"
|
|
341
|
-
stroke-dasharray="622 691" stroke-linecap="round"
|
|
342
|
-
transform="rotate(-90 140 140)" style="filter:drop-shadow(0 0 12px #4338CA)"/>
|
|
343
|
-
<!-- Center content -->
|
|
344
|
-
<text x="140" y="130" text-anchor="middle" fill="white" font-size="42" font-weight="bold" font-family="Georgia">90%</text>
|
|
345
|
-
<text x="140" y="155" text-anchor="middle" fill="var(--muted)" font-size="12" font-family="Arial">Quality Score</text>
|
|
346
|
-
<text x="140" y="175" text-anchor="middle" fill="#6366F1" font-size="10" font-family="Arial" font-weight="700">HEALTHY</text>
|
|
347
|
-
<!-- Threshold marker -->
|
|
348
|
-
<line x1="140" y1="38" x2="140" y2="48" stroke="#D97706" stroke-width="2" transform="rotate(90 140 140)"/>
|
|
349
|
-
<text x="258" y="144" fill="#D97706" font-size="9" font-family="Arial" font-weight="700">75% threshold</text>
|
|
350
|
-
</svg>
|
|
351
|
-
</div>
|
|
352
|
-
</div>
|
|
353
|
-
</section>
|
|
354
|
-
|
|
355
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
356
|
-
SLIDE 7 — ADAPTIVE INTELLIGENCE
|
|
357
|
-
═══════════════════════════════════════════════════════════ -->
|
|
358
|
-
<section class="bg-midnight">
|
|
359
|
-
<span class="brand">GROOVE.</span>
|
|
360
|
-
<span class="category">INTELLIGENCE</span>
|
|
361
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
362
|
-
<div class="label">ADAPTIVE MODEL ROUTING</div>
|
|
363
|
-
<h2 style="font-size:34px; margin:0; line-height:1.2; max-width:52%;">The right model for every task.<br>Automatically.</h2>
|
|
364
|
-
<div style="display:flex; gap:2.5rem; margin-top:1.5rem; align-items:flex-start;">
|
|
365
|
-
<div style="flex:1;">
|
|
366
|
-
<div style="margin-bottom:1rem;">
|
|
367
|
-
<div style="display:flex; align-items:baseline; gap:0.5rem;">
|
|
368
|
-
<span style="font-size:11px; color:#A78BFA; font-weight:700; letter-spacing:0.1em;">HEAVY</span>
|
|
369
|
-
<span style="font-size:20px; color:var(--text); font-weight:700; font-family:Georgia;">Opus</span>
|
|
370
|
-
</div>
|
|
371
|
-
<div style="font-size:11px; color:var(--muted);">Planning, architecture, complex refactors</div>
|
|
372
|
-
<div style="font-size:11px; color:#D97706; margin-top:2px;">$0.045/1K tokens</div>
|
|
373
|
-
</div>
|
|
374
|
-
<hr class="divider">
|
|
375
|
-
<div style="margin-bottom:1rem;">
|
|
376
|
-
<div style="display:flex; align-items:baseline; gap:0.5rem;">
|
|
377
|
-
<span style="font-size:11px; color:#6366F1; font-weight:700; letter-spacing:0.1em;">MEDIUM</span>
|
|
378
|
-
<span style="font-size:20px; color:var(--text); font-weight:700; font-family:Georgia;">Sonnet</span>
|
|
379
|
-
</div>
|
|
380
|
-
<div style="font-size:11px; color:var(--muted);">Backend, frontend, testing</div>
|
|
381
|
-
<div style="font-size:11px; color:#D97706; margin-top:2px;">$0.009/1K tokens</div>
|
|
382
|
-
</div>
|
|
383
|
-
<hr class="divider">
|
|
384
|
-
<div>
|
|
385
|
-
<div style="display:flex; align-items:baseline; gap:0.5rem;">
|
|
386
|
-
<span style="font-size:11px; color:#818CF8; font-weight:700; letter-spacing:0.1em;">LIGHT</span>
|
|
387
|
-
<span style="font-size:20px; color:var(--text); font-weight:700; font-family:Georgia;">Haiku</span>
|
|
388
|
-
</div>
|
|
389
|
-
<div style="font-size:11px; color:var(--muted);">Docs, synthesis, simple queries</div>
|
|
390
|
-
<div style="font-size:11px; color:#D97706; margin-top:2px;">$0.002/1K tokens</div>
|
|
391
|
-
</div>
|
|
392
|
-
</div>
|
|
393
|
-
<!-- Radar chart -->
|
|
394
|
-
<div style="flex:1; display:flex; align-items:center; justify-content:center;">
|
|
395
|
-
<svg viewBox="0 0 280 280" style="width:260px;">
|
|
396
|
-
<defs>
|
|
397
|
-
<filter id="rg"><feGaussianBlur stdDeviation="2" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
|
|
398
|
-
</defs>
|
|
399
|
-
<!-- Concentric hexagons -->
|
|
400
|
-
<polygon points="140,30 230,80 230,180 140,230 50,180 50,80" fill="none" stroke="rgba(255,255,255,0.04)" stroke-width="1"/>
|
|
401
|
-
<polygon points="140,63 207,96 207,164 140,197 73,164 73,96" fill="none" stroke="rgba(255,255,255,0.04)" stroke-width="1"/>
|
|
402
|
-
<polygon points="140,97 183,113 183,147 140,163 97,147 97,113" fill="none" stroke="rgba(255,255,255,0.04)" stroke-width="1"/>
|
|
403
|
-
<!-- Axes -->
|
|
404
|
-
<line x1="140" y1="30" x2="140" y2="230" stroke="rgba(255,255,255,0.03)" stroke-width="1"/>
|
|
405
|
-
<line x1="50" y1="80" x2="230" y2="180" stroke="rgba(255,255,255,0.03)" stroke-width="1"/>
|
|
406
|
-
<line x1="50" y1="180" x2="230" y2="80" stroke="rgba(255,255,255,0.03)" stroke-width="1"/>
|
|
407
|
-
<!-- Data polygon (GROOVE) -->
|
|
408
|
-
<polygon points="140,40 225,88 215,175 140,215 60,170 55,85" fill="#4338CA" fill-opacity="0.15" stroke="#6366F1" stroke-width="2" filter="url(#rg)"/>
|
|
409
|
-
<!-- Competitor polygon (smaller) -->
|
|
410
|
-
<polygon points="140,75 195,105 185,155 140,180 90,155 85,105" fill="#D97706" fill-opacity="0.08" stroke="#D97706" stroke-width="1" stroke-dasharray="4" opacity="0.5"/>
|
|
411
|
-
<!-- Data points -->
|
|
412
|
-
<circle cx="140" cy="40" r="4" fill="#6366F1" style="filter:drop-shadow(0 0 6px #4338CA)"/>
|
|
413
|
-
<circle cx="225" cy="88" r="4" fill="#6366F1"/>
|
|
414
|
-
<circle cx="215" cy="175" r="4" fill="#6366F1"/>
|
|
415
|
-
<circle cx="140" cy="215" r="4" fill="#6366F1"/>
|
|
416
|
-
<circle cx="60" cy="170" r="4" fill="#6366F1"/>
|
|
417
|
-
<circle cx="55" cy="85" r="4" fill="#6366F1"/>
|
|
418
|
-
<!-- Labels -->
|
|
419
|
-
<text x="140" y="20" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Speed</text>
|
|
420
|
-
<text x="248" y="85" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Quality</text>
|
|
421
|
-
<text x="240" y="182" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Accuracy</text>
|
|
422
|
-
<text x="140" y="245" text-anchor="middle" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Cost</text>
|
|
423
|
-
<text x="15" y="178" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Context</text>
|
|
424
|
-
<text x="15" y="82" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Multi-tool</text>
|
|
425
|
-
<!-- Legend -->
|
|
426
|
-
<line x1="60" y1="260" x2="80" y2="260" stroke="#6366F1" stroke-width="2"/>
|
|
427
|
-
<text x="85" y="264" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">GROOVE</text>
|
|
428
|
-
<line x1="150" y1="260" x2="170" y2="260" stroke="#D97706" stroke-width="1" stroke-dasharray="4"/>
|
|
429
|
-
<text x="175" y="264" fill="rgba(255,255,255,0.5)" font-size="9" font-family="Arial">Alternatives</text>
|
|
430
|
-
</svg>
|
|
431
|
-
</div>
|
|
432
|
-
</div>
|
|
433
|
-
</div>
|
|
434
|
-
</section>
|
|
435
|
-
|
|
436
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
437
|
-
SLIDE 8 — TOKEN ECONOMICS (BREATHING SLIDE)
|
|
438
|
-
═══════════════════════════════════════════════════════════ -->
|
|
439
|
-
<section class="bg-ink">
|
|
440
|
-
<span class="brand">GROOVE.</span>
|
|
441
|
-
<span class="category">ECONOMICS</span>
|
|
442
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
443
|
-
<div class="label">TOKEN ECONOMICS</div>
|
|
444
|
-
<h2 style="font-size:36px; margin:0; line-height:1.2; max-width:55%;">Groove pays for itself<br>in the first session.</h2>
|
|
445
|
-
<div style="display:flex; gap:5rem; margin-top:2.5rem;">
|
|
446
|
-
<!-- Metric 1 -->
|
|
447
|
-
<div>
|
|
448
|
-
<div class="hero-number">40–60%</div>
|
|
449
|
-
<div class="hero-unit">Token Savings</div>
|
|
450
|
-
<div style="margin-top:1rem;">
|
|
451
|
-
<svg viewBox="0 0 160 160" style="width:120px;">
|
|
452
|
-
<circle cx="80" cy="80" r="60" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="16"/>
|
|
453
|
-
<circle cx="80" cy="80" r="60" fill="none" stroke="url(#ring-g1)" stroke-width="16"
|
|
454
|
-
stroke-dasharray="188 377" stroke-linecap="round"
|
|
455
|
-
transform="rotate(-90 80 80)" style="filter:drop-shadow(0 0 8px #4338CA)"/>
|
|
456
|
-
<defs><linearGradient id="ring-g1" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="#6366F1"/><stop offset="100%" stop-color="#4338CA"/></linearGradient></defs>
|
|
457
|
-
<text x="80" y="86" text-anchor="middle" fill="white" font-size="22" font-weight="bold" font-family="Georgia">50%</text>
|
|
458
|
-
</svg>
|
|
459
|
-
</div>
|
|
460
|
-
</div>
|
|
461
|
-
<div style="border-left:1px solid rgba(255,255,255,0.06); height:auto;"></div>
|
|
462
|
-
<!-- Metric 2 -->
|
|
463
|
-
<div>
|
|
464
|
-
<div class="hero-number" style="color:var(--amber);">90%</div>
|
|
465
|
-
<div class="hero-unit">Cold-Start Reduction</div>
|
|
466
|
-
<div style="margin-top:1rem;">
|
|
467
|
-
<svg viewBox="0 0 160 160" style="width:120px;">
|
|
468
|
-
<circle cx="80" cy="80" r="60" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="16"/>
|
|
469
|
-
<circle cx="80" cy="80" r="60" fill="none" stroke="url(#ring-g2)" stroke-width="16"
|
|
470
|
-
stroke-dasharray="339 377" stroke-linecap="round"
|
|
471
|
-
transform="rotate(-90 80 80)" style="filter:drop-shadow(0 0 8px #D97706)"/>
|
|
472
|
-
<defs><linearGradient id="ring-g2" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="#F59E0B"/><stop offset="100%" stop-color="#D97706"/></linearGradient></defs>
|
|
473
|
-
<text x="80" y="86" text-anchor="middle" fill="white" font-size="22" font-weight="bold" font-family="Georgia">90%</text>
|
|
474
|
-
</svg>
|
|
475
|
-
</div>
|
|
476
|
-
</div>
|
|
477
|
-
</div>
|
|
478
|
-
</div>
|
|
479
|
-
</section>
|
|
480
|
-
|
|
481
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
482
|
-
SLIDE 9 — MULTI-PROVIDER SUPPORT
|
|
483
|
-
═══════════════════════════════════════════════════════════ -->
|
|
484
|
-
<section class="bg-steel">
|
|
485
|
-
<span class="brand">GROOVE.</span>
|
|
486
|
-
<span class="category">PLATFORM</span>
|
|
487
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
488
|
-
<div class="label">PROVIDER AGNOSTIC</div>
|
|
489
|
-
<h2 style="font-size:34px; margin:0; line-height:1.2; max-width:55%;">One orchestration layer.<br>Every provider.</h2>
|
|
490
|
-
<p style="font-size:13px; color:var(--muted); margin-top:0.5rem; max-width:46%; line-height:1.6;">
|
|
491
|
-
The only orchestrator that works across Claude Code, Codex, Gemini, Ollama, and Aider. Mix models per agent.
|
|
492
|
-
</p>
|
|
493
|
-
<!-- Heatmap grid -->
|
|
494
|
-
<div style="margin-top:1.5rem;">
|
|
495
|
-
<div style="display:grid; grid-template-columns: 120px repeat(5,1fr); gap:2px; max-width:680px;">
|
|
496
|
-
<!-- Header row -->
|
|
497
|
-
<div></div>
|
|
498
|
-
<div style="text-align:center; font-size:9px; color:var(--muted); padding:6px; letter-spacing:0.1em;">CLAUDE</div>
|
|
499
|
-
<div style="text-align:center; font-size:9px; color:var(--muted); padding:6px; letter-spacing:0.1em;">CODEX</div>
|
|
500
|
-
<div style="text-align:center; font-size:9px; color:var(--muted); padding:6px; letter-spacing:0.1em;">GEMINI</div>
|
|
501
|
-
<div style="text-align:center; font-size:9px; color:var(--muted); padding:6px; letter-spacing:0.1em;">OLLAMA</div>
|
|
502
|
-
<div style="text-align:center; font-size:9px; color:var(--muted); padding:6px; letter-spacing:0.1em;">AIDER</div>
|
|
503
|
-
<!-- Row 1: Multi-Agent -->
|
|
504
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Multi-Agent</div>
|
|
505
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
506
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
507
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
508
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
509
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
510
|
-
<!-- Row 2: Context Rotation -->
|
|
511
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Ctx Rotation</div>
|
|
512
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
513
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
514
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
515
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
516
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
517
|
-
<!-- Row 3: Model Routing -->
|
|
518
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Model Routing</div>
|
|
519
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
520
|
-
<div style="background:var(--accent); opacity:0.7; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
521
|
-
<div style="background:var(--accent); opacity:0.7; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
522
|
-
<div style="background:var(--accent); opacity:0.4; padding:8px; text-align:center;"><span style="font-size:12px; opacity:0.6;">—</span></div>
|
|
523
|
-
<div style="background:var(--accent); opacity:0.7; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
524
|
-
<!-- Row 4: Hot Swap -->
|
|
525
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Hot Swap</div>
|
|
526
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
527
|
-
<div style="background:var(--accent); opacity:0.15; padding:8px; text-align:center;"><span style="font-size:12px; opacity:0.4;">✗</span></div>
|
|
528
|
-
<div style="background:var(--accent); opacity:0.15; padding:8px; text-align:center;"><span style="font-size:12px; opacity:0.4;">✗</span></div>
|
|
529
|
-
<div style="background:var(--accent); opacity:0.15; padding:8px; text-align:center;"><span style="font-size:12px; opacity:0.4;">✗</span></div>
|
|
530
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
531
|
-
<!-- Row 5: Token Tracking -->
|
|
532
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Token Tracking</div>
|
|
533
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
534
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
535
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
536
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
537
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
538
|
-
<!-- Row 6: Federation -->
|
|
539
|
-
<div style="font-size:11px; color:var(--text); padding:8px 0; font-weight:600;">Federation</div>
|
|
540
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
541
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
542
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
543
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
544
|
-
<div style="background:var(--accent); opacity:0.85; padding:8px; text-align:center;"><span style="font-size:14px;">✓</span></div>
|
|
545
|
-
</div>
|
|
546
|
-
</div>
|
|
547
|
-
</div>
|
|
548
|
-
</section>
|
|
549
|
-
|
|
550
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
551
|
-
SLIDE 10 — MARKET OPPORTUNITY
|
|
552
|
-
═══════════════════════════════════════════════════════════ -->
|
|
553
|
-
<section class="bg-obsidian">
|
|
554
|
-
<span class="brand">GROOVE.</span>
|
|
555
|
-
<span class="category">MARKET</span>
|
|
556
|
-
<div class="slide-content" style="display:flex; align-items:center; padding-top:2rem;">
|
|
557
|
-
<div style="max-width:48%;">
|
|
558
|
-
<div class="label">MARKET OPPORTUNITY</div>
|
|
559
|
-
<h2 style="font-size:36px; margin:0; line-height:1.2;">The AI dev tooling<br>market is exploding.</h2>
|
|
560
|
-
<div style="margin-top:1.5rem;">
|
|
561
|
-
<div style="margin-bottom:1.2rem;">
|
|
562
|
-
<div style="font-size:11px; color:var(--muted); letter-spacing:0.15em; font-weight:700;">TAM</div>
|
|
563
|
-
<div style="font-size:28px; color:var(--text); font-weight:700; font-family:Georgia;">$45B</div>
|
|
564
|
-
<div style="font-size:11px; color:var(--muted);">AI-assisted software development</div>
|
|
565
|
-
</div>
|
|
566
|
-
<hr class="divider" style="max-width:200px;">
|
|
567
|
-
<div style="margin-bottom:1.2rem;">
|
|
568
|
-
<div style="font-size:11px; color:var(--muted); letter-spacing:0.15em; font-weight:700;">SAM</div>
|
|
569
|
-
<div style="font-size:28px; color:var(--accent-light); font-weight:700; font-family:Georgia;">$8B</div>
|
|
570
|
-
<div style="font-size:11px; color:var(--muted);">AI coding agent orchestration</div>
|
|
571
|
-
</div>
|
|
572
|
-
<hr class="divider" style="max-width:200px;">
|
|
573
|
-
<div>
|
|
574
|
-
<div style="font-size:11px; color:var(--muted); letter-spacing:0.15em; font-weight:700;">SOM</div>
|
|
575
|
-
<div style="font-size:28px; color:var(--amber); font-weight:700; font-family:Georgia;">$800M</div>
|
|
576
|
-
<div style="font-size:11px; color:var(--muted);">Power users on Claude/Codex/Gemini</div>
|
|
577
|
-
</div>
|
|
578
|
-
</div>
|
|
579
|
-
</div>
|
|
580
|
-
<!-- Concentric rings -->
|
|
581
|
-
<div style="flex:1; display:flex; align-items:center; justify-content:center;">
|
|
582
|
-
<svg viewBox="0 0 360 360" style="width:320px;">
|
|
583
|
-
<defs>
|
|
584
|
-
<filter id="cr-glow"><feGaussianBlur stdDeviation="4" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
|
|
585
|
-
</defs>
|
|
586
|
-
<circle cx="180" cy="180" r="160" fill="#4338CA" opacity="0.06" stroke="#4338CA" stroke-width="1" stroke-opacity="0.15"/>
|
|
587
|
-
<circle cx="180" cy="180" r="105" fill="#4338CA" opacity="0.12" stroke="#6366F1" stroke-width="1" stroke-opacity="0.25"/>
|
|
588
|
-
<circle cx="180" cy="180" r="50" fill="#4338CA" opacity="0.25" stroke="#6366F1" stroke-width="2" filter="url(#cr-glow)"/>
|
|
589
|
-
<text x="180" y="185" text-anchor="middle" fill="white" font-size="14" font-weight="bold" font-family="Georgia">$800M</text>
|
|
590
|
-
<text x="180" y="115" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="12" font-family="Georgia">$8B</text>
|
|
591
|
-
<text x="180" y="48" text-anchor="middle" fill="rgba(255,255,255,0.4)" font-size="12" font-family="Georgia">$45B</text>
|
|
592
|
-
</svg>
|
|
593
|
-
</div>
|
|
594
|
-
</div>
|
|
595
|
-
</section>
|
|
596
|
-
|
|
597
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
598
|
-
SLIDE 11 — STRATEGIC MOAT (PROVIDER ALIGNMENT)
|
|
599
|
-
═══════════════════════════════════════════════════════════ -->
|
|
600
|
-
<section class="bg-deep">
|
|
601
|
-
<span class="brand">GROOVE.</span>
|
|
602
|
-
<span class="category">STRATEGY</span>
|
|
603
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
604
|
-
<div class="label">THE UNFORKABLE MOAT</div>
|
|
605
|
-
<h2 style="font-size:34px; margin:0; line-height:1.2; max-width:55%;">Harnesses get banned.<br>GROOVE gets partnered.</h2>
|
|
606
|
-
<!-- Before / After split -->
|
|
607
|
-
<div style="display:flex; gap:0; margin-top:2rem;">
|
|
608
|
-
<!-- Before: Harnesses -->
|
|
609
|
-
<div style="flex:1; padding:1.5rem; border-right:1px solid rgba(255,255,255,0.06);">
|
|
610
|
-
<div style="font-size:11px; color:#E11D48; font-weight:700; letter-spacing:0.2em; margin-bottom:0.75rem;">HARNESSES</div>
|
|
611
|
-
<svg viewBox="0 0 200 120" style="width:100%; margin-bottom:0.75rem;">
|
|
612
|
-
<!-- Chaotic scattered dots -->
|
|
613
|
-
<circle cx="30" cy="40" r="5" fill="#E11D48" opacity="0.5"/><circle cx="80" cy="20" r="3" fill="#E11D48" opacity="0.3"/>
|
|
614
|
-
<circle cx="150" cy="60" r="6" fill="#E11D48" opacity="0.4"/><circle cx="60" cy="80" r="4" fill="#E11D48" opacity="0.35"/>
|
|
615
|
-
<circle cx="120" cy="35" r="3" fill="#E11D48" opacity="0.25"/><circle cx="170" cy="90" r="5" fill="#E11D48" opacity="0.45"/>
|
|
616
|
-
<circle cx="40" cy="100" r="4" fill="#E11D48" opacity="0.3"/><circle cx="100" cy="70" r="3" fill="#E11D48" opacity="0.2"/>
|
|
617
|
-
<circle cx="140" cy="100" r="5" fill="#E11D48" opacity="0.4"/><circle cx="20" cy="70" r="3" fill="#E11D48" opacity="0.25"/>
|
|
618
|
-
<!-- Crossing lines = chaos -->
|
|
619
|
-
<line x1="30" y1="40" x2="150" y2="60" stroke="#E11D48" stroke-width="0.5" opacity="0.2"/>
|
|
620
|
-
<line x1="80" y1="20" x2="60" y2="80" stroke="#E11D48" stroke-width="0.5" opacity="0.2"/>
|
|
621
|
-
<line x1="120" y1="35" x2="40" y2="100" stroke="#E11D48" stroke-width="0.5" opacity="0.2"/>
|
|
622
|
-
</svg>
|
|
623
|
-
<div style="font-size:12px; color:var(--muted); line-height:1.5;">
|
|
624
|
-
Burn tokens faster<br>
|
|
625
|
-
<span style="color:#E11D48;">Adversarial</span> to provider economics<br>
|
|
626
|
-
Result: <span style="color:#E11D48; font-weight:700;">Banned</span>
|
|
627
|
-
</div>
|
|
628
|
-
</div>
|
|
629
|
-
<!-- After: GROOVE -->
|
|
630
|
-
<div style="flex:1; padding:1.5rem;">
|
|
631
|
-
<div style="font-size:11px; color:#6366F1; font-weight:700; letter-spacing:0.2em; margin-bottom:0.75rem;">GROOVE</div>
|
|
632
|
-
<svg viewBox="0 0 200 120" style="width:100%; margin-bottom:0.75rem;">
|
|
633
|
-
<!-- Organized nodes -->
|
|
634
|
-
<circle cx="40" cy="30" r="8" fill="rgba(255,255,255,0.04)" stroke="#6366F1" stroke-width="1.5"/>
|
|
635
|
-
<circle cx="100" cy="30" r="8" fill="rgba(255,255,255,0.04)" stroke="#6366F1" stroke-width="1.5"/>
|
|
636
|
-
<circle cx="160" cy="30" r="8" fill="rgba(255,255,255,0.04)" stroke="#6366F1" stroke-width="1.5"/>
|
|
637
|
-
<circle cx="70" cy="70" r="8" fill="rgba(255,255,255,0.04)" stroke="#818CF8" stroke-width="1.5"/>
|
|
638
|
-
<circle cx="130" cy="70" r="8" fill="rgba(255,255,255,0.04)" stroke="#818CF8" stroke-width="1.5"/>
|
|
639
|
-
<circle cx="100" cy="105" r="10" fill="rgba(255,255,255,0.06)" stroke="#4338CA" stroke-width="2" style="filter:drop-shadow(0 0 6px #4338CA)"/>
|
|
640
|
-
<!-- Clean connections -->
|
|
641
|
-
<line x1="40" y1="38" x2="70" y2="62" stroke="#6366F1" stroke-width="1" opacity="0.4"/>
|
|
642
|
-
<line x1="100" y1="38" x2="70" y2="62" stroke="#6366F1" stroke-width="1" opacity="0.4"/>
|
|
643
|
-
<line x1="100" y1="38" x2="130" y2="62" stroke="#6366F1" stroke-width="1" opacity="0.4"/>
|
|
644
|
-
<line x1="160" y1="38" x2="130" y2="62" stroke="#6366F1" stroke-width="1" opacity="0.4"/>
|
|
645
|
-
<line x1="70" y1="78" x2="100" y2="95" stroke="#818CF8" stroke-width="1" opacity="0.4"/>
|
|
646
|
-
<line x1="130" y1="78" x2="100" y2="95" stroke="#818CF8" stroke-width="1" opacity="0.4"/>
|
|
647
|
-
</svg>
|
|
648
|
-
<div style="font-size:12px; color:var(--muted); line-height:1.5;">
|
|
649
|
-
Accomplish more with fewer tokens<br>
|
|
650
|
-
<span style="color:#6366F1;">Aligned</span> with provider economics<br>
|
|
651
|
-
Result: <span style="color:#6366F1; font-weight:700;">Partnered</span>
|
|
652
|
-
</div>
|
|
653
|
-
</div>
|
|
654
|
-
</div>
|
|
655
|
-
</div>
|
|
656
|
-
</section>
|
|
657
|
-
|
|
658
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
659
|
-
SLIDE 12 — PRODUCT DEPTH
|
|
660
|
-
═══════════════════════════════════════════════════════════ -->
|
|
661
|
-
<section class="bg-midnight">
|
|
662
|
-
<span class="brand">GROOVE.</span>
|
|
663
|
-
<span class="category">PRODUCT</span>
|
|
664
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
665
|
-
<div class="label">WHAT'S BUILT</div>
|
|
666
|
-
<h2 style="font-size:34px; margin:0; line-height:1.2; max-width:55%;">Production-grade.<br>Shipping today.</h2>
|
|
667
|
-
<div style="display:flex; gap:3rem; margin-top:1.5rem;">
|
|
668
|
-
<div style="flex:1;">
|
|
669
|
-
<!-- Vertical metrics with accent borders -->
|
|
670
|
-
<div class="accent-block" style="margin-bottom:1rem; border-color:#6366F1;">
|
|
671
|
-
<div style="font-size:32px; color:var(--accent-light); font-weight:700; font-family:Georgia;">70+</div>
|
|
672
|
-
<div style="font-size:12px; color:var(--muted);">REST API Endpoints</div>
|
|
673
|
-
</div>
|
|
674
|
-
<div class="accent-block" style="margin-bottom:1rem; border-color:#818CF8;">
|
|
675
|
-
<div style="font-size:32px; color:#818CF8; font-weight:700; font-family:Georgia;">59</div>
|
|
676
|
-
<div style="font-size:12px; color:var(--muted);">GUI Components</div>
|
|
677
|
-
</div>
|
|
678
|
-
<div class="accent-block" style="margin-bottom:1rem; border-color:#A78BFA;">
|
|
679
|
-
<div style="font-size:32px; color:#A78BFA; font-weight:700; font-family:Georgia;">42</div>
|
|
680
|
-
<div style="font-size:12px; color:var(--muted);">Daemon Source Files</div>
|
|
681
|
-
</div>
|
|
682
|
-
<div class="accent-block" style="border-color:#D97706;">
|
|
683
|
-
<div style="font-size:32px; color:var(--amber); font-weight:700; font-family:Georgia;">137</div>
|
|
684
|
-
<div style="font-size:12px; color:var(--muted);">Automated Tests</div>
|
|
685
|
-
</div>
|
|
686
|
-
</div>
|
|
687
|
-
<!-- Right: bar chart -->
|
|
688
|
-
<div style="flex:1; display:flex; align-items:center; justify-content:center;">
|
|
689
|
-
<svg viewBox="0 0 300 240" style="width:280px;">
|
|
690
|
-
<defs>
|
|
691
|
-
<linearGradient id="bar-prod" x1="0" y1="1" x2="0" y2="0">
|
|
692
|
-
<stop offset="0%" stop-color="#4338CA" stop-opacity="0.1"/>
|
|
693
|
-
<stop offset="100%" stop-color="#6366F1" stop-opacity="0.8"/>
|
|
694
|
-
</linearGradient>
|
|
695
|
-
</defs>
|
|
696
|
-
<!-- Horizontal bars -->
|
|
697
|
-
<rect x="90" y="15" width="180" height="28" rx="3" fill="url(#bar-prod)" style="filter:drop-shadow(0 0 8px rgba(67,56,202,0.3))"/>
|
|
698
|
-
<rect x="90" y="55" width="150" height="28" rx="3" fill="url(#bar-prod)" style="filter:drop-shadow(0 0 6px rgba(67,56,202,0.2))"/>
|
|
699
|
-
<rect x="90" y="95" width="110" height="28" rx="3" fill="url(#bar-prod)" style="filter:drop-shadow(0 0 6px rgba(67,56,202,0.2))"/>
|
|
700
|
-
<rect x="90" y="135" width="85" height="28" rx="3" fill="url(#bar-prod)" style="filter:drop-shadow(0 0 6px rgba(67,56,202,0.2))"/>
|
|
701
|
-
<rect x="90" y="175" width="55" height="28" rx="3" fill="url(#bar-prod)" style="filter:drop-shadow(0 0 6px rgba(67,56,202,0.2))"/>
|
|
702
|
-
<!-- Labels -->
|
|
703
|
-
<text x="85" y="34" text-anchor="end" fill="rgba(255,255,255,0.5)" font-size="10" font-family="Arial">API</text>
|
|
704
|
-
<text x="85" y="74" text-anchor="end" fill="rgba(255,255,255,0.5)" font-size="10" font-family="Arial">GUI</text>
|
|
705
|
-
<text x="85" y="114" text-anchor="end" fill="rgba(255,255,255,0.5)" font-size="10" font-family="Arial">Daemon</text>
|
|
706
|
-
<text x="85" y="154" text-anchor="end" fill="rgba(255,255,255,0.5)" font-size="10" font-family="Arial">CLI</text>
|
|
707
|
-
<text x="85" y="194" text-anchor="end" fill="rgba(255,255,255,0.5)" font-size="10" font-family="Arial">Tests</text>
|
|
708
|
-
<!-- Values -->
|
|
709
|
-
<text x="275" y="34" fill="rgba(255,255,255,0.6)" font-size="11" font-family="Georgia" font-weight="700">70+</text>
|
|
710
|
-
<text x="245" y="74" fill="rgba(255,255,255,0.6)" font-size="11" font-family="Georgia" font-weight="700">59</text>
|
|
711
|
-
<text x="205" y="114" fill="rgba(255,255,255,0.6)" font-size="11" font-family="Georgia" font-weight="700">42</text>
|
|
712
|
-
<text x="180" y="154" fill="rgba(255,255,255,0.6)" font-size="11" font-family="Georgia" font-weight="700">21+</text>
|
|
713
|
-
<text x="150" y="194" fill="rgba(255,255,255,0.6)" font-size="11" font-family="Georgia" font-weight="700">137</text>
|
|
714
|
-
</svg>
|
|
715
|
-
</div>
|
|
716
|
-
</div>
|
|
717
|
-
</div>
|
|
718
|
-
</section>
|
|
719
|
-
|
|
720
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
721
|
-
SLIDE 13 — BUSINESS MODEL
|
|
722
|
-
═══════════════════════════════════════════════════════════ -->
|
|
723
|
-
<section class="bg-ink">
|
|
724
|
-
<span class="brand">GROOVE.</span>
|
|
725
|
-
<span class="category">BUSINESS MODEL</span>
|
|
726
|
-
<div class="slide-content" style="padding-top:2.5rem;">
|
|
727
|
-
<div class="label">MONETIZATION</div>
|
|
728
|
-
<h2 style="font-size:34px; margin:0; line-height:1.2; max-width:55%;">Free forever at the core.<br>Revenue above.</h2>
|
|
729
|
-
<div style="display:flex; gap:0; margin-top:2rem;">
|
|
730
|
-
<!-- Free tier -->
|
|
731
|
-
<div style="flex:1; padding:0 1.5rem 0 0;">
|
|
732
|
-
<div style="font-size:14px; color:var(--text); font-weight:700; margin-bottom:0.25rem;">Free</div>
|
|
733
|
-
<div style="font-size:36px; color:var(--muted); font-weight:700; font-family:Georgia;">$0</div>
|
|
734
|
-
<hr class="divider">
|
|
735
|
-
<div style="font-size:11px; color:var(--muted); line-height:1.8;">
|
|
736
|
-
3 concurrent agents<br>Basic GUI<br>Community support<br>Manual rotation
|
|
737
|
-
</div>
|
|
738
|
-
</div>
|
|
739
|
-
<div style="width:1px; background:rgba(255,255,255,0.06);"></div>
|
|
740
|
-
<!-- Pro tier (highlighted) -->
|
|
741
|
-
<div style="flex:1; padding:0 1.5rem; background:rgba(255,255,255,0.02);">
|
|
742
|
-
<div style="font-size:14px; color:var(--accent-light); font-weight:700; margin-bottom:0.25rem;">Pro</div>
|
|
743
|
-
<div style="font-size:36px; color:var(--accent-light); font-weight:700; font-family:Georgia;">$20<span style="font-size:16px; color:var(--muted);">/mo</span></div>
|
|
744
|
-
<hr class="divider">
|
|
745
|
-
<div style="font-size:11px; color:var(--muted); line-height:1.8;">
|
|
746
|
-
Unlimited agents<br>Adaptive auto-rotation<br>Full model routing<br>Token dashboard<br>The Journalist
|
|
747
|
-
</div>
|
|
748
|
-
</div>
|
|
749
|
-
<div style="width:1px; background:rgba(255,255,255,0.06);"></div>
|
|
750
|
-
<!-- Team tier -->
|
|
751
|
-
<div style="flex:1; padding:0 0 0 1.5rem;">
|
|
752
|
-
<div style="font-size:14px; color:var(--text); font-weight:700; margin-bottom:0.25rem;">Team</div>
|
|
753
|
-
<div style="font-size:36px; color:var(--text); font-weight:700; font-family:Georgia;">$40<span style="font-size:16px; color:var(--muted);">/user</span></div>
|
|
754
|
-
<hr class="divider">
|
|
755
|
-
<div style="font-size:11px; color:var(--muted); line-height:1.8;">
|
|
756
|
-
Shared registry<br>Admin + budgets<br>Audit + compliance<br>Team-wide synthesis<br>Federation
|
|
757
|
-
</div>
|
|
758
|
-
</div>
|
|
759
|
-
</div>
|
|
760
|
-
<p style="font-size:12px; color:var(--muted); margin-top:1.5rem; font-style:italic; font-family:Georgia;">
|
|
761
|
-
"You saved $284 this month. GROOVE Pro is $20."
|
|
762
|
-
</p>
|
|
763
|
-
</div>
|
|
764
|
-
</section>
|
|
765
|
-
|
|
766
|
-
<!-- ═══════════════════════════════════════════════════════════
|
|
767
|
-
SLIDE 14 — CTA / CLOSING
|
|
768
|
-
═══════════════════════════════════════════════════════════ -->
|
|
769
|
-
<section class="bg-steel">
|
|
770
|
-
<div class="slide-content" style="display:flex; align-items:center; justify-content:space-between;">
|
|
771
|
-
<div style="max-width:55%; padding-top:1rem;">
|
|
772
|
-
<div class="label" style="margin-bottom:1.5rem;">THE OPPORTUNITY</div>
|
|
773
|
-
<h1 style="font-size:48px; margin:0; line-height:1.1; color:#F5F5F5; font-weight:700;">The orchestration layer<br>the industry needs.</h1>
|
|
774
|
-
<p style="font-size:16px; color:var(--muted); margin-top:1.25rem; line-height:1.6; max-width:400px;">
|
|
775
|
-
Multi-provider. Adaptive intelligence.<br>
|
|
776
|
-
Provider-aligned economics.<br>
|
|
777
|
-
Shipping today.
|
|
778
|
-
</p>
|
|
779
|
-
<hr class="divider" style="max-width:280px; margin-top:2rem;">
|
|
780
|
-
<div style="display:flex; gap:2rem; align-items:center;">
|
|
781
|
-
<div>
|
|
782
|
-
<div style="font-size:13px; color:var(--text); font-weight:700;">hello@groovedev.ai</div>
|
|
783
|
-
<div style="font-size:11px; color:var(--muted); margin-top:2px;">groovedev.ai</div>
|
|
784
|
-
</div>
|
|
785
|
-
<div style="font-size:13px; color:var(--accent-light); font-weight:700; font-family:Georgia;">GROOVE.</div>
|
|
786
|
-
</div>
|
|
787
|
-
</div>
|
|
788
|
-
<div style="position:absolute; right:-60px; top:-40px;">
|
|
789
|
-
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" style="width:420px; height:420px; opacity:0.85;">
|
|
790
|
-
<defs>
|
|
791
|
-
<radialGradient id="orb-end" cx="35%" cy="30%" r="60%">
|
|
792
|
-
<stop offset="0%" stop-color="#6366F1" stop-opacity="0.5"/>
|
|
793
|
-
<stop offset="40%" stop-color="#4338CA" stop-opacity="0.3"/>
|
|
794
|
-
<stop offset="100%" stop-color="#1E1B4B" stop-opacity="0.05"/>
|
|
795
|
-
</radialGradient>
|
|
796
|
-
<radialGradient id="hl-end" cx="30%" cy="25%" r="25%">
|
|
797
|
-
<stop offset="0%" stop-color="#fff" stop-opacity="0.25"/>
|
|
798
|
-
<stop offset="100%" stop-color="#fff" stop-opacity="0"/>
|
|
799
|
-
</radialGradient>
|
|
800
|
-
<filter id="glow-end"><feGaussianBlur stdDeviation="20" result="blur"/><feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
|
|
801
|
-
</defs>
|
|
802
|
-
<circle cx="250" cy="250" r="220" fill="url(#orb-end)" filter="url(#glow-end)"/>
|
|
803
|
-
<circle cx="250" cy="250" r="220" fill="url(#hl-end)"/>
|
|
804
|
-
<ellipse cx="250" cy="430" rx="180" ry="20" fill="#000" opacity="0.15" filter="url(#glow-end)"/>
|
|
805
|
-
</svg>
|
|
806
|
-
</div>
|
|
807
|
-
</div>
|
|
808
|
-
</section>
|
|
809
|
-
|
|
810
|
-
</div></div>
|
|
811
|
-
|
|
812
|
-
<!-- Download button -->
|
|
813
|
-
<a href="./deck.pptx" download style="position:fixed;bottom:2rem;right:2rem;z-index:9999;
|
|
814
|
-
background:rgba(255,255,255,0.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
|
|
815
|
-
border:1px solid rgba(255,255,255,0.12);color:#fff;padding:0.75rem 1.5rem;border-radius:12px;
|
|
816
|
-
font:500 14px/1 system-ui,sans-serif;text-decoration:none;letter-spacing:0.03em;
|
|
817
|
-
transition:all 0.2s;box-shadow:0 8px 32px rgba(0,0,0,0.4);"
|
|
818
|
-
onmouseover="this.style.background='rgba(255,255,255,0.16)'"
|
|
819
|
-
onmouseout="this.style.background='rgba(255,255,255,0.08)'"
|
|
820
|
-
>↓ Download PPTX</a>
|
|
821
|
-
|
|
822
|
-
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.js"></script>
|
|
823
|
-
<script>Reveal.initialize({ hash: true, transition: 'fade', backgroundTransition: 'fade', width: 960, height: 540 });</script>
|
|
824
|
-
</body>
|
|
825
|
-
</html>
|