glideshow 0.1.2__py3-none-any.whl

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 (103) hide show
  1. glideshow/__init__.py +15 -0
  2. glideshow/__main__.py +3 -0
  3. glideshow/agent.py +681 -0
  4. glideshow/build.py +54 -0
  5. glideshow/cli.py +320 -0
  6. glideshow/comments.py +35 -0
  7. glideshow/decks.py +230 -0
  8. glideshow/docs/agents.md +223 -0
  9. glideshow/docs/deck-format.md +125 -0
  10. glideshow/editor/.assetsignore +5 -0
  11. glideshow/editor/apple-touch-icon.png +0 -0
  12. glideshow/editor/data/font-metrics.json +1 -0
  13. glideshow/editor/data/fonts.json +1 -0
  14. glideshow/editor/data/icons.json +1 -0
  15. glideshow/editor/data/symbols.js +42 -0
  16. glideshow/editor/data/themes.js +15 -0
  17. glideshow/editor/deck/base.css +92 -0
  18. glideshow/editor/deck/present.js +222 -0
  19. glideshow/editor/deck/shapes.js +377 -0
  20. glideshow/editor/deck/template.html +37 -0
  21. glideshow/editor/editor.css +657 -0
  22. glideshow/editor/glideshow-1024.png +0 -0
  23. glideshow/editor/glideshow.svg +10 -0
  24. glideshow/editor/globals.d.ts +21 -0
  25. glideshow/editor/home.html +358 -0
  26. glideshow/editor/index.html +386 -0
  27. glideshow/editor/js/arrange.js +122 -0
  28. glideshow/editor/js/boot.js +66 -0
  29. glideshow/editor/js/boxes.js +25 -0
  30. glideshow/editor/js/comments.js +85 -0
  31. glideshow/editor/js/context-menus.js +93 -0
  32. glideshow/editor/js/dialogs.js +168 -0
  33. glideshow/editor/js/dock.js +22 -0
  34. glideshow/editor/js/draw.js +107 -0
  35. glideshow/editor/js/file.js +318 -0
  36. glideshow/editor/js/find.js +72 -0
  37. glideshow/editor/js/format-panel.js +101 -0
  38. glideshow/editor/js/geometry.js +153 -0
  39. glideshow/editor/js/guides.js +37 -0
  40. glideshow/editor/js/insert.js +73 -0
  41. glideshow/editor/js/keyboard.js +256 -0
  42. glideshow/editor/js/live.js +48 -0
  43. glideshow/editor/js/menubar.js +290 -0
  44. glideshow/editor/js/menus.js +93 -0
  45. glideshow/editor/js/motion.js +148 -0
  46. glideshow/editor/js/notes.js +63 -0
  47. glideshow/editor/js/objects.js +202 -0
  48. glideshow/editor/js/people.js +73 -0
  49. glideshow/editor/js/phone-comments.js +43 -0
  50. glideshow/editor/js/phone-edit.js +253 -0
  51. glideshow/editor/js/phone-home.js +51 -0
  52. glideshow/editor/js/phone-mode.js +73 -0
  53. glideshow/editor/js/phone-sheets.js +153 -0
  54. glideshow/editor/js/phone-touch.js +145 -0
  55. glideshow/editor/js/phone-view.js +150 -0
  56. glideshow/editor/js/pointer.js +407 -0
  57. glideshow/editor/js/render.js +353 -0
  58. glideshow/editor/js/shortcuts.js +67 -0
  59. glideshow/editor/js/slides.js +120 -0
  60. glideshow/editor/js/spacing.js +23 -0
  61. glideshow/editor/js/state.js +58 -0
  62. glideshow/editor/js/storage.js +250 -0
  63. glideshow/editor/js/text.js +366 -0
  64. glideshow/editor/js/theme-toggle.js +41 -0
  65. glideshow/editor/js/theme.js +173 -0
  66. glideshow/editor/js/toolbar-groups.js +109 -0
  67. glideshow/editor/js/toolbar.js +372 -0
  68. glideshow/editor/lib/browser-db.js +47 -0
  69. glideshow/editor/lib/library.js +612 -0
  70. glideshow/editor/lib/merge.js +174 -0
  71. glideshow/editor/lib/move-local.js +51 -0
  72. glideshow/editor/lib/onefile.js +108 -0
  73. glideshow/editor/lib/store-browser.js +75 -0
  74. glideshow/editor/lib/store-folder.js +109 -0
  75. glideshow/editor/local/sw.js +66 -0
  76. glideshow/editor/local/tsconfig.json +5 -0
  77. glideshow/editor/looks/glider.svg +9 -0
  78. glideshow/editor/looks/thermal-phone.css +144 -0
  79. glideshow/editor/looks/thermal.css +268 -0
  80. glideshow/editor/manifest.json +23 -0
  81. glideshow/editor/phone.css +345 -0
  82. glideshow/editor/share/share.css +124 -0
  83. glideshow/editor/share/share.js +256 -0
  84. glideshow/editor/share/speaker.html +88 -0
  85. glideshow/editor/tsconfig.json +6 -0
  86. glideshow/figure.py +33 -0
  87. glideshow/fonts.py +63 -0
  88. glideshow/gslides.py +1065 -0
  89. glideshow/history.py +210 -0
  90. glideshow/merge.py +210 -0
  91. glideshow/osutil.py +44 -0
  92. glideshow/pptx_export.py +207 -0
  93. glideshow/pptx_import.py +115 -0
  94. glideshow/publish.py +106 -0
  95. glideshow/render.py +288 -0
  96. glideshow/server.py +549 -0
  97. glideshow/service.py +65 -0
  98. glideshow/skills/glideshow/SKILL.md +85 -0
  99. glideshow-0.1.2.dist-info/METADATA +69 -0
  100. glideshow-0.1.2.dist-info/RECORD +103 -0
  101. glideshow-0.1.2.dist-info/WHEEL +4 -0
  102. glideshow-0.1.2.dist-info/entry_points.txt +2 -0
  103. glideshow-0.1.2.dist-info/licenses/LICENSE +662 -0
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: glideshow
3
+ description: Make or edit slide decks with Glideshow (reveal.js decks of positioned boxes, one folder each, usually in ~/decks). Use whenever the user asks for slides, a deck, a presentation, a talk, a lab-meeting update or "a slide about …", or asks to change or add to an existing Glideshow deck. Not for Google Slides files or .pptx output.
4
+ ---
5
+
6
+ A deck is one folder, usually `~/decks/<slug>/` (or a subfolder of it), holding `deck.html` (a reveal.js file) and
7
+ `assets/`. You write its slides with `glideshow put`, one `<section>` at a time; never read `deck.html` itself (it is
8
+ ~180 KB of inlined CSS/JS). If the editor has the deck open, it reloads within a second and keeps what you wrote. The
9
+ background server (any of `new --no-open`, `slides`, `put`, `check`, `render`, `figure` starts it if needed; nothing
10
+ opens) makes every change a version in the deck's history, so nothing you do is lost.
11
+
12
+ Everything below uses the `glideshow` command. If the shell can't find it, Glideshow isn't installed on this computer;
13
+ say so and stop.
14
+
15
+ ## Read first
16
+ 1. `glideshow docs`: the guide and recipes (the commands, layout grid, colours, title + bullets, boxes in a row or grid,
17
+ a diagram with connectors, a plot from a script, an equation, a callout on an image, Morph, speaker notes). Read it every
18
+ time. `glideshow docs reference` is the full format reference (every `data-shape` preset, lines and connectors, images
19
+ and crop, groups, layouts and placeholders, the theme block, notes, fragments): read it only when you need an
20
+ attribute the guide doesn't show.
21
+ 2. If the deck exists, read its outline before changing it: `glideshow slides <deck> --outline` (one line per slide: number,
22
+ layout, title, each box's id and first words). Then `glideshow slides <deck> N` for the HTML of only the slides you
23
+ will change. The outline shows `NOTE` stickies in full: they are instructions from the user; do them, then delete the
24
+ note. Run `glideshow comments <deck>` too: the open comments (from the user and people the deck was shared with), each
25
+ on the slide it's on now. Slide numbers: N in the file; the editor's 8.1 (a stack's sub-slide) works too.
26
+ 3. When the user says "this", "here" or "the selected …", run `glideshow selection` first: it prints the deck open in the
27
+ editor, the slide on show and the selected boxes (ids and text). Edit those. If it exits 1, no editor window is open:
28
+ ask which slide they mean.
29
+
30
+ ## Making a deck
31
+ - New deck: `glideshow new "<title>" --no-open` creates `~/decks/<slug>-<date>/deck.html` from the template (a title
32
+ slide, the Simple Light theme) with an `AGENTS.md` beside it, and prints its folder; the user's editor is left alone.
33
+ Never copy the template by hand.
34
+ - Find an existing deck: `glideshow find <words from its name>` prints its folder (nothing is opened).
35
+ - Write slides with **put**: `glideshow put <deck> --after N <<'EOF' … EOF` inserts the `<section>`s (several at once is
36
+ fine; `--after 0` puts them first), `glideshow put <deck> N` replaces slide N (edit what `slides <deck> N` printed and
37
+ send it back), `glideshow put <deck> --delete N …` removes slides, `glideshow put <deck> --all` replaces every slide
38
+ (a script that builds the whole deck pipes its slides into it; never let a script rewrite `deck.html` itself). It refuses, writing nothing, on an unclosed `<div>`,
39
+ an id the deck already uses or a copied `data-sid`; fix and send again.
40
+ - Use the **layouts**: `glideshow layout <name> --prefix <slide-name> --deck <deck>` prints a slide in that layout (its
41
+ placeholder boxes at their exact places, with ids the deck doesn't use yet); replace the placeholders' text and put it. `glideshow layout` lists the layouts. Free boxes are fine for diagrams and figures. A deck imported from Google
42
+ Slides styles its text inline, not by the theme: add `--like <N>` to copy slide N's title and body styles, so a new
43
+ slide matches the deck.
44
+ - Boxes in a row, column or grid: give them the same `data-flow="row"` (or `"column"`, `"grid 3"`, then optionally an
45
+ area `x,y,w,h` and `gap N`) and no geometry; `put` works out their pixels. Lines attached with `data-from`/`data-to`
46
+ need no geometry either.
47
+ - Prefer `data-shape` presets, lines with `data-from`/`data-to` for diagrams, `.box.image` for pictures saved into
48
+ `assets/`, and `<aside class="notes">` for what to say. Never hand-write SVG, `--tx-*` or `--sh*` variables, or
49
+ editor-only attributes.
50
+ - Plots: `glideshow figure size <deck> --slide N` gives the figsize that fits the space and a script to start from (it
51
+ declares its dependencies, uses the deck's `deck.mplstyle`, and saves with `glideshow.figure.save`, which lets `check`
52
+ see the figure's labels); keep the script in the deck's `src/`, save into its `assets/`, then `glideshow figure add
53
+ <deck> assets/fig.png --slide N --id <id> --alt "<what it shows>" --source "<command that makes it, {out} = the
54
+ picture's path>"`. To update it: `glideshow figure refresh <deck> <id>`
55
+ re-runs that command, or `glideshow figure add <deck> new.png --replace <id>` swaps a picture in place.
56
+ - Diagrams: attach arrows with `data-from` / `data-to` ("id:b"); they follow their boxes when the deck loads, so you never
57
+ recompute an arrow after moving a box. Both ends on the same side (`a:b` → `c:b`, an elbow) draw a U (a feedback edge);
58
+ write arrows in the direction they mean, the head on `data-end`.
59
+ - Equations are LaTeX inside `$$…$$` in a box; code goes in `<pre><code class="language-python">`.
60
+ - Beyond static slides (all in `glideshow docs`): **Morph** to build a diagram up step by step (one slide per step, ids unique in
61
+ the deck; each later step has `data-auto-animate` and `data-morph="<id on the slide before>"` on boxes that carry over;
62
+ the recipe in `glideshow docs`); build effects such as `fade-in-then-semi-out` with
63
+ `data-build="paragraph"` to walk through bullets; pictures stacked to replace each other in place; a **live box** (an
64
+ HTML page with its own script in `assets/`, sandboxed) for a demo or simulation; video or web-page backgrounds; a
65
+ slide's own `<style class="slide-css" media="not all">`.
66
+ - One idea per slide, at most about six body lines, text at least 24 px (1 pt = 2.667 px). Every box has a unique `id`.
67
+
68
+ ## Check your work
69
+ `glideshow check <deck> [N …]` (about two seconds) lists every problem: text spilling out of a box, code cut off, boxes
70
+ off the slide, text overlapping text, pictures or lines, text under 24 px or with too little contrast, pictures squeezed
71
+ into a box of another shape or without alt text, missing or duplicate ids, broken arrows, Morph steps with no partner,
72
+ notes left over, broken structure, and inside figures saved with `glideshow.figure.save`: labels overlapping or cut off,
73
+ small text, missing characters. Fix them until it says "no problems found". Then look, cheaply: `glideshow render <deck>
74
+ --sheet` puts nine slides in each picture (for balance and alignment across the deck); `glideshow render <deck> N …`
75
+ renders single slides at 960 × 540 (`--full` for 1920 × 1080 when you need to read small text). Render only the slides you
76
+ changed. If the user has the editor open, tell them which slides changed.
77
+
78
+ ## Checklist before you stop
79
+ - slides written with `glideshow put`; every box has a unique `id`; geometry only in inline `left/top/width/height` (or `data-flow`)
80
+ - no SVG, no `--tx-*`/`--sh*`, no editor-only attributes written by hand
81
+ - text lives in `.content`; pictures in `assets/`, with `alt`
82
+ - placeholders used for titles and body text where a layout fits; `data-layout` set
83
+ - notes done and deleted; `glideshow check` says "no problems found" and you looked at `glideshow render --sheet` (or the changed slides)
84
+
85
+ Don't commit; the editor's own save commits when the deck is in a git repo.
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.5
2
+ Name: glideshow
3
+ Version: 0.1.2
4
+ Summary: Slides you own: a Google Slides-style editor whose decks are plain HTML folders that AI agents can edit
5
+ Project-URL: Homepage, https://glideshow.org
6
+ Project-URL: Source, https://github.com/heyodog0/glideshow
7
+ License-Expression: AGPL-3.0-or-later
8
+ License-File: LICENSE
9
+ Requires-Python: >=3.10
10
+ Provides-Extra: pptx
11
+ Requires-Dist: python-pptx>=0.6.23; extra == 'pptx'
12
+ Description-Content-Type: text/markdown
13
+
14
+ <img src="editor/glideshow.svg" width="72" alt="">
15
+
16
+ # Glideshow <sup>alpha</sup>
17
+
18
+ Slides you own. A Google Slides–style editor whose decks are plain HTML folders you keep, that AI agents can read and
19
+ edit alongside you.
20
+
21
+ A deck is `deck.html` plus `assets/`: each slide a `<section>`, everything on it a positioned box on a 1920 × 1080
22
+ canvas. The editor reads and writes that file, an agent can edit it directly (the editor follows live), and the folder
23
+ presents in any browser. Every save is a version in git.
24
+
25
+ ## Install
26
+
27
+ Needs Python 3.10+ and Chrome; macOS, Linux and Windows.
28
+
29
+ ```console
30
+ $ uv tool install git+https://github.com/heyodog0/glideshow
31
+ $ glideshow # the home screen: your decks (in ~/decks)
32
+ $ glideshow new "Lab meeting" # a new deck, opened in the editor
33
+ $ glideshow build lab-meeting out/ # a copy that presents offline
34
+ ```
35
+
36
+ Or use it online, with nothing to install, at [glideshow.org](https://glideshow.org).
37
+
38
+ ## Docs
39
+
40
+ - [Deck format](docs/deck-format.md): `deck.html`, attribute by attribute.
41
+ - [For agents](docs/agents.md): layout and recipes; every deck gets a copy as `AGENTS.md`. The Claude Code skill is in
42
+ `skills/glideshow`.
43
+ - [Keyboard shortcuts](docs/shortcuts.md)
44
+ - [Running it online](docs/self-hosting.md): your own glideshow.org on Cloudflare.
45
+
46
+ ## Contributing
47
+
48
+ Issues and pull requests are welcome. Before sending one, run `tools/check.sh` (types and lint) and `uv run test/smoke.py`
49
+ (the editor end to end, in Chrome).
50
+
51
+ ## Releasing
52
+
53
+ Work lands on `main` (small changes directly, bigger ones through a short branch and a pull request). Every push to
54
+ `main` that passes the checks goes to [dev.glideshow.org](https://dev.glideshow.org), the nightly channel
55
+ (`uv tool install git+https://github.com/heyodog0/glideshow@main` for the command). A release is a version tag:
56
+
57
+ ```console
58
+ $ # bump `version` in pyproject.toml, commit it, then:
59
+ $ git tag v0.2.0 && git push origin main v0.2.0
60
+ ```
61
+
62
+ Run `uv run test/smoke.py` first. The tag runs the quick checks, deploys [glideshow.org](https://glideshow.org) and publishes a GitHub
63
+ Release with notes and the package (`0.x` versions are marked pre-release). The browser tests also run nightly and on pull requests, as a heads-up. The deploys need the repo secret
64
+ `CLOUDFLARE_API_TOKEN` (a Cloudflare token from the "Edit Cloudflare Workers" template) and the variable
65
+ `CLOUDFLARE_ACCOUNT_ID`.
66
+
67
+ ## License
68
+
69
+ [AGPL-3.0](LICENSE). Use it, change it and share it; if you run a changed version as a service, publish your changes.
@@ -0,0 +1,103 @@
1
+ glideshow/__init__.py,sha256=hEDLBt5QBxKT4PrdkVRo2tGAu2iOWlifDBB_SGoSgXY,798
2
+ glideshow/__main__.py,sha256=yQP0sf-rkTO-3MOotv4blvukvNGwbJFz10hQhMsxcJM,28
3
+ glideshow/agent.py,sha256=HfqmNPERPewgEHNLbqY5MWNy8UopzD2yA_nVsNAatBc,42997
4
+ glideshow/build.py,sha256=MU-0tLjZtDx-ItKxTpzcY_mIfPMHepne1ACKC56DFJg,3324
5
+ glideshow/cli.py,sha256=e_6imdwhD0HV661PqJYBssm-OOLoun46tWlWd8Wv1b4,20846
6
+ glideshow/comments.py,sha256=oKxZ6VvrULLOBOb9NmqNI3YUZY4dePg2gjrRaFDSzXI,2188
7
+ glideshow/decks.py,sha256=berbYjaBJA6B-9Hv91D8nZeITsC0Atec-4j-OjebNOc,10620
8
+ glideshow/figure.py,sha256=0fqywApH228ggWxb4FYqp1rFBWjqC-0pe5qquZDG84Y,2074
9
+ glideshow/fonts.py,sha256=ehK-M6EQJQ53LApXOZuAWSthoxAqrrxTba3dQeeNIYg,2882
10
+ glideshow/gslides.py,sha256=btptwDamuPmgtV1eWSZSiwYe1_HQbbQ9AVxMv71BMjM,71449
11
+ glideshow/history.py,sha256=EZhQi-henRSsiYbeEPbUhwted_SYqJQXfXx_X6n9YOc,13779
12
+ glideshow/merge.py,sha256=6ZL8ecqjZjgttz8a2DibSiUUrwzfX-HTrQs3ikVTvh0,10152
13
+ glideshow/osutil.py,sha256=lvtoyaWPBJp2cRS5hYKOwy6eH3LXIXsNJfJWc800rlM,2158
14
+ glideshow/pptx_export.py,sha256=OUCWhrdrS3vThCSuKZiuotrsdmH5p0OkUmJCZhDaYVQ,9923
15
+ glideshow/pptx_import.py,sha256=TNkva3q6MR2m8eicxBVVw25BwEqaI-v9XVRTIziajeU,6229
16
+ glideshow/publish.py,sha256=VYNVoqf9e3SlPGGHRHhSLWJnHIiuYOc0WDEc4zt5ep4,5500
17
+ glideshow/render.py,sha256=jgZ7vPq_3NGVj-fZ-P0DFMPUKBnuwH_3Vtp7C3WRjH0,25261
18
+ glideshow/server.py,sha256=tRtYuiYkcnOsLdtI7rRxzhEVF77gVlak1LgBH9yTQmk,34196
19
+ glideshow/service.py,sha256=zYn2ZsLinxGR7Y6-hxRVRZp3F1Q9fRGpFQiXbJPEV74,2936
20
+ glideshow/editor/.assetsignore,sha256=PyNsrAQM_qmLJw0Vdia21BZ7rcqGnx7yfAexY46EXP8,100
21
+ glideshow/editor/apple-touch-icon.png,sha256=3fkQ6EttD8jjEd4QH1zeY5pcwjfP7khJcaJuLDJdSzY,4690
22
+ glideshow/editor/editor.css,sha256=VZgpr5BZs2kCMDRosvDJYcXgWYORd0LmO50OO848UtU,62063
23
+ glideshow/editor/glideshow-1024.png,sha256=T_jzNbm_ugpU9FdY2uCxvcDTMz67b0kf9N7uglsOgtk,36134
24
+ glideshow/editor/glideshow.svg,sha256=Bhm4NnRQH6PAQzFj7foyYP0JNF7dKIsjSiPK9Wu2Y5g,599
25
+ glideshow/editor/globals.d.ts,sha256=GGSsstYJoR9mmrSK2e5CLISdn0dR5E2JYZXY8M8ixnY,2167
26
+ glideshow/editor/home.html,sha256=_y3QNzAg6NshvmdIhyRT7gT2MOTX8Pac87eIQBxK7X4,33615
27
+ glideshow/editor/index.html,sha256=dTnp6gVC7JmGEr5Bd8IIAZQbjdu8riZN_mgtbMOLgVE,31110
28
+ glideshow/editor/manifest.json,sha256=8ZRczMjz2royAq0tXGOohonl_brxf2R8oYuGxGCOoXg,475
29
+ glideshow/editor/phone.css,sha256=2Lb5ZNM-x1YkmM5OB7qVTsTxMadGrgAWmCqI6N3Cifw,37142
30
+ glideshow/editor/tsconfig.json,sha256=I8nThE9gL6VFeKgsfA-vC-UNQS-qNQqifx8Cd5GYvLQ,558
31
+ glideshow/editor/data/font-metrics.json,sha256=p11nIcijRyPcNFRq6-LrLhTIqAm9HxsNzH22hrVxenQ,8137
32
+ glideshow/editor/data/fonts.json,sha256=WalZaCtzi7m2sT79fZtGR5Mvi5pntbW9OaX0v-uJJSY,63861
33
+ glideshow/editor/data/icons.json,sha256=DOgHEKs4JLCw4Gw8LnJdkL9K0yh2B4Ma1EzJP8MFrKQ,66304
34
+ glideshow/editor/data/symbols.js,sha256=yYgIrebW8QWt7VLbEp281lm-RhX8ij9JUi6-HisGkPs,4467
35
+ glideshow/editor/data/themes.js,sha256=wfSks0vjFYcg_v48fVVLUB3Sr9qlof4cTcN9xVqQRuU,1805
36
+ glideshow/editor/deck/base.css,sha256=Cvdlc1Ynr9Uznu8BzCLk6npAG1meek1NEPnjaoVAulA,8114
37
+ glideshow/editor/deck/present.js,sha256=uXptnsDvKbHCKrhjtBE9Jz2iFcEKIVPqwoSd18aNqe8,17548
38
+ glideshow/editor/deck/shapes.js,sha256=Q6aHstZVFqhjWtzpKObPVUG7pUWN-_LHdjP5vru0ejE,160933
39
+ glideshow/editor/deck/template.html,sha256=KRKcRmAwLxRHUu5XuBtpVJIEoEAKihclpfTN0jVQ9IY,1863
40
+ glideshow/editor/js/arrange.js,sha256=dpFjhBzXMJYBBLjSJaHqzDXqr_2qP_Nxctvk2MfgSNc,7448
41
+ glideshow/editor/js/boot.js,sha256=93D4HKC05DGVTGvSfQ56xoYdyG7Uyj_AKYkAzyOnaD8,5096
42
+ glideshow/editor/js/boxes.js,sha256=gStAR1_Agzz5d4Fp9AhqpMKN8ZY-oVEKDqMXw9xDFG8,1001
43
+ glideshow/editor/js/comments.js,sha256=ezCkO-xgDmksrOnC3uq720_uHhn8Mt_qQVo_slOB4bQ,6615
44
+ glideshow/editor/js/context-menus.js,sha256=m_IXibvP7qwI9264G44Q0h0T2PskhmCfyfJsRTFvZqU,6086
45
+ glideshow/editor/js/dialogs.js,sha256=6utoNnwi00zqRk0IZpX_qPpoLL4G4CZXHvkGYbHmvx8,11760
46
+ glideshow/editor/js/dock.js,sha256=02zKLJCnwru3we8ZXSGZ8lxchie2zMWb3NHmzou8DSI,1327
47
+ glideshow/editor/js/draw.js,sha256=zPVPdPzpOVQ1JtJpiCiMtSXc696ErgBXPfbboWfGBg8,11893
48
+ glideshow/editor/js/file.js,sha256=tVPJD0B83Xo3m-rFTtiMiiRo0d7MvJlW7gl3Kg8xSuo,24540
49
+ glideshow/editor/js/find.js,sha256=JGI19MfeB2RdXN-d6nVHh1OBpbf6dok2SI2srjkKGME,4032
50
+ glideshow/editor/js/format-panel.js,sha256=WFSdlIL4bmg4bOfdGg0tDc4EZdLq-lKi2aHv0u-YF_w,7756
51
+ glideshow/editor/js/geometry.js,sha256=r8sCBmMdmgRDYoBLxiFbdEtXqBATcHoZsxLo7WSsRnU,9483
52
+ glideshow/editor/js/guides.js,sha256=gvd6Z7GqWgO4eFBUJEV8GsIlDeYSiA9Ra3y4lcudxkE,2554
53
+ glideshow/editor/js/insert.js,sha256=It4QatwGfnPUeebo4jCKjRKClMGhZtLdjbN7fNJkaIM,5680
54
+ glideshow/editor/js/keyboard.js,sha256=rHzPVynzbyavoDBINdO3sZmcZ8j9viTkPUXQHS3IAec,17935
55
+ glideshow/editor/js/live.js,sha256=a4In7Bn0lqptArga3lb5kSvwdYiDILKICBLS9vcX70w,3545
56
+ glideshow/editor/js/menubar.js,sha256=HoYDv4rjyXKSmc4VXiFsyBgedfNBjiNjIOCITpCfA80,22473
57
+ glideshow/editor/js/menus.js,sha256=ZCVsUo7DG1unI_P6c6zBbRlX9nMJQYlogsU3NtmjGbs,6213
58
+ glideshow/editor/js/motion.js,sha256=gXOLONM645t8iWHZ7uIx3HqpHOnIdSI_SxxMx1X67q4,12852
59
+ glideshow/editor/js/notes.js,sha256=fMfHJSEgACx-ZcaU8IHfWf6wHqER_Udjjq3iT2m32xo,4282
60
+ glideshow/editor/js/objects.js,sha256=LvJ9-cUev7i9e_26ISTUAJLpb6ceJu-ch-47p6HOf3M,13997
61
+ glideshow/editor/js/people.js,sha256=UiGJW9ps6s21w_P39EbRK4wGLcf9PqWdh3T02FXNh6k,4528
62
+ glideshow/editor/js/phone-comments.js,sha256=Kb0Hjsxy88GSpBYgRJ83kB58xq28VwYMXn4HEV_gdWg,3143
63
+ glideshow/editor/js/phone-edit.js,sha256=AVXir4A_LUVmpqWmDh5bZQ9P_EFj2WLoMOfmTX4v8kA,19787
64
+ glideshow/editor/js/phone-home.js,sha256=_1RUND5uNVGOsbUv2RnngZnAD0jT3bj0v40BuH_D4Hk,4196
65
+ glideshow/editor/js/phone-mode.js,sha256=z3PSrAIsqgMjuNt-JTTdg1KvAWjCQ0HC73xqMuZLWEQ,5688
66
+ glideshow/editor/js/phone-sheets.js,sha256=s3NveAZKrVO-VzidqYmpq-ew201bdZlfMZFu721Vyug,10350
67
+ glideshow/editor/js/phone-touch.js,sha256=No-GGQQBKlia2PnIx7TJQD7WXDG2rUd-NLAAGXbAfwE,10201
68
+ glideshow/editor/js/phone-view.js,sha256=7-5DkInRd98vKVKwb5NRqi1XsvjTOkeCIfKJ2jHrnro,12146
69
+ glideshow/editor/js/pointer.js,sha256=kSEoaCHxLkM6NzeZ9uWrA2zRhczzE9mDfTW3tl8iz1o,25193
70
+ glideshow/editor/js/render.js,sha256=L54xV1hiCLyz6DTZSvOJ-ymMYk3UwXcKl8vjU83p_9E,25329
71
+ glideshow/editor/js/shortcuts.js,sha256=48g96NCA_8kJ5S84tBl_OhHxKa27Y7X0p1KaaNAVAgE,6058
72
+ glideshow/editor/js/slides.js,sha256=_w1HU6qdMIUljpTH-A08OCrgYXRoin1fySCUdp1eLLI,7683
73
+ glideshow/editor/js/spacing.js,sha256=Elx3E2b56URkhINJsZrTT1LE3wb4ZhRnddlReQyyib0,2086
74
+ glideshow/editor/js/state.js,sha256=ewLRItGQ27HLBSPwKFe_CJM_urUYxaVieSgoRfm5LBg,4439
75
+ glideshow/editor/js/storage.js,sha256=uRIrZcptq_JGoCZVdOVakOtfdwo3EyjxuiQrdeUUAhM,17967
76
+ glideshow/editor/js/text.js,sha256=ZjWLP40avEV-O_CbP73MX2O0xI6HW8QuJgnV_dJLmMk,21085
77
+ glideshow/editor/js/theme-toggle.js,sha256=aNjgQtfQ1gtLBUwwV3PZUeRRUIIp6BGByvMZewHuVKA,3073
78
+ glideshow/editor/js/theme.js,sha256=0dKPkY_9XJNiPH8rB1pEhhVs-R_odGXRxJgYU8hhlV8,14683
79
+ glideshow/editor/js/toolbar-groups.js,sha256=E8Xi0gFUgFXIzzGbhEWo0hvdZvoUsUleiM4DeIkb93g,8811
80
+ glideshow/editor/js/toolbar.js,sha256=iuGR0zyClJ5cvakiDregMWnAYB-outtxjzxmAwr3vqw,28098
81
+ glideshow/editor/lib/browser-db.js,sha256=hCYzS8aD4t2Jb9CIsMC9lGzybJCImHT6Lrw70aFFSTQ,2802
82
+ glideshow/editor/lib/library.js,sha256=yXIMhx8910Dkw2feOrfU2xTGulYISP85ks9r0oWoe8s,44865
83
+ glideshow/editor/lib/merge.js,sha256=o4iNRkUYsMNshJkoFEyr6sDV4NWmsx67ogbCZKKlLKs,12217
84
+ glideshow/editor/lib/move-local.js,sha256=N9VyIDS0Ulw14CUO7E8A7jTia-GNVAdtMjNs3glPFaA,3224
85
+ glideshow/editor/lib/onefile.js,sha256=uki7dp8r_Rmc4Q47i0qYfMza4yYWCbr5fd0WY7RnEc8,8186
86
+ glideshow/editor/lib/store-browser.js,sha256=gMO_zG9oF9hUhnDvCHaAiw0AzCxBGlTME4vIyTJ_oaw,4056
87
+ glideshow/editor/lib/store-folder.js,sha256=GFjFgo8eN1Rvdzc-hDpARmndKB5rIZsHIQ1w7qZRLd4,6876
88
+ glideshow/editor/local/sw.js,sha256=4hZNJFUXYkldjivDlYPMyq4EBw0OCav8CmgY1HJgN7M,4914
89
+ glideshow/editor/local/tsconfig.json,sha256=aV5Q01fyyT4TDss0bQ3zfaaoIH1HbNN4jNSDPCpDp3w,374
90
+ glideshow/editor/looks/glider.svg,sha256=U_yfcoxBFK1LdWcQTObzKS2Qk59qZ9VSD7SF2AoDf5w,543
91
+ glideshow/editor/looks/thermal-phone.css,sha256=8xyxZZpwXX0jwxd66rTYkEitkheny0n-nCyXBkUvCag,14853
92
+ glideshow/editor/looks/thermal.css,sha256=NlGKRw-5hMvMR7NDnC8qSnWEl2BctbRWAIXIz-083-c,27399
93
+ glideshow/editor/share/share.css,sha256=hvU14cdVCD3er3_esM0h7MRfv0an3tTEsXUb6qWHjsA,13210
94
+ glideshow/editor/share/share.js,sha256=m1JwMvIVf2MyRmPX7RPsiegdQ_8Rh6lJHyqx1DVoJbs,21085
95
+ glideshow/editor/share/speaker.html,sha256=7zZTaz_flU0cVsVPjU4fI-I2HPrKvhUkekk0yP90kTw,6116
96
+ glideshow/skills/glideshow/SKILL.md,sha256=kKL4n1NjiGBoTs50DulAuAxsxCY4cCvAROF--PXs4rg,7840
97
+ glideshow/docs/agents.md,sha256=ymCA5FcWsDxZR0JZSh0G3Yc6MWo_sPpigmMwZTZqJ6E,19539
98
+ glideshow/docs/deck-format.md,sha256=sbjJX3o6tYR-qjWLWyh9-yVtVeGFHKfnuhNtJOKmkiE,17146
99
+ glideshow-0.1.2.dist-info/METADATA,sha256=L39oExCqI2poGELODSfUSViWQH_Onx1hM0pNJB3OS-A,3004
100
+ glideshow-0.1.2.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
101
+ glideshow-0.1.2.dist-info/entry_points.txt,sha256=-lIimPBJ6g8GiUIXLRw0aSCKVxJjhmzbXp1swwaRtm8,48
102
+ glideshow-0.1.2.dist-info/licenses/LICENSE,sha256=jVa0BUaKrRH4erV2P5AeJ24I2WRv9chIGxditreJ6e0,34524
103
+ glideshow-0.1.2.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.33.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ glideshow = glideshow.cli:run