summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-07-26 21:06:33 +0200
committercashmere <cashmere@autistici.org>2026-07-26 21:06:33 +0200
commitfc0a801e8829b623d62137a3f7cbdec38c6d555a (patch)
treeb4c9a0458e92eaf44d3331ce3b0ea3ff906a9d15 /flake.nix
parentcf5e79e919144200294fb9fed22a222592a0aeea (diff)
downloadopencut-fc0a801e8829b623d62137a3f7cbdec38c6d555a.tar.gz
feat: freeze frame at playhead
Enable the timeline toolbar freeze-frame button: capture the composited canvas as PNG, add it as an image media asset, split the video element at the playhead, shift the right part by the freeze duration, and insert a 3-second image element in the gap. Adds RendererManager.captureFrame(), reused by createSnapshot(). Also adds the Nix devshell (flake.nix/flake.lock: bun + nodejs) and AGENTS.md repository guidelines.
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 00000000..2cf1c096
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,32 @@
+{
+ description = "OpenCut Classic development shell";
+
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
+ outputs =
+ { nixpkgs, ... }:
+ let
+ systems = [
+ "x86_64-linux"
+ "aarch64-linux"
+ "aarch64-darwin"
+ ];
+ forEachSystem = nixpkgs.lib.genAttrs systems;
+ in
+ {
+ devShells = forEachSystem (
+ system:
+ let
+ pkgs = import nixpkgs { inherit system; };
+ in
+ {
+ default = pkgs.mkShell {
+ packages = with pkgs; [
+ bun
+ nodejs
+ ];
+ };
+ }
+ );
+ };
+}