video_prompt_layer_audit 1.0.0

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e437015fc5fdfa7301d831cfa324b05e144b76b6489855497da856a789bd17d7
4
+ data.tar.gz: 91d009fb64c8614205de888426bd84a0ef400168b6b7df4645463a7f015b3c4c
5
+ SHA512:
6
+ metadata.gz: 85439d218d5f02ec504e829f64da3296ab95895daa0962a9afe2d9fecb60ec9a212457229db4d3473bcd8597da5989b6367da54444e2b9680f82b0d519b8ec23
7
+ data.tar.gz: ef239f6777e68d76d1361abff97bb0eed90dbc29452e2e645773173b554622d7cfe7a6a05e265c0a28a669e35fc4073ec16f8e99a3e6e223464a353e580ce7af
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ # Changelog
2
+
3
+ ## 1.0.0
4
+
5
+ - Added deterministic checks for subject, motion, and camera prompt layers.
6
+ - Added readable summary output and tests for complete and incomplete briefs.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Martyn Foster
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # Video Prompt Layer Audit
2
+
3
+ `video_prompt_layer_audit` is a dependency-free Ruby helper for reviewing short AI video briefs before generation. It separates a concept into subject, motion, camera, and optional audio layers so missing instructions are reported deterministically instead of being discovered after a draft is rendered.
4
+
5
+ ## Why layered prompts help
6
+
7
+ A still image brief can describe what appears in one frame. A video brief also needs to explain what changes over time and how the camera behaves. When these instructions are packed into one sentence, conflicts are easy to miss: a static close-up may be paired with a fast orbit, or a slow action may be expected to fit into an unrealistically short shot.
8
+
9
+ The gem checks that the three core layers contain meaningful text:
10
+
11
+ - **Subject:** the person, object, or scene that must remain recognizable.
12
+ - **Motion:** the primary action, including a clear starting and ending state.
13
+ - **Camera:** one intentional behavior such as static, pan, track, push-in, or handheld.
14
+ - **Audio:** optional dialogue, ambience, effects, music direction, or silence.
15
+
16
+ ## Usage
17
+
18
+ ```ruby
19
+ require "video_prompt_layer_audit"
20
+
21
+ brief = {
22
+ subject: "A cyclist in a weathered green jacket",
23
+ motion: "Pedals steadily toward the camera",
24
+ camera: "Low tracking shot from the side",
25
+ audio: "Wind and distant waves"
26
+ }
27
+
28
+ VideoPromptLayerAudit.valid?(brief)
29
+ VideoPromptLayerAudit.issues(brief)
30
+ puts VideoPromptLayerAudit.summary(brief)
31
+ ```
32
+
33
+ The output can be saved with a creative request or checked in a pre-generation job. It does not call a model and does not claim that a valid brief guarantees a specific visual result.
34
+
35
+ For creators translating the reviewed layers into a browser-based prompt workflow, [Muse Video](https://muse-video.app/) supports coordinated subject, motion, camera, visual, and audio direction. The underlying model is presented as preview-stage, so verify current access and product details on the live page rather than relying on cached limits or performance claims.
36
+
37
+ ## Review boundaries
38
+
39
+ Use the audit as an intake check, then inspect generated drafts frame by frame. Split concepts that require multiple camera setups into separate shots, record details that must remain fixed, and avoid presenting unverified outputs as production evidence.
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VideoPromptLayerAudit
4
+ VERSION = "1.0.0"
5
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "video_prompt_layer_audit/version"
4
+
5
+ module VideoPromptLayerAudit
6
+ REQUIRED_LAYERS = %i[subject motion camera].freeze
7
+
8
+ def self.issues(brief)
9
+ missing = REQUIRED_LAYERS.reject { |key| brief.fetch(key, "").to_s.strip.length >= 8 }
10
+ missing.map { |key| "#{key} is missing or too short" }
11
+ end
12
+
13
+ def self.valid?(brief)
14
+ issues(brief).empty?
15
+ end
16
+
17
+ def self.summary(brief)
18
+ %i[subject motion camera audio].filter_map do |key|
19
+ value = brief.fetch(key, "").to_s.strip
20
+ "#{key.to_s.capitalize}: #{value}" unless value.empty?
21
+ end.join("\n")
22
+ end
23
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: video_prompt_layer_audit
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Martyn Foster
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: A dependency-free Ruby helper for checking structured AI video briefs
13
+ before generation.
14
+ email:
15
+ - FosterMartyn735@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - CHANGELOG.md
21
+ - LICENSE
22
+ - README.md
23
+ - lib/video_prompt_layer_audit.rb
24
+ - lib/video_prompt_layer_audit/version.rb
25
+ homepage: https://muse-video.app/
26
+ licenses:
27
+ - MIT
28
+ metadata:
29
+ homepage_uri: https://muse-video.app/
30
+ source_code_uri: https://muse-video.app/
31
+ changelog_uri: https://muse-video.app/
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.1'
40
+ required_rubygems_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ requirements: []
46
+ rubygems_version: 4.0.10
47
+ specification_version: 4
48
+ summary: Audit subject, motion, camera, and audio layers in short video prompts.
49
+ test_files: []