rshow 0.0.0-stage → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -2
  3. package/dist/main.js +8500 -0
  4. package/package.json +48 -4
  5. package/skills/rshow/SKILL.md +144 -0
  6. package/skills/rshow/reference/cli.md +263 -0
  7. package/skills/rshow/reference/dashboard.md +122 -0
  8. package/skills/rshow/reference/mockups.md +113 -0
  9. package/skills/rshow/reference/page-contract.md +83 -0
  10. package/skills/rshow/reference/pages.md +174 -0
  11. package/skills/rshow/reference/poster.md +137 -0
  12. package/skills/rshow/reference/project-page.md +132 -0
  13. package/skills/rshow/reference/reports.md +158 -0
  14. package/skills/rshow/reference/sketch.md +78 -0
  15. package/skills/rshow/reference/terminal.md +148 -0
  16. package/skills/rshow/reference/themes.md +139 -0
  17. package/skills/rshow-implement/SKILL.md +112 -0
  18. package/skills/rshow-implement/reference/compare.md +156 -0
  19. package/skills/rshow-implement/reference/handoff.md +125 -0
  20. package/skills/rshow-implement/reference/map.md +151 -0
  21. package/skills/rshow-slides/SKILL.md +136 -0
  22. package/skills/rshow-slides/reference/layouts.md +251 -0
  23. package/themes/default/dashboard.css +521 -0
  24. package/themes/default/dashboard.js +1390 -0
  25. package/themes/default/deck.css +586 -0
  26. package/themes/default/deck.js +741 -0
  27. package/themes/default/example/capture.ans +1 -0
  28. package/themes/default/example/dashboard.html +106 -0
  29. package/themes/default/example/demo.cast +14 -0
  30. package/themes/default/example/drawing.excalidraw +377 -0
  31. package/themes/default/example/index.html +311 -0
  32. package/themes/default/example/mockup-desktop.html +331 -0
  33. package/themes/default/example/mockup-platforms.html +742 -0
  34. package/themes/default/example/mockup.html +416 -0
  35. package/themes/default/example/page.html +153 -0
  36. package/themes/default/example/poster-figure.svg +58 -0
  37. package/themes/default/example/poster.html +181 -0
  38. package/themes/default/example/project.html +229 -0
  39. package/themes/default/example/report.html +404 -0
  40. package/themes/default/example/results.csv +61 -0
  41. package/themes/default/example/sketch.html +178 -0
  42. package/themes/default/example/teaser.svg +66 -0
  43. package/themes/default/example/terminal.html +231 -0
  44. package/themes/default/example/tui.html +223 -0
  45. package/themes/default/fonts/IBMPlexMono-Regular-Latin1.woff2 +0 -0
  46. package/themes/default/fonts/IBMPlexSans-Light-Latin1.woff2 +0 -0
  47. package/themes/default/fonts/IBMPlexSans-Regular-Latin1.woff2 +0 -0
  48. package/themes/default/fonts/IBMPlexSans-SemiBold-Latin1.woff2 +0 -0
  49. package/themes/default/fonts/OFL.txt +93 -0
  50. package/themes/default/fonts.css +63 -0
  51. package/themes/default/index.html +573 -0
  52. package/themes/default/mockup.css +1078 -0
  53. package/themes/default/mockup.js +1433 -0
  54. package/themes/default/mode.js +242 -0
  55. package/themes/default/page.css +320 -0
  56. package/themes/default/poster.css +480 -0
  57. package/themes/default/poster.js +223 -0
  58. package/themes/default/project.css +482 -0
  59. package/themes/default/project.js +116 -0
  60. package/themes/default/report.css +776 -0
  61. package/themes/default/report.js +427 -0
  62. package/themes/default/sketch.css +166 -0
  63. package/themes/default/sketch.js +681 -0
  64. package/themes/default/skins/adwaita.css +669 -0
  65. package/themes/default/skins/custom.css +596 -0
  66. package/themes/default/skins/egui.css +639 -0
  67. package/themes/default/skins/fluent.css +1093 -0
  68. package/themes/default/skins/fluent.js +458 -0
  69. package/themes/default/skins/mac.css +647 -0
  70. package/themes/default/skins/material.css +692 -0
  71. package/themes/default/skins/sketch.css +436 -0
  72. package/themes/default/skins/sketch.js +494 -0
  73. package/themes/default/skins/wire.css +561 -0
  74. package/themes/default/terminal.css +292 -0
  75. package/themes/default/terminal.js +433 -0
  76. package/themes/default/theme.json +149 -0
  77. package/themes/default/tokens.css +255 -0
  78. package/themes/default/tui.css +703 -0
  79. package/themes/default/tui.js +472 -0
  80. package/worker/index.js +6918 -0
  81. package/worker/migrations/0001_init.sql +52 -0
  82. package/worker/migrations/0002_blobs.sql +5 -0
  83. package/worker/migrations/0003_projects.sql +31 -0
  84. package/worker/migrations/0004_page_data_blob.sql +19 -0
