Commit graph

77 commits

Author SHA1 Message Date
Andrea Fletcher
18c1d02d43
Add tag() action for CollectionService tags
Adds a built-in `vide.tag()` action that wraps `Instance:AddTag()` /
`Instance:RemoveTag()` so tags can be applied through `create()` props.

It accepts a static string or array of strings, or a reactive source
returning either. The reactive variant diffs the previous and new tag
sets so only the delta is applied. All tags added by the action are
removed when the surrounding scope is destroyed.

Includes mock support for `AddTag`/`RemoveTag`/`HasTag`/`GetTags`,
tests, API reference docs, and a closing note in the actions tutorial.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 22:10:47 -07:00
centauri
19eaeb424f Deprecate create() overloads
Closes #70
2026-04-29 21:33:29 +01:00
centauri
cf58410b89 Fix spring impulse control 2025-12-04 14:22:16 +00:00
centauri
d7d2f5167e Use type functions for vide.create 2025-11-26 12:35:34 +00:00
centauri
c16022586e Add create type test 2025-11-03 00:51:09 +00:00
centauri
ce24f8ade9 Cleanup scope functions 2025-09-01 21:59:35 +01:00
centauri
4b4db9602e Implement delays for indexes() and values() 2025-08-31 20:37:46 +01:00
centauri
5262ef711c Implement delays for show() and switch() 2025-08-29 17:44:02 +01:00
aaron
452ca383f7 Optimize indexes() and values() 2025-03-27 19:27:54 +00:00
EwDev
37e8e05206
Support nesting Parent (#48)
* allow nesting parent property

* update changelog

* fix mock instances Parent property not being a proxy

* add tests

Closes #47
2025-02-23 21:31:26 +00:00
aaron
b7878753bd Update untrack() type to allow no return 2025-01-07 00:06:39 +00:00
aaron
a383c4ce69 Fix show() edge case 2025-01-06 23:56:49 +00:00
aaron
46a2043356 Ignore false passed as a child 2025-01-04 00:45:55 +00:00
aaron
c796e48173 Add source to show() callback 2025-01-04 00:40:51 +00:00
aaron
58a31a1b32 Try improve error reporting 2024-12-27 22:43:01 +00:00
aaron
3b22f6ccf9 Add spring setter 2024-12-27 02:34:31 +00:00
aaron
b44b9ef2ba Add implicit effects recursively creating more implicit effects for children 2024-12-27 01:00:45 +00:00
aaron
4c639f8388 Add flag to disable deferral of nested properties 2024-12-26 22:36:58 +00:00
aaron
ccaeb030f3 Remove aggregate construction 2024-12-26 21:17:14 +00:00
aaron
e60aa57ca2 Fix edge case with map functions 2024-11-27 19:43:51 +00:00
11poe
44fe65ee5e
Add create(a, { props }) syntax (#42)
* Add new create syntax

* Add new create syntax to changelog

* Fix new create syntax test
2024-11-16 20:20:49 +00:00
aaron
fdb4a137a8 Fix test require 2024-11-16 18:41:27 +00:00
aaron
49cc551493 Switch from mock Vector3 to native vector lib 2024-11-13 22:35:16 +00:00
aaron
5abd5eee91 Update require paths to relative string 2024-11-13 22:19:20 +00:00
aaron
0897821e1f Add check for destruction of active scope 2024-11-13 21:56:22 +00:00
aaron
6ead93088a Make context functions return result 2024-10-09 02:12:25 +01:00
aaron
82eec61c45 Make root() return destructor automatically 2024-10-06 15:37:05 +01:00
aaron
8142acd1c1 Add context() 2024-10-06 15:20:04 +01:00
alicesaidhi
fbe2f01bb9
fix recursive queue flush (#28)
* fix recursive queue flush

* remove print from test

* swap order of flush

* simplified test case and remove error

* write more in-depth tests

* change approach flush_update_queue

* double diamond test case

* fix indent

* change naming of function

* subsequent updates do not batch test case

* simplify test case
2024-08-20 12:44:56 +01:00
alicesaidhi
b85419088c
allow fragments in implicit effects for children (#29)
* fix fragments in effects

* add test case

* more descriptive test
2024-08-20 12:40:29 +01:00
aaron
2dc2814d76 Fix regression with derived sources 2024-07-19 11:21:49 +01:00
aaron
7bae2517cd Improve error reporting 2024-07-15 17:37:26 +01:00
aaron
f2de9b0e63 Refactor 2024-07-03 15:02:52 +01:00
Aaron Smith
c288cb92c4 Minor refactors
Also fixed potential bug with `create()` being called recursively if a
property binding passed as a property to `create()` also calls
`create()`
2023-11-20 16:53:30 +00:00
Aaron Smith
8eb5f96c5b Fix recursive batch() use 2023-11-20 12:27:56 +00:00
Aaron Smith
65fe3fcf47 Fix some graph edge cases 2023-11-16 18:01:45 +00:00
Aaron Smith
ec998ccbc8 Implement batched updates
No docs yet, more testing needed.
2023-10-27 16:47:49 +01:00
Aaron Smith
7d82fe353e Fix error in test
Also misc changes
2023-10-27 15:47:43 +01:00
aaron
aca08709b6 Update tests 2023-10-25 20:02:40 +01:00
Aaron Smith
15255855c3 Add repeated read test 2023-10-25 16:58:29 +01:00
Aaron Smith
8218e4702f Fix diamond graphs 2023-10-25 15:49:35 +01:00
Aaron Smith
c03fb05779 Make changed() run initially 2023-09-28 16:46:32 +01:00
Aaron Smith
2ae65a0194 Update tests
Added a case to confirm the behavior of strict mode's double evaluation
and node cached values.
2023-09-27 10:24:14 +01:00
Aaron Smith
d07c705b64 Fix switch() not working in strict mode
Fixes #20
2023-09-27 10:02:09 +01:00
Aaron Smith
32fa44f4c5 Cleanup helper for instances
Closes #19
2023-09-26 14:34:27 +01:00
Aaron Smith
71bbaa2092 Update reactive scoping docs 2023-09-26 13:27:38 +01:00
aaron
c68d0a6c18 Allow creation of nested tracking scopes
It turns out that handling destruction of a nested tracking scope was
not as difficult as I thought and didn't need much changes
2023-09-25 23:37:51 +01:00
aaron
38342b3805 Disallow creation of nested tracking scopes 2023-09-25 11:44:24 +01:00
aaron
c0c2166edf Update testkit 2023-09-24 01:49:16 +01:00
Aaron Smith
62716a074d Update benchmarks 2023-09-21 14:58:44 +01:00