Commit graph

1355 commits

Author SHA1 Message Date
ed767720e7 Update README.md
Some checks failed
Build and Deploy to flok.cc / deploy (push) Has been cancelled
2026-03-26 22:12:48 +01:00
Damián Silvani
ba273dd514 v1.3.1 2026-01-27 07:44:25 -03:00
Damián Silvani
f554a52cc3 feat(web): Implement hideCode query param to hide code editors 2026-01-26 21:04:39 -03:00
Damián Silvani
24542d2ea5 Merge branch 'polymorphicengine-main' 2026-01-26 19:44:23 -03:00
polymorphicengine
47906ba975 add zwirn to readme 2026-01-26 11:54:50 +01:00
polymorphicengine
84a26da532 add lang-zwirn 2026-01-26 11:53:22 +01:00
polymorphicengine
91d3bbd74b add zwirn repl 2026-01-26 11:52:59 +01:00
tmhglnd
933fe4da71 Updated mercury-web engine to 1.7.0 (#376)
I updated the Mercury engine to v1.7.0, and also updated some of the texts/urls in the README.

Co-authored-by: tmhglnd <timohoogland@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/376
Reviewed-by: Damián Silvani <munshkr@noreply.codeberg.org>
Co-authored-by: tmhglnd <tmhglnd@noreply.codeberg.org>
Co-committed-by: tmhglnd <tmhglnd@noreply.codeberg.org>
2026-01-24 12:56:13 +01:00
textmodejs
59796b7e0e feat: Update textmode.js version and frame (#373)
Updates `textmode.js` from `v0.6.1` to `v0.7.1`, introducing new features like multi-layering, which enable an infinite amount of new creative possibilities. 🌟

Additionally, the `textmode` frame now also contains a programmable `hydra` canvas, which gets fed into the `textmode.js` instance for conversion, which can then be displayed by the user on any layer(s).
It only works from `hydra` -> `textmode.js` right now, and not the other way around yet.

Information coming from strudel and mercury is now also available within the `textmode` frame, meaning you can now create textmode visuals that react to strudel audio. I have tested strudel successfully, but I have not tested `mercury`, as I am not familiar with that.

I've also added a `textmode.js` add-on library `textmode.filters.js`, which adds more filter shaders to use, since the core library only has a few ones. This add-on library allows you to apply effects like glitches or chromatic aberration to a layer, or the final composited result.

Lastly, I've updated the `textmode-wrapper.ts` to be more robust, since each layer introduced by the user is its own draw-loop basically.
With those changes made, I have no longer been able to break the sketch/page/visuals by purposefully introducing syntax errors into the code.
If there is an error anywhere when (re-)evaluating, it correctly maintains the last working code and keeps it running.

Co-authored-by: chr1sdoofer <59119064+chr1sdoofer@users.noreply.github.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/373
Co-authored-by: textmodejs <textmodejs@noreply.codeberg.org>
Co-committed-by: textmodejs <textmodejs@noreply.codeberg.org>
2025-12-13 00:39:21 +01:00
Damián Silvani
0a73ead1d1 docs(web): Update link to FlokQuark repo 2025-12-08 16:39:10 -03:00
Damián Silvani
6256142712 fix(web): Add missing remote_sclang target 2025-12-08 13:06:53 -03:00
Damián Silvani
eca0ef7299 chore(web): Update Strudel packages to v1.2.6 (#372)
Closes #365

Reviewed-on: https://codeberg.org/munshkr/flok/pulls/372
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Co-committed-by: Damián Silvani <munshkr@gmail.com>
2025-12-03 23:44:40 +01:00
Damián Silvani
8aa325d7cb style: Format files (#371) 2025-11-27 18:34:18 -03:00
textmodejs
873ee8cee9 feat: Add textmode.js as web plugin (#371)
`textmode-wrapper.ts` provides a wrapper class around the `textmode.js` library, and access to a global [Textmodifier](https://code.textmode.art/api/classes/Textmodifier.html) instance `t`, which is used by the user to draw on the canvas, load assets, update the font, font size, and more.
- Includes more advanced error handling, so errors in the draw callback are properly caught. The canvas always renders the last valid sketch that was evaluated. Errors are shown (like in the toast), but it'll keep showing the last working animation/sketch on the canvas.
- Also uses a newly integrated `isWebgl2Supported()` function, since the library is dependent on `WebGL2`.
- Does currently only support the `showCanvas` display setting.
- On `tryEval()`, the internal frame count is currently **not** reset. I'm not sure what's preferred to live coders, but I've added commented-out code which would reset the frame count on `tryEval()`. Happy about your thoughts here.

`textmode.tsx` is the corresponding React component that serves as the frame for `textmode.js`.

- In `utils.ts`, the `isWebgl2Supported()` function has been added, as mentioned.
- In `session.tsx` and `settings.json`, the relevant declarations/definitions have been made.
- In `command.tsx`, I fixed an error unrelated to textmode.js/this PR, where an error/warning was thrown every time the `CommandDialog` was opened via the button on the top-right.
- Added `textmode.js` v0.6.1 (latest) to `package.json`
- Included textmode.js in `example-vanilla-js`
- Update `README.md` to include `textmode.js`, including a small section with a short description, a code example, and links to the documentation.

---

Co-authored-by: humanbydefinition <christopherdietrich@outlook.com>
Co-authored-by: chr1sdoofer <59119064+chr1sdoofer@users.noreply.github.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/371
Co-authored-by: textmodejs <textmodejs@noreply.codeberg.org>
Co-committed-by: textmodejs <textmodejs@noreply.codeberg.org>
2025-11-27 22:31:27 +01:00
Damián Silvani
28ec7355b0 fix: Copy todepong/samples/tidal-drum-machines-alias.json to public/assets/ 2025-10-27 08:11:38 -03:00
Damián Silvani
5b17e70c05 fix: Use bunny CDN for Strudel samples
See https://codeberg.org/uzu/strudel/pulls/1701
2025-10-27 08:10:06 -03:00
Damián Silvani
ec1e38e277 chore(web): Update @strudel/draw to 1.2.4 2025-10-26 09:48:14 -03:00
Damián Silvani
1d48c6f82b chore(web): Update Github links/references and use git repo icon (#364)
Fixes #362

Reviewed-on: https://codeberg.org/munshkr/flok/pulls/364
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Co-committed-by: Damián Silvani <munshkr@gmail.com>
2025-10-24 14:06:15 +02:00
Damián Silvani
6cf31c27eb style: Format strudel-mondo.d.ts 2025-10-21 18:59:51 -03:00
froos
fbde1bc533 update repoUrl (#360)
flok still leads to github

Reviewed-on: https://codeberg.org/munshkr/flok/pulls/360
Co-authored-by: froos <froos@noreply.codeberg.org>
Co-committed-by: froos <froos@noreply.codeberg.org>
2025-10-21 23:58:48 +02:00
gilfuser
f69eaa17d1 fix: Use JavaScript comments in mondo-strudel target (#359)
Use javascript type so that `Ctrl+/` uses `//` for line comments.

Co-authored-by: gilfuser <gilfuser@noreply.codeberg.org>
Co-committed-by: gilfuser <gilfuser@noreply.codeberg.org>
2025-10-04 23:40:30 +02:00
Damián Silvani
23df310db1 fix(web): Remove setting width and height on P5Wrapper
Fixes #358
2025-10-03 13:15:05 -03:00
Damián Silvani
29616e0c88 feat(web): Add new mondo-strudel web target that evaluates with mondo() 2025-10-02 23:07:23 -03:00
gilfuser
b1c96d42d5 enable strudel´s mondo language (#357)
Co-authored-by: gilfuser <gilfuser@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/357
Reviewed-by: Damián Silvani <munshkr@noreply.codeberg.org>
Co-authored-by: gilfuser <gilfuser@noreply.codeberg.org>
Co-committed-by: gilfuser <gilfuser@noreply.codeberg.org>
2025-10-03 03:30:20 +02:00
Damián Silvani
5ccdd0461c chore: Upgrade strudel to 1.2.5 2025-10-02 07:59:07 -03:00
Cameron Alexander
21be279895 fix: Upgrade strudel and update prebake code (#355)
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/355
Co-authored-by: Cameron Alexander <emptyflash@gmail.com>
Co-committed-by: Cameron Alexander <emptyflash@gmail.com>
2025-10-02 12:56:11 +02:00
Damián Silvani
0919f1d459 chore: Upgrade hydra-synth to 1.4.0 and p5 to 2.0.5 (#356)
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/356
2025-10-02 12:53:55 +02:00
Damián Silvani
2cd0cc3191 fix(web): Responsive improvements (#349)
* [x] Show "Evaluate Button" if using devices with touch screen (not by breakpoint)
* [x] Use CSS grids for pane layout instead of manually defining layout with containers
* [x] Add "Next" and "Prev" buttons on small devices to move around panes
* [x] Fix styles of status bar and other UI on single-pane layout for mobile devices
* [x] Refactor

Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/349
2025-06-22 17:34:47 +02:00
Damián Silvani
8c125c83fc fix(web): Lazy load web language libraries (Hydra, Mercury) and custom fonts (#350)
* Load current font only, and the rest of the fonts only when trying to change font from settings
* Lazy load Mercury and Hydra (only when initializing)

Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/350
2025-06-22 15:28:56 +02:00
Damián Silvani
dfdcc41ce3 fix(web): Show eval button on medium screens (like tablets) (#348)
Fixes #334

Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/348
2025-06-21 16:53:46 +02:00
Damián Silvani
b8b87e1ee0 fix(web): Disable line evaluation on mercury/mercury-web targets (#347)
Fixes #337

Co-authored-by: tmhglnd <timohoogland@gmail.com>
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/347
2025-06-21 16:18:06 +02:00
Damián Silvani
bc140f7d37 Fix deploy.yml workflow (#346)
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/346
2025-06-21 16:06:49 +02:00
Damián Silvani
d1c1fc9d89 Make Forgejo runner work (#345)
Co-authored-by: Damián Silvani <munshkr@gmail.com>
Reviewed-on: https://codeberg.org/munshkr/flok/pulls/345
2025-06-20 20:20:56 +02:00
taconi
0cf8b62a97
Update Strudel to 1.2.0 (#342) 2025-05-03 10:04:40 -03:00
Timo
f7558f72ab
Update Mercury Engine to 1.3.1 (#341) 2025-04-28 20:50:13 -03:00
Hannes Güdelhöfer
c9a771238a
feat(web): Change Hydra fft defaults (#338)
Changes:
- change defaults of fft function:
    -  `index` is now 0
    -  `buckets` is now 1
- the third parameters can now also just be a string, setting the
analyzer id directly.
- this is the most used other option, and it was noisy to set it with
the object each time
2025-04-05 08:55:00 -03:00
Joan Queralt
d433f22290
feat(web): Update Punctual to 0.5.1.5 (#339) 2025-04-05 08:52:25 -03:00
Timo
08e4f63c69
Update Mercury (#336)
Update the mercury engine to the latest 1.3.0 version

---------

Co-authored-by: Damián Silvani <munshkr@gmail.com>
2025-03-01 20:22:43 -03:00
taconi
b32f54d925
feat(web): Add Cmd/Ctrl-Alt-H alias to hide editor (#330)
`Ctrl-Shift-H` does not work as it is a Firefox shortcut, so this adds `Ctrl-Alt-H` as an alternative.
2025-01-26 09:41:36 -03:00
Damián Silvani
ec28f1f525
Add new @flok/lang-punctual package; Do not autoclose on < and > (#329)
Fixes #328
2025-01-19 12:46:35 -03:00
Timo
c0008e1fd9
Fix for comment keymap on spanish keyboards (#326) 2025-01-12 19:11:43 -03:00
Timo
ec652e61d1
No Auto Indentation for mercury and mercury-web languages (#327) 2025-01-10 08:28:20 -03:00
Timo
e04d28d8c7
Dummy REPL added as target option (#291) 2025-01-06 22:52:40 -03:00
Damián Silvani
5d353b8174
docs: Add Punctual LICENSE mention. 2025-01-06 08:49:37 -03:00
Damián Silvani
b3dad73af4
Implement Punctual target (wrapper, canvas, frame) (#322)
Closes #316
2025-01-05 10:49:00 -03:00
Damián Silvani
85989562fa v1.3.0 2025-01-05 09:37:40 -03:00
Damián Silvani
0949aa6eb8 chore: Move prettier dep from root package 2025-01-05 09:35:24 -03:00
Damián Silvani
5f371b5f3e chore: Update CHANGELOG 2025-01-05 09:24:22 -03:00
Damián Silvani
35c3e0bbac
Run prettier on the Code and add it to CI (#319)
- Enable lint on CI again
- Run prettier auto format
2025-01-02 14:57:13 +00:00
Hannes Güdelhöfer
c8f41c02fa
Enable linting in CI again 2025-01-02 15:40:41 +01:00