@@ -0,0 +1,52 @@
1
+ CREATE TABLE artifacts (
2
+ slug TEXT PRIMARY KEY,
3
+ title TEXT NOT NULL,
4
+ owner TEXT NOT NULL,
5
+ mode TEXT NOT NULL DEFAULT 'private' CHECK (mode IN ('private', 'people', 'public')),
6
+ pinned INTEGER,
7
+ latest INTEGER,
8
+ created_at TEXT NOT NULL,
9
+ updated_at TEXT NOT NULL
10
+ );
11
+
12
+ CREATE TABLE versions (
13
+ slug TEXT NOT NULL REFERENCES artifacts (slug) ON DELETE CASCADE,
14
+ n INTEGER NOT NULL,
15
+ label TEXT NOT NULL DEFAULT '',
16
+ manifest_key TEXT NOT NULL,
17
+ files INTEGER NOT NULL,
18
+ bytes INTEGER NOT NULL,
19
+ created_by TEXT NOT NULL,
20
+ created_at TEXT NOT NULL,
21
+ PRIMARY KEY (slug, n)
22
+ );
23
+
24
+ CREATE TABLE shares (
25
+ slug TEXT NOT NULL REFERENCES artifacts (slug) ON DELETE CASCADE,
26
+ email TEXT NOT NULL,
27
+ role TEXT NOT NULL CHECK (role IN ('viewer', 'editor')),
28
+ PRIMARY KEY (slug, email)
29
+ );
30
+
31
+ CREATE TABLE tokens (
32
+ hash TEXT PRIMARY KEY,
33
+ email TEXT NOT NULL,
34
+ scope TEXT NOT NULL CHECK (scope IN ('publish', 'full')),
35
+ name TEXT NOT NULL,
36
+ created_at TEXT NOT NULL,
37
+ last_used_at TEXT
38
+ );
39
+
40
+ CREATE TABLE page_data (
41
+ slug TEXT NOT NULL REFERENCES artifacts (slug) ON DELETE CASCADE,
42
+ key TEXT NOT NULL,
43
+ value TEXT NOT NULL,
44
+ updated_by TEXT NOT NULL,
45
+ updated_at TEXT NOT NULL,
46
+ PRIMARY KEY (slug, key)
47
+ );
48
+
49
+ CREATE INDEX artifacts_owner ON artifacts (owner);
50
+ CREATE INDEX shares_email ON shares (email);
51
+ CREATE INDEX tokens_email ON tokens (email);
52
+ CREATE INDEX versions_slug ON versions (slug);
@@ -0,0 +1,5 @@
1
+ CREATE TABLE blobs (
2
+ hash TEXT PRIMARY KEY,
3
+ size INTEGER NOT NULL,
4
+ created_at TEXT NOT NULL
5
+ );
@@ -0,0 +1,31 @@
1
+ CREATE TABLE IF NOT EXISTS projects (
2
+ slug TEXT PRIMARY KEY,
3
+ title TEXT NOT NULL,
4
+ description TEXT NOT NULL DEFAULT '',
5
+ owner TEXT NOT NULL,
6
+ created_at TEXT NOT NULL,
7
+ updated_at TEXT NOT NULL
8
+ );
9
+
10
+ CREATE INDEX IF NOT EXISTS projects_owner ON projects (owner);
11
+
12
+ CREATE TABLE IF NOT EXISTS project_members (
13
+ project TEXT NOT NULL REFERENCES projects (slug) ON DELETE CASCADE,
14
+ email TEXT NOT NULL,
15
+ role TEXT NOT NULL CHECK (role IN ('viewer', 'editor')),
16
+ PRIMARY KEY (project, email)
17
+ );
18
+
19
+ CREATE INDEX IF NOT EXISTS project_members_email ON project_members (email);
20
+
21
+ ALTER TABLE artifacts ADD COLUMN project TEXT;
22
+
23
+ CREATE INDEX IF NOT EXISTS artifacts_project ON artifacts (project);
24
+
25
+ CREATE TABLE IF NOT EXISTS artifact_tags (
26
+ slug TEXT NOT NULL REFERENCES artifacts (slug) ON DELETE CASCADE,
27
+ tag TEXT NOT NULL,
28
+ PRIMARY KEY (slug, tag)
29
+ );
30
+
31
+ CREATE INDEX IF NOT EXISTS artifact_tags_tag ON artifact_tags (tag);
@@ -0,0 +1,19 @@
1
+ -- Large page_data values (keys starting with `sketch-`) live in R2 under
2
+ -- `data/<slug>/<key>.json`; their row keeps a marker in `blob_key` and leaves
3
+ -- `value` NULL. SQLite cannot drop NOT NULL in place, so page_data is rebuilt.
4
+ CREATE TABLE page_data_rebuild (
5
+ slug TEXT NOT NULL REFERENCES artifacts (slug) ON DELETE CASCADE,
6
+ key TEXT NOT NULL,
7
+ value TEXT,
8
+ blob_key TEXT,
9
+ updated_by TEXT NOT NULL,
10
+ updated_at TEXT NOT NULL,
11
+ PRIMARY KEY (slug, key)
12
+ );
13
+
14
+ INSERT INTO page_data_rebuild (slug, key, value, blob_key, updated_by, updated_at)
15
+ SELECT slug, key, value, NULL, updated_by, updated_at FROM page_data;
16
+
17
+ DROP TABLE page_data;
18
+
19
+ ALTER TABLE page_data_rebuild RENAME TO page_data;