stella-coder 3.9.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/.mcp.json +11 -0
  2. package/.opencode/skills/banner-design/SKILL.md +196 -0
  3. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
  4. package/.opencode/skills/brand/SKILL.md +97 -0
  5. package/.opencode/skills/brand/references/approval-checklist.md +169 -0
  6. package/.opencode/skills/brand/references/asset-organization.md +157 -0
  7. package/.opencode/skills/brand/references/brand-guideline-template.md +140 -0
  8. package/.opencode/skills/brand/references/color-palette-management.md +186 -0
  9. package/.opencode/skills/brand/references/consistency-checklist.md +94 -0
  10. package/.opencode/skills/brand/references/logo-usage-rules.md +185 -0
  11. package/.opencode/skills/brand/references/messaging-framework.md +85 -0
  12. package/.opencode/skills/brand/references/typography-specifications.md +214 -0
  13. package/.opencode/skills/brand/references/update.md +118 -0
  14. package/.opencode/skills/brand/references/visual-identity.md +96 -0
  15. package/.opencode/skills/brand/references/voice-framework.md +88 -0
  16. package/.opencode/skills/brand/scripts/extract-colors.cjs +341 -0
  17. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +349 -0
  18. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +248 -0
  19. package/.opencode/skills/brand/scripts/tests/test_sync_brand_to_tokens.py +52 -0
  20. package/.opencode/skills/brand/scripts/validate-asset.cjs +387 -0
  21. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +275 -0
  22. package/.opencode/skills/design/SKILL.md +313 -0
  23. package/.opencode/skills/design/data/cip/deliverables.csv +51 -0
  24. package/.opencode/skills/design/data/cip/industries.csv +21 -0
  25. package/.opencode/skills/design/data/cip/mockup-contexts.csv +21 -0
  26. package/.opencode/skills/design/data/cip/styles.csv +21 -0
  27. package/.opencode/skills/design/data/icon/styles.csv +16 -0
  28. package/.opencode/skills/design/data/logo/colors.csv +56 -0
  29. package/.opencode/skills/design/data/logo/industries.csv +56 -0
  30. package/.opencode/skills/design/data/logo/styles.csv +56 -0
  31. package/.opencode/skills/design/references/banner-sizes-and-styles.md +118 -0
  32. package/.opencode/skills/design/references/cip-deliverable-guide.md +95 -0
  33. package/.opencode/skills/design/references/cip-design.md +121 -0
  34. package/.opencode/skills/design/references/cip-prompt-engineering.md +84 -0
  35. package/.opencode/skills/design/references/cip-style-guide.md +68 -0
  36. package/.opencode/skills/design/references/design-routing.md +207 -0
  37. package/.opencode/skills/design/references/icon-design.md +122 -0
  38. package/.opencode/skills/design/references/logo-color-psychology.md +101 -0
  39. package/.opencode/skills/design/references/logo-design.md +92 -0
  40. package/.opencode/skills/design/references/logo-prompt-engineering.md +158 -0
  41. package/.opencode/skills/design/references/logo-style-guide.md +109 -0
  42. package/.opencode/skills/design/references/slides-copywriting-formulas.md +84 -0
  43. package/.opencode/skills/design/references/slides-create.md +4 -0
  44. package/.opencode/skills/design/references/slides-html-template.md +295 -0
  45. package/.opencode/skills/design/references/slides-layout-patterns.md +137 -0
  46. package/.opencode/skills/design/references/slides-strategies.md +94 -0
  47. package/.opencode/skills/design/references/slides.md +42 -0
  48. package/.opencode/skills/design/references/social-photos-design.md +329 -0
  49. package/.opencode/skills/design/scripts/cip/core.py +215 -0
  50. package/.opencode/skills/design/scripts/cip/generate.py +484 -0
  51. package/.opencode/skills/design/scripts/cip/render-html.py +424 -0
  52. package/.opencode/skills/design/scripts/cip/search.py +127 -0
  53. package/.opencode/skills/design/scripts/icon/generate.py +487 -0
  54. package/.opencode/skills/design/scripts/logo/core.py +175 -0
  55. package/.opencode/skills/design/scripts/logo/generate.py +362 -0
  56. package/.opencode/skills/design/scripts/logo/search.py +114 -0
  57. package/.opencode/skills/design-system/SKILL.md +244 -0
  58. package/.opencode/skills/design-system/data/slide-backgrounds.csv +11 -0
  59. package/.opencode/skills/design-system/data/slide-charts.csv +26 -0
  60. package/.opencode/skills/design-system/data/slide-color-logic.csv +14 -0
  61. package/.opencode/skills/design-system/data/slide-copy.csv +26 -0
  62. package/.opencode/skills/design-system/data/slide-layout-logic.csv +16 -0
  63. package/.opencode/skills/design-system/data/slide-layouts.csv +26 -0
  64. package/.opencode/skills/design-system/data/slide-strategies.csv +16 -0
  65. package/.opencode/skills/design-system/data/slide-typography.csv +15 -0
  66. package/.opencode/skills/design-system/references/component-specs.md +236 -0
  67. package/.opencode/skills/design-system/references/component-tokens.md +214 -0
  68. package/.opencode/skills/design-system/references/primitive-tokens.md +203 -0
  69. package/.opencode/skills/design-system/references/semantic-tokens.md +215 -0
  70. package/.opencode/skills/design-system/references/states-and-variants.md +241 -0
  71. package/.opencode/skills/design-system/references/tailwind-integration.md +251 -0
  72. package/.opencode/skills/design-system/references/token-architecture.md +224 -0
  73. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +99 -0
  74. package/.opencode/skills/design-system/scripts/fetch-background.py +317 -0
  75. package/.opencode/skills/design-system/scripts/generate-slide.py +770 -0
  76. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +205 -0
  77. package/.opencode/skills/design-system/scripts/html-token-validator.py +327 -0
  78. package/.opencode/skills/design-system/scripts/search-slides.py +218 -0
  79. package/.opencode/skills/design-system/scripts/slide-token-validator.py +35 -0
  80. package/.opencode/skills/design-system/scripts/slide_search_core.py +453 -0
  81. package/.opencode/skills/design-system/scripts/tests/test_validate_tokens.py +48 -0
  82. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +246 -0
  83. package/.opencode/skills/design-system/templates/design-tokens-starter.json +143 -0
  84. package/.opencode/skills/slides/SKILL.md +40 -0
  85. package/.opencode/skills/slides/references/copywriting-formulas.md +84 -0
  86. package/.opencode/skills/slides/references/create.md +4 -0
  87. package/.opencode/skills/slides/references/html-template.md +295 -0
  88. package/.opencode/skills/slides/references/layout-patterns.md +137 -0
  89. package/.opencode/skills/slides/references/slide-strategies.md +94 -0
  90. package/.opencode/skills/ui-styling/LICENSE.txt +202 -0
  91. package/.opencode/skills/ui-styling/SKILL.md +324 -0
  92. package/.opencode/skills/ui-styling/references/canvas-design-system.md +320 -0
  93. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  94. package/.opencode/skills/ui-styling/references/shadcn-components.md +424 -0
  95. package/.opencode/skills/ui-styling/references/shadcn-theming.md +373 -0
  96. package/.opencode/skills/ui-styling/references/tailwind-customization.md +483 -0
  97. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +382 -0
  98. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +455 -0
  99. package/.opencode/skills/ui-styling/scripts/requirements.txt +17 -0
  100. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +308 -0
  101. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +473 -0
  102. package/.opencode/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  103. package/.opencode/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  104. package/.opencode/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  105. package/.opencode/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +394 -0
  106. package/.opencode/skills/ui-ux-pro-max/SKILL.md +396 -0
  107. package/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  108. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  109. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +26 -0
  110. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +193 -0
  111. package/.opencode/skills/ui-ux-pro-max/data/design.csv +1776 -0
  112. package/.opencode/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  113. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  114. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +106 -0
  115. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +35 -0
  116. package/.opencode/skills/ui-ux-pro-max/data/motion.csv +17 -0
  117. package/.opencode/skills/ui-ux-pro-max/data/products.csv +193 -0
  118. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  119. package/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
  120. package/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  121. package/.opencode/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -0
  122. package/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  123. package/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  124. package/.opencode/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -0
  125. package/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  126. package/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
  127. package/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  128. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +71 -0
  129. package/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  130. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  131. package/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  132. package/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  133. package/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  134. package/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  135. package/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
  136. package/.opencode/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -0
  137. package/.opencode/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -0
  138. package/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  139. package/.opencode/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -0
  140. package/.opencode/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -0
  141. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +85 -0
  142. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +75 -0
  143. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  144. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  145. package/.opencode/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  146. package/.opencode/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  147. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +274 -0
  148. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1329 -0
  149. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +127 -0
  150. package/README.md +5 -0
  151. package/STELLA.md +1 -1
  152. package/dist/antimalware/database.mjs +871 -0
  153. package/dist/antimalware/index.mjs +8 -0
  154. package/dist/antimalware/scanner.mjs +591 -0
  155. package/dist/antimalware/ui.mjs +570 -0
  156. package/dist/banner.mjs +46 -0
  157. package/dist/index.mjs +3073 -0
  158. package/dist/markdown.mjs +100 -0
  159. package/dist/sea-config.json +4 -0
  160. package/dist/security.mjs +237 -0
  161. package/dist/theme.mjs +89 -0
  162. package/dist/tools.mjs +3145 -0
  163. package/install-stella.bat +44 -0
  164. package/package.json +4 -2
  165. package/presentation-advanced-features-demo/README.md +27 -0
  166. package/presentation-advanced-features-demo/index.html +371 -0
  167. package/presentation-advanced-features-demo/print.html +81 -0
  168. package/presentation-advanced-features-demo/slide-01.html +98 -0
  169. package/presentation-advanced-features-demo/slide-02.html +101 -0
  170. package/presentation-advanced-features-demo/slide-03.html +100 -0
  171. package/presentation-advanced-features-demo/slide-04.html +100 -0
  172. package/presentation-advanced-features-demo/slide-05.html +100 -0
  173. package/presentation-advanced-features-demo/slide-06.html +64 -0
  174. package/presentation-advanced-features-demo/slide-07.html +101 -0
  175. package/presentation-advanced-features-demo/slide-08.html +91 -0
  176. package/presentation-stella-coder---ai-coding-agent/README.md +27 -0
  177. package/presentation-stella-coder---ai-coding-agent/index.html +168 -0
  178. package/presentation-stella-coder---ai-coding-agent/slide-01.html +98 -0
  179. package/presentation-stella-coder---ai-coding-agent/slide-02.html +101 -0
  180. package/presentation-stella-coder---ai-coding-agent/slide-03.html +100 -0
  181. package/presentation-stella-coder---ai-coding-agent/slide-04.html +100 -0
  182. package/presentation-stella-coder---ai-coding-agent/slide-05.html +100 -0
  183. package/presentation-stella-coder---ai-coding-agent/slide-06.html +100 -0
  184. package/presentation-stella-coder---ai-coding-agent/slide-07.html +100 -0
  185. package/presentation-stella-coder---ai-coding-agent/slide-08.html +64 -0
  186. package/presentation-stella-coder---ai-coding-agent/slide-09.html +101 -0
  187. package/presentation-stella-coder---ai-coding-agent/slide-10.html +91 -0
  188. package/presentation-stella-coder-demo/README.md +27 -0
  189. package/presentation-stella-coder-demo/index.html +371 -0
  190. package/presentation-stella-coder-demo/slide-01.html +98 -0
  191. package/presentation-stella-coder-demo/slide-02.html +101 -0
  192. package/presentation-stella-coder-demo/slide-03.html +100 -0
  193. package/presentation-stella-coder-demo/slide-04.html +100 -0
  194. package/presentation-stella-coder-demo/slide-05.html +100 -0
  195. package/presentation-stella-coder-demo/slide-06.html +64 -0
  196. package/presentation-stella-coder-demo/slide-07.html +101 -0
  197. package/presentation-stella-coder-demo/slide-08.html +91 -0
  198. package/presentation-stella-coder-features/README.md +27 -0
  199. package/presentation-stella-coder-features/index.html +364 -0
  200. package/presentation-stella-coder-features/print.html +77 -0
  201. package/presentation-stella-coder-features/slide-01.html +98 -0
  202. package/presentation-stella-coder-features/slide-02.html +101 -0
  203. package/presentation-stella-coder-features/slide-03.html +100 -0
  204. package/presentation-stella-coder-features/slide-04.html +100 -0
  205. package/presentation-stella-coder-features/slide-05.html +64 -0
  206. package/presentation-stella-coder-features/slide-06.html +101 -0
  207. package/presentation-stella-coder-features/slide-07.html +91 -0
  208. package/presentation-test-presentation/README.md +27 -0
  209. package/presentation-test-presentation/index.html +350 -0
  210. package/presentation-test-presentation/print.html +69 -0
  211. package/presentation-test-presentation/slide-01.html +98 -0
  212. package/presentation-test-presentation/slide-02.html +101 -0
  213. package/presentation-test-presentation/slide-03.html +64 -0
  214. package/presentation-test-presentation/slide-04.html +101 -0
  215. package/presentation-test-presentation/slide-05.html +91 -0
  216. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/README.md +27 -0
  217. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/index.html +159 -0
  218. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-01.html +98 -0
  219. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-02.html +101 -0
  220. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-03.html +100 -0
  221. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-04.html +100 -0
  222. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-05.html +64 -0
  223. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-06.html +101 -0
  224. package/presentation-/321/202/320/265/321/201/321/202/320/276/320/262/320/260/321/217-/320/277/321/200/320/265/320/267/320/265/320/275/321/202/320/260/321/206/320/270/321/217/slide-07.html +91 -0
  225. package/stella-cli/coding-brain.mjs +753 -0
  226. package/stella-cli/index.mjs +931 -15
  227. package/stella-cli/mcp.mjs +296 -0
  228. package/stella-cli/presentations.mjs +1106 -0
  229. package/stella-cli/subagents.mjs +142 -0
  230. package/stella-cli/telegram-bot.mjs +824 -0
  231. package/stella-cli/tg-bg.bat +13 -0
  232. package/stella-cli/tg-server.bat +15 -0
  233. package/stella-cli/tg-server.mjs +116 -0
  234. package/stella-cli/theme.mjs +6 -4
  235. package/stella-coder-3.9.2.tgz +0 -0
