pulse-rb 1.2.24

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 (54) hide show
  1. package/README.md +225 -0
  2. package/adapters/linoria.lua +233 -0
  3. package/adapters/windui.llms.txt +366 -0
  4. package/adapters/windui.lua +505 -0
  5. package/bin/rb.js +2 -0
  6. package/dist/index.js +3285 -0
  7. package/package.json +59 -0
  8. package/pulse/dev/debuggui.lua +1206 -0
  9. package/pulse/dev/devconfig.lua +81 -0
  10. package/pulse/dev/ui/9_DevPanel.lua +384 -0
  11. package/pulse/helpers/aim.lua +193 -0
  12. package/pulse/helpers/cache.lua +68 -0
  13. package/pulse/helpers/cleaner.lua +110 -0
  14. package/pulse/helpers/conn.lua +33 -0
  15. package/pulse/helpers/cooldown.lua +47 -0
  16. package/pulse/helpers/draw.lua +122 -0
  17. package/pulse/helpers/hitbox.lua +63 -0
  18. package/pulse/helpers/input.lua +24 -0
  19. package/pulse/helpers/log.lua +228 -0
  20. package/pulse/helpers/loop.lua +58 -0
  21. package/pulse/helpers/memory.lua +48 -0
  22. package/pulse/helpers/narrate.lua +160 -0
  23. package/pulse/helpers/notify.lua +51 -0
  24. package/pulse/helpers/perf.lua +48 -0
  25. package/pulse/helpers/remote.lua +128 -0
  26. package/pulse/helpers/restore.lua +59 -0
  27. package/pulse/helpers/store.lua +39 -0
  28. package/pulse/helpers/team.lua +83 -0
  29. package/pulse/helpers/testmode.lua +80 -0
  30. package/pulse/helpers/trace.lua +111 -0
  31. package/pulse/helpers/track.lua +85 -0
  32. package/pulse/helpers/vec.lua +52 -0
  33. package/pulse/helpers/world.lua +51 -0
  34. package/pulse/runtime.lua +343 -0
  35. package/pulse/ui/linoria_settings.lua +55 -0
  36. package/pulse/ui/windui_settings.lua +87 -0
  37. package/templates/AGENTS.md +177 -0
  38. package/templates/CLAUDE.md +424 -0
  39. package/templates/deploy_config.example +17 -0
  40. package/templates/example_esp.rblua +69 -0
  41. package/templates/example_fov.rblua +20 -0
  42. package/templates/example_speed.rblua +25 -0
  43. package/templates/gitignore +4 -0
  44. package/templates/globals.lua +66 -0
  45. package/templates/layout.rblua +28 -0
  46. package/templates/module.lua +7 -0
  47. package/templates/module.rblua +32 -0
  48. package/templates/page_home.rblua +9 -0
  49. package/templates/remote.lua +6 -0
  50. package/templates/remotes.lua +14 -0
  51. package/vscode/language-configuration.json +35 -0
  52. package/vscode/package.json +35 -0
  53. package/vscode/src/extension.js +397 -0
  54. package/vscode/syntaxes/rblua.tmLanguage.json +126 -0
