agentvfx 0.3.4 → 0.3.5
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.
- package/LICENSE +201 -171
- package/README.md +5 -13
- package/package.json +2 -2
- package/skills/agentvfx/LICENSE +201 -171
- package/skills/agentvfx/NOTICE +8 -2
- package/skills/agentvfx/SKILL.md +3 -3
- package/skills/agentvfx/engine/core/constants.mjs +1 -1
- package/skills/agentvfx/engine/core/mark.mjs +6 -9
- package/skills/agentvfx/engine/core/palettes.mjs +1 -1
- package/skills/agentvfx/engine/core/schedule.mjs +1 -1
- package/skills/agentvfx/engine/core/templates.mjs +1 -1
- package/skills/agentvfx/engine/core/validate.mjs +3 -3
- package/skills/agentvfx/engine/node/board.mjs +1 -1
- package/skills/agentvfx/engine/node/encode.mjs +1 -1
- package/skills/agentvfx/engine/node/eye.mjs +1 -1
- package/skills/agentvfx/engine/node/footage.mjs +1 -1
- package/skills/agentvfx/engine/node/frame-worker.mjs +1 -1
- package/skills/agentvfx/engine/node/job.mjs +1 -1
- package/skills/agentvfx/engine/node/render.mjs +1 -1
- package/skills/agentvfx/engine/node/stage-capture.mjs +1 -1
- package/skills/agentvfx/engine/node/stage-serve.mjs +1 -1
- package/skills/agentvfx/engine/web/init.js +1 -1
- package/skills/agentvfx/engine/web/prelude.mjs +1 -1
- package/skills/agentvfx/engine/web/render.mjs +2 -2
- package/skills/agentvfx/engine/web/text.mjs +1 -1
- package/skills/agentvfx/references/template-format.md +2 -2
- package/skills/agentvfx/runtime/agentvfx.js +1 -1
- package/skills/agentvfx/scripts/export-web.mjs +7 -5
- package/skills/agentvfx/scripts/make-beat.mjs +1 -1
- package/skills/agentvfx/scripts/vfx.mjs +1 -1
- package/skills/agentvfx/templates/_test/feedback-counter/fx.json +1 -1
- package/skills/agentvfx/templates/_test/gradient/fx.json +1 -1
- package/skills/agentvfx/templates/_test/identity/fx.json +1 -1
- package/skills/agentvfx/templates/_test/strobe/fx.json +1 -1
- package/skills/agentvfx/templates/_test/text-probe/fx.json +1 -1
- package/skills/agentvfx/templates/brutal/_src/boot-log/def.mjs +1 -1
- package/skills/agentvfx/templates/brutal/_src/halftone-field/def.mjs +1 -1
- package/skills/agentvfx/templates/brutal/_src/hud-deck/def.mjs +1 -1
- package/skills/agentvfx/templates/brutal/boot-log/fx.json +1 -1
- package/skills/agentvfx/templates/brutal/collage/fx.json +1 -1
- package/skills/agentvfx/templates/brutal/collage/layout.mjs +1 -1
- package/skills/agentvfx/templates/brutal/halftone-field/fx.json +1 -1
- package/skills/agentvfx/templates/brutal/hud-deck/fx.json +1 -1
- package/skills/agentvfx/templates/brutal/lattice/fx.json +1 -1
- package/skills/agentvfx/templates/glitch/block-glitch/fx.json +1 -1
- package/skills/agentvfx/templates/glitch/pixel-sort/fx.json +1 -1
- package/skills/agentvfx/templates/glitch/rgb-split/fx.json +1 -1
- package/skills/agentvfx/templates/glitch/vhs/fx.json +1 -1
- package/skills/agentvfx/templates/impact/impact-1bit/fx.json +1 -1
- package/skills/agentvfx/templates/impact/impact-invert/fx.json +1 -1
- package/skills/agentvfx/templates/impact/punch-shake/fx.json +1 -1
- package/skills/agentvfx/templates/impact/rgb-hit/fx.json +1 -1
- package/skills/agentvfx/templates/impact/signal-cut/fx.json +1 -1
- package/skills/agentvfx/templates/impact/speedline-burst/fx.json +1 -1
- package/skills/agentvfx/templates/impact/strobe-burst/fx.json +1 -1
- package/skills/agentvfx/templates/light/anamorphic-streak/fx.json +1 -1
- package/skills/agentvfx/templates/light/bloom-glow/fx.json +1 -1
- package/skills/agentvfx/templates/light/god-rays/fx.json +1 -1
- package/skills/agentvfx/templates/light/lens-flare/fx.json +1 -1
- package/skills/agentvfx/templates/light/light-leak/fx.json +1 -1
- package/skills/agentvfx/templates/light/light-stage/fx.json +1 -1
- package/skills/agentvfx/templates/light/light-sweep/fx.json +1 -1
- package/skills/agentvfx/templates/light/neon-saber/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/echo-flow/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/hologram-scan/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/kaleido-fold/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/mosh-melt/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/sacred/fx.json +1 -1
- package/skills/agentvfx/templates/psychedelic/tidal-bands/fx.json +1 -1
- package/skills/agentvfx/templates/scope/goniometer/fx.json +1 -1
- package/skills/agentvfx/templates/scope/scope-polar/fx.json +1 -1
- package/skills/agentvfx/templates/scope/scope-triggered/fx.json +1 -1
- package/skills/agentvfx/templates/scope/spectrogram-scroll/fx.json +1 -1
- package/skills/agentvfx/templates/scope/xy-phosphor/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/bars-linear/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/bars-mirror/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/bass-circle/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/label-bars/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/spectrum-particles/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/spectrum-radial/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/_src/waveform-line/fx.src.json +1 -1
- package/skills/agentvfx/templates/spectrum/bars-linear/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/bars-mirror/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/bass-circle/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/label-bars/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/spectrum-particles/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/spectrum-radial/fx.json +1 -1
- package/skills/agentvfx/templates/spectrum/waveform-line/fx.json +1 -1
- package/skills/agentvfx/test/concept-collage.test.mjs +1 -1
- package/skills/agentvfx/test/concept-lattice.test.mjs +1 -1
- package/skills/agentvfx/test/concept-signal-cut.test.mjs +1 -1
- package/skills/agentvfx/test/credit.test.mjs +13 -1
- package/skills/agentvfx/test/scope.test.mjs +1 -1
- package/skills/agentvfx/test/web.test.mjs +8 -5
package/skills/agentvfx/LICENSE
CHANGED
|
@@ -1,172 +1,202 @@
|
|
|
1
|
-
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright [yyyy] [name of copyright owner]
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
|
2
202
|
|
|
3
|
-
Copyright (c) 2026 Woojin Go (wjgoarxiv)
|
|
4
|
-
|
|
5
|
-
Required Notice: Copyright (c) 2026 Woojin Go (https://github.com/wjgoarxiv/agentvfx)
|
|
6
|
-
|
|
7
|
-
The agentvfx licence has two parts that apply together: the Additional Terms in Part 1, and the licence text in Part 2,
|
|
8
|
-
which is the PolyForm Noncommercial License 1.0.0 reproduced unchanged. Part 1 adds a permission, a credit condition
|
|
9
|
-
and a restriction to Part 2; it does not change any wording of Part 2. "These terms" in Part 2 means Parts 1 and 2
|
|
10
|
-
together, so everything granted in Part 1 is one of "your licenses" and is subject to Acceptance, Patent Defense and
|
|
11
|
-
Violations. To meet "Notices" in Part 2, give each recipient of the software this whole file, or its URL
|
|
12
|
-
(https://github.com/wjgoarxiv/agentvfx/blob/main/LICENSE); the polyformproject.org URL alone is not enough.
|
|
13
|
-
|
|
14
|
-
## Part 1. Additional Terms
|
|
15
|
-
|
|
16
|
-
### 1. Creator permission
|
|
17
|
-
|
|
18
|
-
If you are an individual (a natural person), you may run the software to render video, images and audio ("output"),
|
|
19
|
-
and use that output in your own creative work for any purpose, including commercial purposes. For example, you may
|
|
20
|
-
release your own music video, earn advertising, subscription, sponsorship or tip income on your own channel, or play
|
|
21
|
-
the output in your own live or VJ performance.
|
|
22
|
-
|
|
23
|
-
For this permission:
|
|
24
|
-
|
|
25
|
-
- you count as an individual if you are a sole proprietor (for example a registered 개인사업자) or self-employed,
|
|
26
|
-
as long as the work is your own;
|
|
27
|
-
- several individuals making a work together under their own names, such as a band, count as individuals together,
|
|
28
|
-
as long as none of them acts for a company or other organisation in doing so;
|
|
29
|
-
- sponsored content on your own channel or in your own work is covered.
|
|
30
|
-
|
|
31
|
-
This permission does not cover:
|
|
32
|
-
|
|
33
|
-
- work for an employer, or on behalf of a company or other organisation (a noncommercial organisation keeps only the
|
|
34
|
-
permissions it already has in Part 2);
|
|
35
|
-
- output made for someone else to publish or use as theirs, such as a client's advertisement or a deliverable for a
|
|
36
|
-
label or a brand;
|
|
37
|
-
- selling, licensing or offering the software, its templates or presets, or rendering as a service, or offering output
|
|
38
|
-
on its own as a product (stock footage, loops, packs, NFTs); output may be sold only as part of a larger work of
|
|
39
|
-
your own.
|
|
40
|
-
|
|
41
|
-
Any other commercial use needs a commercial licence from the licensor. Ask at
|
|
42
|
-
https://github.com/wjgoarxiv/agentvfx/issues.
|
|
43
|
-
|
|
44
|
-
### 2. No AI training
|
|
45
|
-
|
|
46
|
-
Under any permission, you may not use the software, its source, shaders, templates or presets to train, fine-tune or
|
|
47
|
-
evaluate a machine-learning model, or to build a dataset for that purpose. Using an AI agent to operate the software
|
|
48
|
-
for your own use is not training and is allowed.
|
|
49
|
-
|
|
50
|
-
### 3. Output
|
|
51
|
-
|
|
52
|
-
As far as the law allows, you own the output you make. The licensor claims no rights in your output except in any part
|
|
53
|
-
of the software or templates that the output contains. People who only watch, host, stream or receive output need no
|
|
54
|
-
licence from the licensor, and they are not bound by these terms. You are, and you remain responsible for what you
|
|
55
|
-
publish or hand over.
|
|
56
|
-
|
|
57
|
-
### 4. Credit
|
|
58
|
-
|
|
59
|
-
If you publish, stream, publicly show or give anyone output made with agentvfx, under any permission, including
|
|
60
|
-
Part 2, you must credit agentvfx.
|
|
61
|
-
|
|
62
|
-
By default every render burns a small "agentvfx" credit into a corner of the frame. While that credit is visible in
|
|
63
|
-
what you publish, you need nothing more; do not crop, cover or edit it out.
|
|
64
|
-
|
|
65
|
-
If you switch it off in the score (`"credit": { "overlay": false }`), or the output carries no on-screen credit (for
|
|
66
|
-
example a web export), you must instead credit agentvfx in text where viewers can reasonably find it (the description,
|
|
67
|
-
caption, credits, or a page the output links to):
|
|
68
|
-
|
|
69
|
-
Made with agentvfx by Woojin Go - https://github.com/wjgoarxiv/agentvfx
|
|
70
|
-
|
|
71
|
-
Where space is short, `VFX: agentvfx (github.com/wjgoarxiv/agentvfx)` is enough. Every render writes the text credit
|
|
72
|
-
to CREDIT.txt next to the film and into the MP4 metadata; leave both in place.
|
|
73
|
-
|
|
74
|
-
When you give output to someone who will publish it, pass the credit on with it: leave the on-screen credit in the
|
|
75
|
-
frame, or give them the text line and CREDIT.txt. The credit is a condition of every licence under these terms. A
|
|
76
|
-
missing credit can be added within the period that "Violations" in Part 2 allows.
|
|
77
|
-
|
|
78
|
-
### 5. Web export
|
|
79
|
-
|
|
80
|
-
If you use scripts/export-web.mjs, keep the LICENSE file it writes with the exported folder.
|
|
81
|
-
|
|
82
|
-
### 6. Names
|
|
83
|
-
|
|
84
|
-
These terms give no right to use the name "agentvfx", the name "Woojin Go" or the agentvfx logo, except to give the
|
|
85
|
-
credit in section 4 and to say truthfully where a work comes from. If you share a changed copy of the software (a fork),
|
|
86
|
-
you must give it a name that does not contain "agentvfx", you must not present it as agentvfx or as made or endorsed by
|
|
87
|
-
the licensor, and you must say that it is changed from agentvfx, with a link to https://github.com/wjgoarxiv/agentvfx.
|
|
88
|
-
|
|
89
|
-
### 7. Earlier copies and third-party portions
|
|
90
|
-
|
|
91
|
-
Copies obtained under the MIT License before 5 November 2026 keep that licence for those copies only. Every version
|
|
92
|
-
this repository publishes is under these terms. Portions adapted from mexicat/pdoom-video remain under their own
|
|
93
|
-
MIT License, and the capture engine copied from lit-typographic-motion is MIT in its own repository; see
|
|
94
|
-
skills/agentvfx/NOTICE for the files and the notice.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
Part 2 follows, unchanged.
|
|
99
|
-
|
|
100
|
-
# PolyForm Noncommercial License 1.0.0
|
|
101
|
-
|
|
102
|
-
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
|
103
|
-
|
|
104
|
-
## Acceptance
|
|
105
|
-
|
|
106
|
-
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
107
|
-
|
|
108
|
-
## Copyright License
|
|
109
|
-
|
|
110
|
-
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
111
|
-
|
|
112
|
-
## Distribution License
|
|
113
|
-
|
|
114
|
-
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
115
|
-
|
|
116
|
-
## Notices
|
|
117
|
-
|
|
118
|
-
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
119
|
-
|
|
120
|
-
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
121
|
-
|
|
122
|
-
## Changes and New Works License
|
|
123
|
-
|
|
124
|
-
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
125
|
-
|
|
126
|
-
## Patent License
|
|
127
|
-
|
|
128
|
-
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
129
|
-
|
|
130
|
-
## Noncommercial Purposes
|
|
131
|
-
|
|
132
|
-
Any noncommercial purpose is a permitted purpose.
|
|
133
|
-
|
|
134
|
-
## Personal Uses
|
|
135
|
-
|
|
136
|
-
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
|
|
137
|
-
|
|
138
|
-
## Noncommercial Organizations
|
|
139
|
-
|
|
140
|
-
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
|
|
141
|
-
|
|
142
|
-
## Fair Use
|
|
143
|
-
|
|
144
|
-
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
145
|
-
|
|
146
|
-
## No Other Rights
|
|
147
|
-
|
|
148
|
-
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
149
|
-
|
|
150
|
-
## Patent Defense
|
|
151
|
-
|
|
152
|
-
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
153
|
-
|
|
154
|
-
## Violations
|
|
155
|
-
|
|
156
|
-
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
157
|
-
|
|
158
|
-
## No Liability
|
|
159
|
-
|
|
160
|
-
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
161
|
-
|
|
162
|
-
## Definitions
|
|
163
|
-
|
|
164
|
-
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
165
|
-
|
|
166
|
-
**You** refers to the individual or entity agreeing to these terms.
|
|
167
|
-
|
|
168
|
-
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
169
|
-
|
|
170
|
-
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
171
|
-
|
|
172
|
-
**Use** means anything you do with the software requiring one of your licenses.
|
package/skills/agentvfx/NOTICE
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
agentvfx
|
|
1
|
+
agentvfx
|
|
2
|
+
Copyright 2026 Woojin Go (https://github.com/wjgoarxiv/agentvfx)
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (see LICENSE). Version 0.3.5 is the first release under it; earlier
|
|
5
|
+
releases carry their own LICENSE file.
|
|
6
|
+
|
|
7
|
+
The portions adapted from mexicat/pdoom-video stay under the MIT License printed below.
|
|
2
8
|
|
|
3
9
|
Adapted from mexicat/pdoom-video (MIT, Giacomo Magnanini), listed from the source-file header comments:
|
|
4
10
|
engine/core/util.mjs
|
|
@@ -7,7 +13,7 @@ Adapted from mexicat/pdoom-video (MIT, Giacomo Magnanini), listed from the sourc
|
|
|
7
13
|
engine/web/scale.mjs
|
|
8
14
|
engine/node/chrome.mjs
|
|
9
15
|
|
|
10
|
-
Copied and adapted from LitClaude lit-typographic-motion 1.0.45 (MIT, (c) 2026 wjgoarxiv, the same author). It stays MIT in its own repository, its pdoom-video portions keep the notice below, and the copies here are offered under the
|
|
16
|
+
Copied and adapted from LitClaude lit-typographic-motion 1.0.45 (MIT, (c) 2026 wjgoarxiv, the same author). It stays MIT in its own repository, its pdoom-video portions keep the notice below, and the copies here are offered under the Apache License 2.0:
|
|
11
17
|
engine/core/constants.mjs
|
|
12
18
|
engine/core/flash.mjs
|
|
13
19
|
engine/node/board.mjs
|
package/skills/agentvfx/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agentvfx
|
|
3
3
|
description: Agent-directed, music-reactive VFX clips from an FX score. WebGL2 shader templates (psychedelic, spectrum, scope, impact, light, glitch, neo-brutalist collage and lattice), optional Blender background plates, a flash audit on every render, silent ping-pong loops, and a web export for live use in apps and sites. Use when someone asks for a VFX clip, a visualizer, a festival or stage loop, a music-reactive background, or a live shader effect for a web page.
|
|
4
|
-
license:
|
|
4
|
+
license: Apache-2.0. See LICENSE and NOTICE.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# agentvfx
|
|
@@ -49,11 +49,11 @@ Check it without rendering:
|
|
|
49
49
|
|
|
50
50
|
Preview small first (640x360), then raise the size for the final. The command prints JSON with the film path, the flash result and the stills. Open `stills/sheet.png` and every strip before you describe the clip to anyone. A render you have not looked at is not done.
|
|
51
51
|
|
|
52
|
-
Every render burns a small `agentvfx` credit into a corner of the frame (switch it off with `"credit": { "overlay": false }` in the score), writes `CREDIT.txt` and puts the credit line in the MP4 metadata.
|
|
52
|
+
Every render burns a small `agentvfx` credit into a corner of the frame (switch it off with `"credit": { "overlay": false }` in the score), writes `CREDIT.txt` and puts the credit line in the MP4 metadata. A credit is appreciated but not required. When you report a finished clip, give the user the line in case they want to paste it:
|
|
53
53
|
|
|
54
54
|
Made with agentvfx by Woojin Go - https://github.com/wjgoarxiv/agentvfx
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
agentvfx is licensed under the Apache License 2.0 (see LICENSE and NOTICE): any use, including commercial use, is allowed under its terms.
|
|
57
57
|
|
|
58
58
|
## 5. Flash safety
|
|
59
59
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/core/constants.mjs.
|
|
2
2
|
// Every number the agentvfx engine and its gate use, in one place.
|
|
3
3
|
|
|
4
4
|
export const ENGINE_COMMIT = "ca251e3dddda422b364385eb484b5a3593a0990d";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Local replacement for the plugin's lib/mark.mjs: the generator
|
|
2
2
|
// tag and the credit line that ffmpeg writes into every MP4, plus an optional comment (the stage-mode flashing notice).
|
|
3
|
-
//
|
|
3
|
+
// The credit also goes to CREDIT.txt next to the film, so it is easy to paste when the film is published.
|
|
4
4
|
export const GENERATOR = "agentvfx";
|
|
5
5
|
export const CREDIT_TEXT = "Made with agentvfx by Woojin Go - https://github.com/wjgoarxiv/agentvfx";
|
|
6
6
|
export const CREDIT_SHORT = "VFX: agentvfx (github.com/wjgoarxiv/agentvfx)";
|
|
@@ -8,13 +8,10 @@ export const CREDIT_SHORT = "VFX: agentvfx (github.com/wjgoarxiv/agentvfx)";
|
|
|
8
8
|
export function creditText() {
|
|
9
9
|
return `${CREDIT_TEXT}
|
|
10
10
|
|
|
11
|
-
Publishing this film?
|
|
12
|
-
in the frame
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Licence: the agentvfx licence (Additional Terms plus the PolyForm Noncommercial License 1.0.0). Individuals may use
|
|
16
|
-
their own output commercially; companies, client work, paid services and AI training are not covered.
|
|
17
|
-
See LICENSE in https://github.com/wjgoarxiv/agentvfx.
|
|
11
|
+
Publishing this film? A credit is appreciated, not required. The film carries a small on-screen credit; you can
|
|
12
|
+
keep it in the frame, or switch it off ("credit": { "overlay": false }) and put the line above in the description,
|
|
13
|
+
caption or credits. Where space is short: ${CREDIT_SHORT}
|
|
14
|
+
Licence: Apache-2.0. See LICENSE and NOTICE in https://github.com/wjgoarxiv/agentvfx.
|
|
18
15
|
`;
|
|
19
16
|
}
|
|
20
17
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Shared palettes, usable by any template that declares a `palette` input.
|
|
2
2
|
// Each palette is a list of sRGB hex stops; templates sample it as a ramp (index 0..1) or as a cyclic
|
|
3
3
|
// ramp. Brutal palettes are black, white and one acid accent, in the spirit of festival HUD
|
|
4
4
|
// colour grammar; the names are neutral and no existing colour system is copied.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The score compositor's timeline: for each frame, which layers are active
|
|
2
2
|
// (base stack, cuts, hits), their parameter values (preset, params, audio bindings) and their local
|
|
3
3
|
// time. Pure and deterministic; the page only draws what this returns.
|
|
4
4
|
import { resolveParams } from "./templates.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The template library: every templates/<family>/<id>/fx.json, keyed by
|
|
2
2
|
// X_AGENTVFX.id. Test templates live under templates/_test/ and are loaded only on request.
|
|
3
3
|
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Hand-rolled validators for templates (fx.json) and FX scores. Every error
|
|
2
2
|
// names the JSON path that failed, so the model can fix the exact field.
|
|
3
3
|
import { PALETTE_NAMES } from "./palettes.mjs";
|
|
4
4
|
import { FAMILY_PATTERN } from "../web/text.mjs";
|
|
5
5
|
|
|
6
|
-
export const SPDX_ALLOWED = Object.freeze(["
|
|
6
|
+
export const SPDX_ALLOWED = Object.freeze(["MIT", "BSD-2-Clause", "BSD-3-Clause", "Apache-2.0", "CC0-1.0"]);
|
|
7
7
|
export const INPUT_TYPES = Object.freeze(["float", "long", "bool", "color", "point2D", "image", "audio", "audioFFT", "event"]);
|
|
8
8
|
export const TEMPLATE_INPUT_KINDS = Object.freeze(["generative", "footage", "either"]);
|
|
9
9
|
export const FLASH_KINDS = Object.freeze(["none", "possible", "strobe"]);
|
|
@@ -286,7 +286,7 @@ export function validateScore(score, lib) {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
|
-
// On-screen credit
|
|
289
|
+
// On-screen credit: a small corner mark on by default; the score may opt out.
|
|
290
290
|
const credit = { overlay: true };
|
|
291
291
|
if (score.credit !== undefined) {
|
|
292
292
|
if (!isObj(score.credit)) err("credit", "must be { overlay? }");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/node/board.mjs: only the
|
|
2
2
|
// tile geometry is kept. Look-gate boards (references beside rendered frames) are composed in Node
|
|
3
3
|
// from RGBA buffers by stills.mjs, so no browser or font is involved.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/node/encode.mjs.
|
|
2
2
|
// ffmpeg is always the last stage and always a separately installed host binary: the master is one
|
|
3
3
|
// pinned encode (BT.709 matrix and tags, tv range, CRF 16, tune grain). The preview walks the encoder
|
|
4
4
|
// ladder (ffmpeg libwebp_anim, then img2webp, then GIF) over PNG frames the renderer wrote.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The eye: every render leaves stills the model must open before reporting.
|
|
2
2
|
// stills/sheet.png (12 evenly spaced frames, 4x3), stills/strip-<k>.png (7 consecutive frames centred
|
|
3
3
|
// on each hit, cut or onset, or on 25/50/75 % when there are none; at most 6 strips) and
|
|
4
4
|
// stills/poster.png (full size, 40 % in). Frames are downscaled as they arrive, so memory stays small.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Footage ingest: probe a clip, decode the requested window with ffmpeg at a
|
|
2
2
|
// constant frame rate, scale so the long edge is 1920 (even sizes), convert to RGBA with the clip's
|
|
3
3
|
// colour matrix (BT.709 when untagged), and hand frames to the renderer strictly in order. A request
|
|
4
4
|
// for frame 0 after later frames restarts the decoder (the determinism replay). The window's audio is
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/node/frame-worker.mjs.
|
|
2
2
|
// One frame-analysis worker: decode a captured PNG to RGBA and analyse it off the capture thread
|
|
3
3
|
// (the SHA-256 of the decoded RGBA, the flash-audit cells on the frame's own grid, the 0.5th and
|
|
4
4
|
// 99.5th percentile luminance, the busy-cell share). The capture loop steps the next frame while a
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). One render job, end to end: resolve the score's footage and audio, analyse
|
|
2
2
|
// the audio, render the master (stage mode: full intensity, never tamed), keep the eye's stills, run
|
|
3
3
|
// the flash audit as a report, write SAFETY.txt and the MP4 comment when limits are exceeded, and, only
|
|
4
4
|
// when asked (safety.mode "broadcast-safe" or safeVariant), render a substituted broadcast-safe file.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The host side of a render: open the render page in headless Chrome (GPU
|
|
2
2
|
// rung), prepare the templates, step every frame in order, capture, analyse in a worker pool, pipe
|
|
3
3
|
// RGBA to ffmpeg, then replay sampled frames in a fresh browser from frame 0 and compare bytes
|
|
4
4
|
// (determinism; exit 18 semantics after lit-typographic-motion's stage replay).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/node/stage-capture.mjs.
|
|
2
2
|
// One stage browser: headless Chrome on the GPU rung, the render page served by Fetch interception on
|
|
3
3
|
// http://lit.stage, the frozen-clock init script injected before any page script, and a step/capture
|
|
4
4
|
// pair the renderer calls frame by frame. The master and the determinism replay each open their own
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Adapted from lit-typographic-motion 1.0.45 engine/node/stage-serve.mjs.
|
|
2
2
|
// Serving without a listening socket: every request the render page makes is paused by CDP Fetch
|
|
3
3
|
// interception and either fulfilled from disk on the synthetic origin http://lit.stage, or failed
|
|
4
4
|
// with BlockedByClient and recorded. Routes: /lit/engine/* (engine/web), /lit/templates/* (the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Injected before any page script: the page has no wall clock and no
|
|
2
2
|
// unseeded randomness. Math.random is a seeded mulberry32; Date and performance.now are frozen at 0
|
|
3
3
|
// (time comes only from the frame index the host passes to window.__litStep).
|
|
4
4
|
(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The GLSL prelude prepended to every template pass, and the program source
|
|
2
2
|
// builder. Contract: references/template-format.md. Importable in Node (tests) and in the page.
|
|
3
3
|
// Helper credits: value noise and fbm after The Book of Shaders ch.11/13 (https://thebookofshaders.com),
|
|
4
4
|
// cosine palette after Inigo Quilez (https://iquilezles.org/articles/palettes/), hsv conversions after
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). The render page: WebGL2 multipass renderer for template layers with
|
|
2
2
|
// persistent RGBA16F buffers. The host (engine/node/render.mjs) calls window.__litPrepare once, then
|
|
3
3
|
// window.__litStep(f, plan) for every frame in order, and captures the canvas after each step.
|
|
4
4
|
// No requestAnimationFrame, no wall clock: time comes only from the plan.
|
|
@@ -329,7 +329,7 @@ out vec4 fragColor;
|
|
|
329
329
|
uniform sampler2D credit;
|
|
330
330
|
void main() { fragColor = texture(credit, vUv); }`;
|
|
331
331
|
|
|
332
|
-
/** The
|
|
332
|
+
/** The credit as a frame-sized RGBA texture: small text in the bottom-right corner, white with a dark edge. */
|
|
333
333
|
function creditTexture(text) {
|
|
334
334
|
const c = document.createElement("canvas");
|
|
335
335
|
c.width = W;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// agentvfx (
|
|
1
|
+
// agentvfx (Apache-2.0, see LICENSE). Engine text layer, drawn in the render page with Canvas 2D and system fonts
|
|
2
2
|
// (nothing bundled). Output is a mask: R = glyph and line ink, G = solid box/bar fill. Templates colour
|
|
3
3
|
// it. Reveal modes are frame-deterministic: "type" prints characters over time with a block cursor,
|
|
4
4
|
// "decode" settles each character out of seeded random glyphs.
|
|
@@ -33,7 +33,7 @@ A template is a folder `templates/<family>/<id>/` with:
|
|
|
33
33
|
"id": "sacred",
|
|
34
34
|
"family": "psychedelic",
|
|
35
35
|
"input": "footage",
|
|
36
|
-
"spdx": "
|
|
36
|
+
"spdx": "Apache-2.0",
|
|
37
37
|
"flash": "none",
|
|
38
38
|
"fps": 30,
|
|
39
39
|
"palette": true,
|
|
@@ -48,7 +48,7 @@ A template is a folder `templates/<family>/<id>/` with:
|
|
|
48
48
|
- INPUT types: `float`, `long` (int; optional `VALUES` / `LABELS`), `bool`, `color` (`[r,g,b,a]` 0..1, sRGB),
|
|
49
49
|
`point2D`, `image`, `audio`, `audioFFT`.
|
|
50
50
|
- `X_AGENTVFX.input`: `generative` (no clip), `footage` (needs `input.video`), `either`.
|
|
51
|
-
- `spdx`:
|
|
51
|
+
- `spdx`: Apache-2.0 (the library's own), MIT, BSD-2-Clause, BSD-3-Clause or CC0-1.0 only. Shaders are written fresh;
|
|
52
52
|
algorithms are credited by name and URL in `credits` and in comments. No Shadertoy ports, no Lygia, no
|
|
53
53
|
hydra-synth, no MilkDrop presets.
|
|
54
54
|
- `flash`: `none`, `possible` (can flash at some settings) or `strobe` (flashes by design).
|