@@ -0,0 +1,364 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Stella Coder Features</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
8
+ <style>
9
+ * { margin: 0; padding: 0; box-sizing: border-box; }
10
+ body {
11
+ font-family: 'Inter', sans-serif;
12
+ background: #0a0a0f;
13
+ overflow: hidden;
14
+ }
15
+ .presentation {
16
+ width: 100vw;
17
+ height: 100vh;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ }
22
+ .slide-container {
23
+ width: 1280px;
24
+ height: 720px;
25
+ transform-origin: center center;
26
+ position: relative;
27
+ }
28
+ .slide {
29
+ position: absolute;
30
+ top: 0;
31
+ left: 0;
32
+ width: 100%;
33
+ height: 100%;
34
+ opacity: 0;
35
+ transform: translateX(100px);
36
+ transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
37
+ pointer-events: none;
38
+ }
39
+ .slide.active {
40
+ opacity: 1;
41
+ transform: translateX(0);
42
+ pointer-events: auto;
43
+ }
44
+ .slide.exit {
45
+ opacity: 0;
46
+ transform: translateX(-100px);
47
+ }
48
+ .controls {
49
+ position: fixed;
50
+ bottom: 30px;
51
+ left: 50%;
52
+ transform: translateX(-50%);
53
+ display: flex;
54
+ gap: 12px;
55
+ z-index: 1000;
56
+ }
57
+ .control-btn {
58
+ width: 48px;
59
+ height: 48px;
60
+ border-radius: 12px;
61
+ border: 1px solid #94a3b830;
62
+ background: #111118;
63
+ color: #f8fafc;
64
+ cursor: pointer;
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ transition: all 0.2s ease;
69
+ font-size: 18px;
70
+ }
71
+ .control-btn:hover {
72
+ background: #22c55e;
73
+ color: #0a0a0f;
74
+ transform: scale(1.1);
75
+ }
76
+ .control-btn:active {
77
+ transform: scale(0.95);
78
+ }
79
+ .progress {
80
+ position: fixed;
81
+ bottom: 0;
82
+ left: 0;
83
+ height: 4px;
84
+ background: linear-gradient(90deg, #22c55e, #3b82f6);
85
+ transition: width 0.3s ease;
86
+ }
87
+ .slide-counter {
88
+ position: fixed;
89
+ bottom: 40px;
90
+ right: 30px;
91
+ font-size: 14px;
92
+ color: #94a3b8;
93
+ }
94
+ .slide-thumbnails {
95
+ position: fixed;
96
+ bottom: 100px;
97
+ left: 50%;
98
+ transform: translateX(-50%);
99
+ display: flex;
100
+ gap: 8px;
101
+ opacity: 0;
102
+ transition: opacity 0.3s ease;
103
+ }
104
+ .slide-thumbnails.visible {
105
+ opacity: 1;
106
+ }
107
+ .thumbnail {
108
+ width: 80px;
109
+ height: 45px;
110
+ border: 2px solid #94a3b830;
111
+ border-radius: 6px;
112
+ cursor: pointer;
113
+ transition: all 0.2s ease;
114
+ overflow: hidden;
115
+ }
116
+ .thumbnail:hover {
117
+ border-color: #22c55e;
118
+ transform: scale(1.1);
119
+ }
120
+ .thumbnail.active {
121
+ border-color: #22c55e;
122
+ box-shadow: 0 0 10px #22c55e40;
123
+ }
124
+ .thumbnail iframe {
125
+ width: 1280px;
126
+ height: 720px;
127
+ transform: scale(0.0625);
128
+ transform-origin: top left;
129
+ pointer-events: none;
130
+ }
131
+ .slide-number {
132
+ position: fixed;
133
+ top: 30px;
134
+ left: 50%;
135
+ transform: translateX(-50%);
136
+ font-size: 14px;
137
+ color: #94a3b8;
138
+ background: #11111880;
139
+ padding: 8px 16px;
140
+ border-radius: 20px;
141
+ backdrop-filter: blur(10px);
142
+ }
143
+ .minimap {
144
+ position: fixed;
145
+ top: 30px;
146
+ right: 30px;
147
+ display: flex;
148
+ flex-direction: column;
149
+ gap: 4px;
150
+ }
151
+ .minimap-dot {
152
+ width: 8px;
153
+ height: 8px;
154
+ border-radius: 50%;
155
+ background: #94a3b840;
156
+ cursor: pointer;
157
+ transition: all 0.2s ease;
158
+ }
159
+ .minimap-dot:hover {
160
+ background: #22c55e;
161
+ transform: scale(1.5);
162
+ }
163
+ .minimap-dot.active {
164
+ background: #22c55e;
165
+ }
166
+ </style>
167
+ </head>
168
+ <body>
169
+ <div class="presentation">
170
+ <div class="slide-container" id="slideContainer">
171
+
172
+ <div class="slide active" id="slide1">
173
+ <iframe src="slide-01.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
174
+ </div>
175
+ <div class="slide " id="slide2">
176
+ <iframe src="slide-02.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
177
+ </div>
178
+ <div class="slide " id="slide3">
179
+ <iframe src="slide-03.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
180
+ </div>
181
+ <div class="slide " id="slide4">
182
+ <iframe src="slide-04.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
183
+ </div>
184
+ <div class="slide " id="slide5">
185
+ <iframe src="slide-05.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
186
+ </div>
187
+ <div class="slide " id="slide6">
188
+ <iframe src="slide-06.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
189
+ </div>
190
+ <div class="slide " id="slide7">
191
+ <iframe src="slide-07.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
192
+ </div>
193
+ </div>
194
+ </div>
195
+
196
+ <div class="controls">
197
+ <button class="control-btn" onclick="prevSlide()" title="Предыдущий слайд">←</button>
198
+ <button class="control-btn" onclick="nextSlide()" title="Следующий слайд">→</button>
199
+ <button class="control-btn" onclick="toggleFullscreen()" title="Полноэкранный режим">⛶</button>
200
+ <button class="control-btn" onclick="toggleThumbnails()" title="Показать превью">📷</button>
201
+ <button class="control-btn" onclick="toggleMinimap()" title="Мини-карта">🗺</button>
202
+ </div>
203
+
204
+ <div class="progress" id="progress"></div>
205
+ <div class="slide-counter" id="slideCounter">1 / 7</div>
206
+ <div class="slide-number" id="slideNumber">1</div>
207
+
208
+ <div class="slide-thumbnails" id="thumbnails">
209
+
210
+ <div class="thumbnail active" onclick="goToSlide(1)">
211
+ <iframe src="slide-01.html" width="1280" height="720" frameborder="0"></iframe>
212
+ </div>
213
+ <div class="thumbnail " onclick="goToSlide(2)">
214
+ <iframe src="slide-02.html" width="1280" height="720" frameborder="0"></iframe>
215
+ </div>
216
+ <div class="thumbnail " onclick="goToSlide(3)">
217
+ <iframe src="slide-03.html" width="1280" height="720" frameborder="0"></iframe>
218
+ </div>
219
+ <div class="thumbnail " onclick="goToSlide(4)">
220
+ <iframe src="slide-04.html" width="1280" height="720" frameborder="0"></iframe>
221
+ </div>
222
+ <div class="thumbnail " onclick="goToSlide(5)">
223
+ <iframe src="slide-05.html" width="1280" height="720" frameborder="0"></iframe>
224
+ </div>
225
+ <div class="thumbnail " onclick="goToSlide(6)">
226
+ <iframe src="slide-06.html" width="1280" height="720" frameborder="0"></iframe>
227
+ </div>
228
+ <div class="thumbnail " onclick="goToSlide(7)">
229
+ <iframe src="slide-07.html" width="1280" height="720" frameborder="0"></iframe>
230
+ </div>
231
+ </div>
232
+
233
+ <div class="minimap" id="minimap">
234
+
235
+ <div class="minimap-dot active" onclick="goToSlide(1)" title="Слайд 1"></div>
236
+ <div class="minimap-dot " onclick="goToSlide(2)" title="Слайд 2"></div>
237
+ <div class="minimap-dot " onclick="goToSlide(3)" title="Слайд 3"></div>
238
+ <div class="minimap-dot " onclick="goToSlide(4)" title="Слайд 4"></div>
239
+ <div class="minimap-dot " onclick="goToSlide(5)" title="Слайд 5"></div>
240
+ <div class="minimap-dot " onclick="goToSlide(6)" title="Слайд 6"></div>
241
+ <div class="minimap-dot " onclick="goToSlide(7)" title="Слайд 7"></div>
242
+ </div>
243
+
244
+ <script>
245
+ let currentSlide = 1;
246
+ const totalSlides = 7;
247
+ let thumbnailsVisible = false;
248
+ let minimapVisible = false;
249
+
250
+ function showSlide(n, direction = 'next') {
251
+ const currentEl = document.getElementById('slide' + currentSlide);
252
+ const nextEl = document.getElementById('slide' + n);
253
+
254
+ if (currentEl) {
255
+ currentEl.classList.remove('active');
256
+ currentEl.classList.add('exit');
257
+ setTimeout(() => currentEl.classList.remove('exit'), 500);
258
+ }
259
+
260
+ if (nextEl) {
261
+ nextEl.style.transform = direction === 'next' ? 'translateX(100px)' : 'translateX(-100px)';
262
+ setTimeout(() => {
263
+ nextEl.classList.add('active');
264
+ nextEl.style.transform = '';
265
+ }, 50);
266
+ }
267
+
268
+ currentSlide = n;
269
+ updateUI();
270
+ }
271
+
272
+ function updateUI() {
273
+ document.getElementById('slideCounter').textContent = currentSlide + ' / ' + totalSlides;
274
+ document.getElementById('slideNumber').textContent = currentSlide;
275
+ document.getElementById('progress').style.width = ((currentSlide / totalSlides) * 100) + '%';
276
+
277
+ // Update thumbnails
278
+ document.querySelectorAll('.thumbnail').forEach((t, i) => {
279
+ t.classList.toggle('active', i + 1 === currentSlide);
280
+ });
281
+
282
+ // Update minimap
283
+ document.querySelectorAll('.minimap-dot').forEach((d, i) => {
284
+ d.classList.toggle('active', i + 1 === currentSlide);
285
+ });
286
+ }
287
+
288
+ function nextSlide() {
289
+ if (currentSlide < totalSlides) {
290
+ showSlide(currentSlide + 1, 'next');
291
+ }
292
+ }
293
+
294
+ function prevSlide() {
295
+ if (currentSlide > 1) {
296
+ showSlide(currentSlide - 1, 'prev');
297
+ }
298
+ }
299
+
300
+ function goToSlide(n) {
301
+ if (n >= 1 && n <= totalSlides) {
302
+ showSlide(n, n > currentSlide ? 'next' : 'prev');
303
+ }
304
+ }
305
+
306
+ function toggleFullscreen() {
307
+ if (!document.fullscreenElement) {
308
+ document.documentElement.requestFullscreen();
309
+ } else {
310
+ document.exitFullscreen();
311
+ }
312
+ }
313
+
314
+ function toggleThumbnails() {
315
+ thumbnailsVisible = !thumbnailsVisible;
316
+ document.getElementById('thumbnails').classList.toggle('visible', thumbnailsVisible);
317
+ }
318
+
319
+ function toggleMinimap() {
320
+ minimapVisible = !minimapVisible;
321
+ document.getElementById('minimap').style.display = minimapVisible ? 'flex' : 'none';
322
+ }
323
+
324
+ // Keyboard navigation
325
+ document.addEventListener('keydown', (e) => {
326
+ if (e.key === 'ArrowRight' || e.key === ' ') nextSlide();
327
+ if (e.key === 'ArrowLeft') prevSlide();
328
+ if (e.key === 'f') toggleFullscreen();
329
+ if (e.key === 't') toggleThumbnails();
330
+ if (e.key === 'm') toggleMinimap();
331
+ if (e.key === 'Home') goToSlide(1);
332
+ if (e.key === 'End') goToSlide(totalSlides);
333
+ });
334
+
335
+ // Touch support
336
+ let touchStartX = 0;
337
+ document.addEventListener('touchstart', (e) => {
338
+ touchStartX = e.touches[0].clientX;
339
+ });
340
+
341
+ document.addEventListener('touchend', (e) => {
342
+ const touchEndX = e.changedTouches[0].clientX;
343
+ const diff = touchStartX - touchEndX;
344
+
345
+ if (Math.abs(diff) > 50) {
346
+ if (diff > 0) nextSlide();
347
+ else prevSlide();
348
+ }
349
+ });
350
+
351
+ // Scale to fit
352
+ function scalePresentation() {
353
+ const container = document.getElementById('slideContainer');
354
+ const scaleX = window.innerWidth / 1280;
355
+ const scaleY = window.innerHeight / 720;
356
+ const scale = Math.min(scaleX, scaleY) * 0.9;
357
+ container.style.transform = 'scale(' + scale + ')';
358
+ }
359
+
360
+ window.addEventListener('resize', scalePresentation);
361
+ scalePresentation();
362
+ </script>
363
+ </body>
364
+ </html>
@@ -0,0 +1,77 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Версия для печати</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
8
+ <style>
9
+ * { margin: 0; padding: 0; box-sizing: border-box; }
10
+ body {
11
+ font-family: 'Inter', sans-serif;
12
+ background: #ffffff;
13
+ color: #000000;
14
+ }
15
+ .slide {
16
+ width: 1280px;
17
+ height: 720px;
18
+ margin: 20px auto;
19
+ border: 1px solid #e5e7eb;
20
+ page-break-after: always;
21
+ position: relative;
22
+ overflow: hidden;
23
+ }
24
+ .slide:last-child {
25
+ page-break-after: avoid;
26
+ }
27
+ .slide-number {
28
+ position: absolute;
29
+ bottom: 20px;
30
+ right: 20px;
31
+ font-size: 12px;
32
+ color: #9ca3af;
33
+ }
34
+ @media print {
35
+ body {
36
+ background: white;
37
+ }
38
+ .slide {
39
+ border: none;
40
+ margin: 0;
41
+ page-break-after: always;
42
+ }
43
+ }
44
+ </style>
45
+ </head>
46
+ <body>
47
+
48
+ <div class="slide">
49
+ <iframe src="slide-01.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
50
+ <div class="slide-number">1 / 7</div>
51
+ </div>
52
+ <div class="slide">
53
+ <iframe src="slide-02.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
54
+ <div class="slide-number">2 / 7</div>
55
+ </div>
56
+ <div class="slide">
57
+ <iframe src="slide-03.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
58
+ <div class="slide-number">3 / 7</div>
59
+ </div>
60
+ <div class="slide">
61
+ <iframe src="slide-04.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
62
+ <div class="slide-number">4 / 7</div>
63
+ </div>
64
+ <div class="slide">
65
+ <iframe src="slide-05.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
66
+ <div class="slide-number">5 / 7</div>
67
+ </div>
68
+ <div class="slide">
69
+ <iframe src="slide-06.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
70
+ <div class="slide-number">6 / 7</div>
71
+ </div>
72
+ <div class="slide">
73
+ <iframe src="slide-07.html" width="1280" height="720" frameborder="0" style="border: none;"></iframe>
74
+ <div class="slide-number">7 / 7</div>
75
+ </div>
76
+ </body>
77
+ </html>
@@ -0,0 +1,98 @@
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="ru">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Stella Coder Features</title>
8
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
9
+ <style>
10
+ * { margin: 0; padding: 0; box-sizing: border-box; }
11
+ body {
12
+ font-family: 'Inter', sans-serif;
13
+ background: #0a0a0f;
14
+ color: #f8fafc;
15
+ min-height: 100vh;
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ }
20
+ .slide {
21
+ width: 1280px;
22
+ height: 720px;
23
+ padding: 80px;
24
+ display: flex;
25
+ flex-direction: column;
26
+ justify-content: center;
27
+ position: relative;
28
+ overflow: hidden;
29
+ }
30
+ .slide::before {
31
+ content: '';
32
+ position: absolute;
33
+ top: -50%;
34
+ right: -50%;
35
+ width: 100%;
36
+ height: 100%;
37
+ background: radial-gradient(circle, #22c55e15 0%, transparent 70%);
38
+ }
39
+ .slide::after {
40
+ content: '';
41
+ position: absolute;
42
+ bottom: -30%;
43
+ left: -30%;
44
+ width: 80%;
45
+ height: 80%;
46
+ background: radial-gradient(circle, #3b82f610 0%, transparent 70%);
47
+ }
48
+ .content { position: relative; z-index: 1; }
49
+ h1 {
50
+ font-size: 72px;
51
+ font-weight: 800;
52
+ line-height: 1.1;
53
+ margin-bottom: 24px;
54
+ background: linear-gradient(135deg, #f8fafc 0%, #94a3b8 100%);
55
+ -webkit-background-clip: text;
56
+ -webkit-text-fill-color: transparent;
57
+ }
58
+ .subtitle {
59
+ font-size: 28px;
60
+ color: #94a3b8;
61
+ font-weight: 400;
62
+ max-width: 600px;
63
+ }
64
+ .author {
65
+ position: absolute;
66
+ bottom: 60px;
67
+ left: 80px;
68
+ font-size: 18px;
69
+ color: #94a3b8;
70
+ }
71
+ .date {
72
+ position: absolute;
73
+ bottom: 60px;
74
+ right: 80px;
75
+ font-size: 16px;
76
+ color: #94a3b8;
77
+ }
78
+ .accent-line {
79
+ width: 80px;
80
+ height: 4px;
81
+ background: linear-gradient(90deg, #22c55e, #3b82f6);
82
+ border-radius: 2px;
83
+ margin-bottom: 32px;
84
+ }
85
+ </style>
86
+ </head>
87
+ <body>
88
+ <div class="slide">
89
+ <div class="content">
90
+ <div class="accent-line"></div>
91
+ <h1>Stella Coder Features</h1>
92
+ <p class="subtitle"></p>
93
+ </div>
94
+ <div class="author">Stella Development</div>
95
+ <div class="date">10.07.2026</div>
96
+ </div>
97
+ </body>
98
+ </html>
@@ -0,0 +1,101 @@
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="ru">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
8
+ <style>
9
+ * { margin: 0; padding: 0; box-sizing: border-box; }
10
+ body {
11
+ font-family: 'Inter', sans-serif;
12
+ background: #0a0a0f;
13
+ color: #f8fafc;
14
+ min-height: 100vh;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ }
19
+ .slide {
20
+ width: 1280px;
21
+ height: 720px;
22
+ padding: 80px;
23
+ display: flex;
24
+ flex-direction: column;
25
+ justify-content: center;
26
+ position: relative;
27
+ }
28
+ .slide-number {
29
+ position: absolute;
30
+ top: 40px;
31
+ right: 60px;
32
+ font-size: 14px;
33
+ color: #94a3b8;
34
+ }
35
+ h2 {
36
+ font-size: 48px;
37
+ font-weight: 700;
38
+ margin-bottom: 40px;
39
+ color: #f8fafc;
40
+ }
41
+ .content-grid {
42
+ display: grid;
43
+ grid-template-columns: 1fr 1fr;
44
+ gap: 40px;
45
+ }
46
+ .content-item {
47
+ padding: 24px;
48
+ background: #111118;
49
+ border-radius: 16px;
50
+ border: 1px solid #94a3b820;
51
+ }
52
+ .content-item h3 {
53
+ font-size: 20px;
54
+ font-weight: 600;
55
+ margin-bottom: 12px;
56
+ color: #22c55e;
57
+ }
58
+ .content-item p {
59
+ font-size: 16px;
60
+ line-height: 1.6;
61
+ color: #94a3b8;
62
+ }
63
+ .bullet-list {
64
+ list-style: none;
65
+ padding: 0;
66
+ }
67
+ .bullet-list li {
68
+ font-size: 20px;
69
+ line-height: 1.8;
70
+ padding-left: 24px;
71
+ position: relative;
72
+ color: #f8fafc;
73
+ }
74
+ .bullet-list li::before {
75
+ content: '';
76
+ position: absolute;
77
+ left: 0;
78
+ top: 50%;
79
+ transform: translateY(-50%);
80
+ width: 8px;
81
+ height: 8px;
82
+ background: #22c55e;
83
+ border-radius: 50%;
84
+ }
85
+ </style>
86
+ </head>
87
+ <body>
88
+ <div class="slide">
89
+ <div class="slide-number">1 / 5</div>
90
+ <h2>Введение</h2>
91
+
92
+ <ul class="bullet-list">
93
+ <li>Что такое Stella Coder Features</li>
94
+ <li>Актуальность темы</li>
95
+ <li>Цели и задачи работы</li>
96
+ <li>Методы исследования</li>
97
+ </ul>
98
+
99
+ </div>
100
+ </body>
101
+ </html>