@@ -0,0 +1,366 @@
1
+ # Wind UI — LLM Reference (v1.6.64-fix)
2
+ # Source: https://footagesus.github.io/treehub-web/docs/windui
3
+ # GitHub: https://github.com/Footagesus/WindUI
4
+
5
+ ## LOADING
6
+
7
+ ```lua
8
+ local _version = "1.6.64-fix"
9
+ local WindUI = loadstring(game:HttpGet(
10
+ "https://github.com/Footagesus/WindUI/releases/download/" .. _version .. "/main.lua"
11
+ ))()
12
+ -- Optional post-load config:
13
+ WindUI:SetNotificationLower(true) -- push notifications lower on screen
14
+ WindUI:SetFont("rbxassetid://id") -- custom font
15
+ WindUI:SetParent(Parent) -- where UI renders (default: CoreGui)
16
+ WindUI:SetTheme("Dark") -- global theme override
17
+ ```
18
+
19
+ ## WINDOW
20
+
21
+ ```lua
22
+ local Window = WindUI:CreateWindow({
23
+ Title = "string", -- required
24
+ Icon = "lucide-name"|"rbxassetid://id"|"url",
25
+ Author = "by name", -- subtitle
26
+ Folder = "FolderName", -- used by ConfigManager
27
+ Size = UDim2.fromOffset(w, h), -- default ~950x600
28
+ MinSize = Vector2.new(400,300),
29
+ MaxSize = Vector2.new(1920,1080),
30
+ Position = UDim2.fromScale(0.5,0.5),
31
+ Theme = "Dark", -- built-in or custom
32
+ Resizable = true,
33
+ Transparent = true,
34
+ Acrylic = true,
35
+ ToggleKey = Enum.KeyCode.RightControl,
36
+ HideSearchBar = false,
37
+ AutoScale = false,
38
+ NewElements = false,
39
+ OpenButton = { -- floating open button (MOBILE SUPPORT)
40
+ Enabled = true, -- show the button
41
+ Title = "Open", -- optional label
42
+ Draggable = true,
43
+ OnlyMobile = true, -- show only on mobile devices
44
+ Scale = 1,
45
+ CornerRadius = UDim.new(0,8),
46
+ StrokeThickness = 1,
47
+ Color = ColorSequence.new(Color3, Color3),
48
+ },
49
+ Topbar = {
50
+ Height = 40,
51
+ ButtonsType = "Default"|"Mac",
52
+ },
53
+ User = { ... }, -- show user avatar/name
54
+ KeySystem = { ... }, -- built-in key system
55
+ })
56
+ ```
57
+
58
+ Window methods:
59
+ - `:Tab(config)` → Tab
60
+ - `:Section(config)` → Section (window-level, appears in sidebar)
61
+ - `:Tag(config)` → Tag badge in topbar
62
+ - `:Dialog(config)` → Dialog
63
+ - `:SetTitle(str)`, `:SetAuthor(str)`, `:SetIcon(str)`, `:SetSize(UDim2)`
64
+ - `:SetToggleKey(Enum.KeyCode)` ← USE THIS for toggle key
65
+ - `:SetTheme(str)`, `:SetUIScale(n)`, `:GetUIScale()`
66
+ - `:SetPanelBackground(bool)`, `:ToggleTransparency(bool)`
67
+ - `:SetToTheCenter()`, `:Toggle()`, `:Open()`, `:Close()`, `:Destroy()`
68
+ - `:ToggleFullscreen()`, `:SelectTab(tab)`, `:LockAll()`, `:UnlockAll()`
69
+ - `:OnOpen(fn)`, `:OnClose(fn)`, `:OnDestroy(fn)`
70
+ - `:EditOpenButton(config)`
71
+ - `:DisableTopbarButtons(table)`, `:CreateTopbarButton(config)`
72
+ - `Window.ConfigManager:Config(name)` → Config
73
+ - `Window.CurrentConfig:Save()`, `Window.CurrentConfig:Load()`
74
+
75
+ ## TAB
76
+
77
+ ```lua
78
+ local Tab = Window:Tab({
79
+ Title = "string",
80
+ Icon = "string",
81
+ Desc = "string", -- tooltip
82
+ IconColor = Color3,
83
+ IconShape = "Square"|nil,
84
+ IconThemed = false,
85
+ Border = false,
86
+ Locked = false,
87
+ ShowTabTitle = false,
88
+ TabTitleAlign = "Left",
89
+ })
90
+ ```
91
+
92
+ Tab methods:
93
+ - `:Section(config)` → Section (see below)
94
+ - `:Button(config)`, `:Toggle(config)`, `:Slider(config)`, `:Dropdown(config)`
95
+ - `:Input(config)`, `:Keybind(config)`, `:Colorpicker(config)`
96
+ - `:Paragraph(config)`, `:Image(config)`, `:Divider()`, `:Space(config)`
97
+ - `:Group(config)` (DEPRECATED)
98
+ - `:Select()`, `:SetTitle(str)`, `:SetDesc(str)`, `:Lock()`, `:Unlock()`
99
+ - `:ScrollToTheElement(index)`
100
+
101
+ ## SECTION (groupbox equivalent — used inside Tab)
102
+
103
+ ```lua
104
+ local Section = Tab:Section({
105
+ Title = "string",
106
+ Desc = "string",
107
+ TextSize = number,
108
+ FontWeight = Enum.FontWeight,
109
+ Box = true, -- draws a bordered box around the section
110
+ BoxBorder = true, -- border on the box
111
+ Opened = true, -- expanded by default
112
+ })
113
+ -- Section has the same element methods as Tab:
114
+ -- Section:Toggle(...), Section:Button(...), etc.
115
+ ```
116
+
117
+ ## ELEMENTS — all work on Tab or Section container
118
+
119
+ ### Toggle
120
+ ```lua
121
+ local Elem = Container:Toggle({
122
+ Title = "string",
123
+ Desc = "string",
124
+ Icon = "string",
125
+ Type = "Toggle"|"Checkbox",
126
+ Value = false, -- initial state
127
+ Locked = false,
128
+ Flag = "flag_key", -- for config persistence
129
+ Callback = function(v: boolean) end,
130
+ })
131
+ Elem:Set(bool)
132
+ Elem:Toggle()
133
+ Elem:SetTitle(str), Elem:SetDesc(str)
134
+ Elem:Lock(), Elem:Unlock(), Elem:Highlight(), Elem:Destroy()
135
+ ```
136
+
137
+ ### Slider
138
+ ```lua
139
+ local Elem = Container:Slider({
140
+ Title = "string",
141
+ Desc = "string",
142
+ Step = 1,
143
+ Width = 130,
144
+ IsTooltip = false,
145
+ IsTextbox = false,
146
+ Value = { Min = 0, Max = 100, Default = 50 },
147
+ Icons = { From = "icon", To = "icon" },
148
+ Flag = "flag_key",
149
+ Callback = function(v: number) end,
150
+ })
151
+ Elem:Set(number)
152
+ Elem:SetMin(n), Elem:SetMax(n)
153
+ Elem:SetTitle(str), Elem:SetDesc(str)
154
+ Elem:Lock(), Elem:Unlock(), Elem:Highlight(), Elem:Destroy()
155
+ ```
156
+
157
+ ### Dropdown
158
+ ```lua
159
+ -- Values can be simple strings:
160
+ -- Values = {"A", "B", "C"}
161
+ -- Or rich objects:
162
+ -- Values = { {Title="A", Desc="desc", Icon="icon", Callback=fn, Locked=bool}, {Type="Divider"} }
163
+
164
+ local Elem = Container:Dropdown({
165
+ Title = "string",
166
+ Desc = "string",
167
+ Values = table,
168
+ Value = "default"|table, -- string for single, table for multi
169
+ Multi = false,
170
+ AllowNone = false,
171
+ SearchBarEnabled = false,
172
+ Locked = false,
173
+ Flag = "flag_key",
174
+ Callback = function(v: string|table) end,
175
+ })
176
+ Elem:Select(value) -- string or table
177
+ Elem:Refresh(newValues) -- replace options list
178
+ Elem:SetTitle(str), Elem:SetDesc(str)
179
+ Elem:Lock(), Elem:Unlock(), Elem:Highlight(), Elem:Destroy()
180
+ ```
181
+
182
+ ### Button
183
+ ```lua
184
+ Container:Button({
185
+ Title = "string",
186
+ Desc = "string",
187
+ Icon = "string",
188
+ IconAlign = "Right"|"Left",
189
+ Color = Color3,
190
+ Justify = "Between"|"Center"|"Left",
191
+ Locked = false,
192
+ LockedTitle = "string",
193
+ Flag = "flag_key",
194
+ Callback = function() end,
195
+ })
196
+ -- methods: :SetTitle, :SetDesc, :Lock, :Unlock, :Highlight, :Destroy
197
+ ```
198
+
199
+ ### Keybind
200
+ ```lua
201
+ local Elem = Container:Keybind({
202
+ Title = "string",
203
+ Desc = "string",
204
+ Value = "G", -- key name string e.g. "V", "RightControl"
205
+ Locked = false,
206
+ Flag = "flag_key",
207
+ Callback = function(v) end, -- fires when the bound key is pressed
208
+ })
209
+ Elem:Set(Enum.KeyCode)
210
+ Elem:SetTitle(str)
211
+ Elem:Lock(), Elem:Unlock()
212
+ ```
213
+
214
+ ### Input
215
+ ```lua
216
+ Container:Input({
217
+ Title = "string",
218
+ Desc = "string",
219
+ Icon = "string",
220
+ InputIcon = "string",
221
+ Type = "Default"|"Textarea",
222
+ Placeholder = "string",
223
+ Value = "string",
224
+ Locked = false,
225
+ Flag = "flag_key",
226
+ Callback = function(v: string) end,
227
+ })
228
+ -- methods: :Set(str), :SetTitle, :SetDesc, :Lock, :Unlock, :Highlight, :Destroy
229
+ ```
230
+
231
+ ### Colorpicker
232
+ ```lua
233
+ Container:Colorpicker({
234
+ Title = "string",
235
+ Desc = "string",
236
+ Default = Color3.fromRGB(255,255,255),
237
+ Transparency = 0,
238
+ Locked = false,
239
+ Flag = "flag_key",
240
+ Callback = function(color: Color3) end,
241
+ })
242
+ -- methods: :Set(Color3, transparency?), :Lock, :Unlock
243
+ ```
244
+
245
+ ### Paragraph
246
+ ```lua
247
+ Container:Paragraph({
248
+ Title = "string",
249
+ Desc = "string",
250
+ Image = "url",
251
+ ImageSize = number,
252
+ Thumbnail = "url",
253
+ ThumbnailSize = number,
254
+ Color = "Red"|Color3,
255
+ TextSize = number,
256
+ Justify = "Center"|"Left",
257
+ Locked = false,
258
+ Buttons = { {Title="btn", Icon="icon", Variant="Primary", Callback=fn} },
259
+ })
260
+ -- methods: :SetTitle, :SetDesc, :SetImage(img, size?), :SetThumbnail(img,size?), :SetColor, :Destroy
261
+ ```
262
+
263
+ ### Divider
264
+ ```lua
265
+ Container:Divider() -- no parameters
266
+ ```
267
+
268
+ ### Space
269
+ ```lua
270
+ Container:Space({ Columns = 1 }) -- vertical gap, columns = spacing width
271
+ ```
272
+
273
+ ### Tag (badge in window topbar)
274
+ ```lua
275
+ local Tag = Window:Tag({
276
+ Title = "string",
277
+ Icon = "string",
278
+ Color = Color3,
279
+ Border = false,
280
+ })
281
+ Tag:SetTitle(str), Tag:SetIcon(str), Tag:SetColor(Color3)
282
+ ```
283
+
284
+ ## NOTIFICATIONS
285
+ ```lua
286
+ WindUI:Notify({
287
+ Title = "string",
288
+ Content = "string",
289
+ Icon = "string",
290
+ Duration = 3,
291
+ CanClose = true,
292
+ })
293
+ ```
294
+
295
+ ## DIALOG
296
+ ```lua
297
+ local D = Window:Dialog({
298
+ Title = "string",
299
+ Icon = "string",
300
+ Content = "string",
301
+ Buttons = {
302
+ { Title="Yes", Icon="string", Variant="Primary", Callback=fn },
303
+ { Title="No", Callback=fn },
304
+ },
305
+ })
306
+ D:Show()
307
+ D:Close()
308
+ ```
309
+
310
+ ## POPUP
311
+ ```lua
312
+ local P = WindUI:Popup({
313
+ Title = "string",
314
+ Icon = "string",
315
+ Content = "string",
316
+ Buttons = { {Title="OK", Callback=fn} },
317
+ })
318
+ P:Close()
319
+ ```
320
+
321
+ ## THEMES
322
+ Built-in: "Dark" (and possibly others)
323
+ Custom:
324
+ ```lua
325
+ WindUI:AddTheme({
326
+ Name = "MyTheme",
327
+ Accent = Color3.fromHex("#18181b"),
328
+ Background = Color3.fromHex("#101010"),
329
+ Outline = Color3.fromHex("#FFFFFF"),
330
+ Text = Color3.fromHex("#FFFFFF"),
331
+ Placeholder = Color3.fromHex("#7a7a7a"),
332
+ Button = Color3.fromHex("#52525b"),
333
+ Icon = Color3.fromHex("#a1a1aa"),
334
+ })
335
+ WindUI:SetTheme("MyTheme")
336
+ ```
337
+
338
+ ## CONFIG PERSISTENCE (via Flag property + ConfigManager)
339
+ ```lua
340
+ -- Elements with Flag = "key" auto-track their state.
341
+ local Cfg = Window.ConfigManager:Config("MyConfig") -- creates/loads MyConfig.json
342
+ Cfg:Save()
343
+ Cfg:Load()
344
+
345
+ -- Config files stored at:
346
+ -- [executor]/WindUI/[Window.Folder]/configs/MyConfig.json
347
+ ```
348
+
349
+ ## ICONS
350
+ - Lucide (default): `"save"`, `"bird"`, `"bell"`, etc.
351
+ - Prefixed sets: `"solar:pen-bold"`, `"craft:home"`, etc.
352
+ - Roblox asset: `"rbxassetid://123456789"` (+ IconThemed=true for theme tint)
353
+ - URL: `"https://example.com/icon.png"`
354
+
355
+ ## MOBILE SUPPORT
356
+ Wind UI natively supports mobile via the OpenButton config:
357
+ ```lua
358
+ OpenButton = {
359
+ Enabled = true,
360
+ OnlyMobile = true, -- only shows on mobile, hidden on desktop
361
+ Draggable = true,
362
+ Scale = 1,
363
+ }
364
+ ```
365
+ No extra code needed — Wind UI handles touch input, scrolling, and resizing internally.
366
+ The toggle key still works on PC; the button provides the mobile open/close gesture.