@docyrus/animaguru 0.23.0 → 0.25.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.
- package/NOTICE.md +24 -0
- package/README.md +6 -2
- package/dist/animaguru.js +274 -3
- package/package.json +1 -1
- package/skills/animaguru-aurora-glass/SKILL.md +33 -0
- package/skills/animaguru-aurora-glass/references/recipe.md +27 -0
- package/skills/animaguru-bauhaus-geometry/SKILL.md +35 -0
- package/skills/animaguru-bauhaus-geometry/references/recipe.md +30 -0
- package/skills/animaguru-caption-news/SKILL.md +34 -0
- package/skills/animaguru-caption-news/references/recipe.md +26 -0
- package/skills/animaguru-city-symphony/SKILL.md +34 -0
- package/skills/animaguru-city-symphony/references/recipe.md +26 -0
- package/skills/animaguru-countdown/SKILL.md +34 -0
- package/skills/animaguru-countdown/references/recipe.md +26 -0
- package/skills/animaguru-kino-montage/SKILL.md +34 -0
- package/skills/animaguru-kino-montage/references/recipe.md +26 -0
- package/skills/animaguru-liquid-motion/SKILL.md +35 -0
- package/skills/animaguru-liquid-motion/references/recipe.md +24 -0
- package/skills/animaguru-news-package/SKILL.md +34 -0
- package/skills/animaguru-news-package/references/recipe.md +26 -0
- package/skills/animaguru-newsreel/SKILL.md +34 -0
- package/skills/animaguru-newsreel/references/recipe.md +26 -0
- package/skills/animaguru-one-line-art/SKILL.md +34 -0
- package/skills/animaguru-one-line-art/references/recipe.md +28 -0
- package/skills/animaguru-sticker-explainer/SKILL.md +37 -0
- package/skills/animaguru-sticker-explainer/references/recipe.md +27 -0
- package/skills/animaguru-synthwave-y2k/SKILL.md +35 -0
- package/skills/animaguru-synthwave-y2k/references/recipe.md +29 -0
- package/skills/animaguru-telestrator/SKILL.md +34 -0
- package/skills/animaguru-telestrator/references/recipe.md +26 -0
- package/skills/animaguru-variety-captions/SKILL.md +36 -0
- package/skills/animaguru-variety-captions/references/recipe.md +27 -0
- package/skills/animaguru-visual-investigation/SKILL.md +34 -0
- package/skills/animaguru-visual-investigation/references/recipe.md +26 -0
- package/templates/video/README.md +1 -1
- package/templates/video/VIDEO-STYLE-NOTICES.txt +24 -0
- package/templates/video/shared/locales/en/style-studies.json +120 -0
- package/templates/video/src/studies/scenes.ts +599 -0
- package/templates/video/style-source-provenance.json +7 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: animaguru-telestrator
|
|
3
|
+
description: Build Sports Telestrator visuals and motion in an AnimaGuru PixiJS video workspace. Use when this visual style is chosen for an explainer, advertisement or general video.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sports Telestrator
|
|
8
|
+
|
|
9
|
+
The TV analysis segment: play the clip at full speed, rewind, freeze it, and draw on the broadcast picture — rings under feet, marker arrows for the ball, a flattened pitch board — then play on and switch angles. It is a documentary & broadcast style: real match footage carries the picture; every line is drawn on top of it. Subject, audience, emotional tone and story come from the user's brief. This style supports Explainer, Advertisement and General Video.
|
|
10
|
+
|
|
11
|
+
## Establish direction
|
|
12
|
+
|
|
13
|
+
Follow sibling `animaguru-video` for purpose → style → compact interview before new production. Reuse explicit choices and completed briefs; honor a requested interview skip. Share [the style gallery](https://animaguru.com/animation-styles#telestrator). Fold missing visual questions into the shared interview:
|
|
14
|
+
|
|
15
|
+
- Which match footage (with rights) and which piece of action gets the full rewind-and-freeze breakdown?
|
|
16
|
+
- Which roles (the team or ball, opponents, the space) should the three colours carry, and which sport?
|
|
17
|
+
|
|
18
|
+
## Use real evidence
|
|
19
|
+
|
|
20
|
+
Ask the user for their own footage, line-ups, event data or photos first; otherwise find licence-clean sources (see the [production recipe](references/recipe.md)). Real footage only: never invent a number the footage can't support (ball speed, distance run); keep `production/FACTS.md` (every counted number, with how it was measured) and `production/CREDITS.md` (every asset's source, author and licence), delivered with the film.
|
|
21
|
+
|
|
22
|
+
## Build the look and movement
|
|
23
|
+
|
|
24
|
+
Read `pixijs` and the relevant Mesh, Filters, Graphics or Text skills. Read `animaguru` before generating assets: generation can supply music or narration, never the match footage itself. Discover current models and estimates, respect the user's budget, and reuse completed media. Essential labels, the stopwatch and the data card belong in authored canvas content.
|
|
25
|
+
|
|
26
|
+
- Everything is drawn on the real picture in the picture's own coordinates: rings under feet, arrows along the ball's path, traced pitch lines; nothing floats in an abstract diagram until the deliberate flatten.
|
|
27
|
+
- One freeze, one finding: flash, punch, desaturate, spotlight, then ring → area or link → label, each 0.3–0.6 seconds apart.
|
|
28
|
+
- The perspective flatten fits a homography from marked pitch points and redraws the freeze frame as a mesh moving to board coordinates, reusing the same point set for both views.
|
|
29
|
+
|
|
30
|
+
Use the [production recipe](references/recipe.md) for sources, the bundled original study and port-specific decisions. It is a technique example, not a prescribed film. Keep motions a function of absolute seconds; separate drawing cadence from camera/light cadence when the material calls for it. Prepare assets locally, preserve async seeking and register actual resource/cue times. Keep essential type editable and localized.
|
|
31
|
+
|
|
32
|
+
## Review and delivery
|
|
33
|
+
|
|
34
|
+
Inspect tracked-point accuracy against full-resolution crops, overlay alignment through the freeze's punch transform, packaging placement over any real logo or URL, and every counted number against `FACTS.md`. Check representative full-resolution frames, moving playback, desktop/mobile fit and cold seeks. Follow `animaguru-video` for production records, audio mixing and HTML5 delivery; export MP4 when requested. Describe the actual 2D/2.5D rendering method accurately. Physically rendered 3D remains deferred.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Sports Telestrator production recipe
|
|
2
|
+
|
|
3
|
+
The workspace includes an executable original study in `src/studies/scenes.ts`, selected with `telestrator`. Its drawing commands are consumed by `src/studies/pixi-renderer.ts`; geometry and time sampling are shared with the gallery renderer. All copy lives in `shared/locales/en/style-studies.json`.
|
|
4
|
+
|
|
5
|
+
In an untouched starter, run `npm run example -- telestrator`, then `npm run dev`. The command refuses to replace an authored film, retains starter backups in `production/example-backup/`, and writes an 8-second study with its own resource tracks. `npm run export:html` and `npm run export:mp4` use this installed film normally. To use the recipe inside an existing film, import `studyFrame()` and `StudyRenderer`, then compose the selected scene into the project's timeline instead of running the installer.
|
|
6
|
+
|
|
7
|
+
## Evidence and sources
|
|
8
|
+
|
|
9
|
+
Wikimedia Commons (many clips are cut from broadcasters' own YouTube uploads under CC BY; read the licence on each file page; not CC BY-SA or "no known restrictions"), a broadcaster's or club's own verified YouTube channel when its video page states a Creative Commons Attribution licence (save the evidence: channel id, verification, licence field, date checked; never a re-upload or fan mirror), the league's or broadcaster's own match page for facts (scores, minutes, how a goal was scored), and Commons photographs (CC BY/CC0) for player portraits. Download the native resolution, never an "AI-upscaled" stream; record each asset in `production/CREDITS.md` and every counted number and its measurement method in `production/FACTS.md`.
|
|
10
|
+
|
|
11
|
+
## Adaptation decisions
|
|
12
|
+
|
|
13
|
+
- Track reference points (feet, ball) as hand-authored keyframes in source-pixel coordinates, interpolated the same way across slow motion and freezes; check them against full-resolution crops, never a scaled contact sheet.
|
|
14
|
+
- Use a `PerspectiveMesh`, or a small custom shader doing the equivalent projection, for the flatten into a top-down board; drive both the broadcast overlay and the board positions from the same homography point set.
|
|
15
|
+
- Build the freeze entry (white flash, punch-in, desaturate, spotlight) as one small filter and transform chain applied uniformly to every freeze, so overlays drawn afterward inherit the same transform and never slide off the players.
|
|
16
|
+
|
|
17
|
+
The study is silent, original procedural art with illustrative values, labelled as such; it demonstrates material, layout and motion, not evidence. Replace its stand-ins with the real match footage described above, never with generated imagery. The gallery preview uses an illustrative match with no real footage or team behind it, labelled as such. Configure the subject, palette, scene sequence, duration and soundtrack from the brief.
|
|
18
|
+
|
|
19
|
+
Use `src/studies/timing.ts` for deterministic easing, seeded variation, measured stroke truncation and cue helpers. `window.animaguru.texts` exposes visible study text bounds for `npm run review`; text declarations alone do not count as visual proof. Inspect the actual frames as well.
|
|
20
|
+
|
|
21
|
+
## Sources and attribution
|
|
22
|
+
|
|
23
|
+
Inspired by the following pinned references; source-specific 3D/media dependencies are not bundled. New study art and scene geometry are original. The workspace's `VIDEO-STYLE-NOTICES.txt` preserves the repository notices and clarifies third-party asset scope.
|
|
24
|
+
|
|
25
|
+
- [styles/telestrator/STYLE.md](https://github.com/lemomo-ai/lemo-opuscar/blob/77ee8318df779b0736d7de0abe24387e51023735/styles/telestrator/STYLE.md)
|
|
26
|
+
- [styles/telestrator/demo/index.html](https://github.com/lemomo-ai/lemo-opuscar/blob/77ee8318df779b0736d7de0abe24387e51023735/styles/telestrator/demo/index.html)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: animaguru-variety-captions
|
|
3
|
+
description: Build Variety Captions visuals and motion in an AnimaGuru PixiJS video workspace. Use when this visual style is chosen for an explainer, advertisement or general video.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Variety Captions
|
|
8
|
+
|
|
9
|
+
TV variety-show packaging: chunky rounded captions in layered outlines pop onto the footage a beat after every gag, and each feeling gets its own treatment, from bouncing question marks to a burst frame on a freeze. It turns a vlog, a pet clip, an interview or a product demo into an episode. Subject, audience, emotional tone and story come from the user's brief. This style supports Explainer, Advertisement and General Video.
|
|
10
|
+
|
|
11
|
+
## Establish direction
|
|
12
|
+
|
|
13
|
+
Follow sibling `animaguru-video` for purpose → style → compact interview before new production. Reuse explicit choices and completed briefs; honor a requested interview skip. Share [the style gallery](https://animaguru.com/animation-styles#variety-captions). Fold missing visual questions into the shared interview:
|
|
14
|
+
|
|
15
|
+
- Which footage carries the film, and which three to five moments are the gags or turns the captions answer?
|
|
16
|
+
- Which language and voice do the captions speak in (the narrator, the subject's inner voice, a commentator), and how cheeky may they be?
|
|
17
|
+
|
|
18
|
+
## Footage and assets
|
|
19
|
+
|
|
20
|
+
Ask for the user's own footage first; the captions are written for real moments, so the clip decides the gags. Otherwise use licence-clean stock (CC0 or public domain, or a licence the user confirms) and record each file in `production/CREDITS.md`. A generated clip is allowed only when the user agrees, and it must never pose as a real recorded moment of a real person or animal. Bundle every font locally with its licence: heavy rounded faces such as Nunito Black, Baloo 2, M PLUS Rounded 1c, ZCOOL KuaiLe or Smiley Sans (all OFL), and a hand-lettering face such as Caveat or Patrick Hand for asides.
|
|
21
|
+
|
|
22
|
+
## Build the look and movement
|
|
23
|
+
|
|
24
|
+
Read `pixijs` and the relevant Text, Graphics, Container and Filters skills. Read `animaguru` before generating assets: generation can supply music, sound effects or narration; the captions themselves stay authored, editable canvas text.
|
|
25
|
+
|
|
26
|
+
- Every caption is three layers plus a shadow: a fill with a two-stop gloss (a hard step at about half height), a white outline of about 0.18 em and a coloured outer outline of about 0.34 em, over an offset drop shadow (about 0.04 em right, 0.08 em down, half opacity). Draw each layer across the whole line before the next, so no letter's outline covers its neighbour's fill.
|
|
27
|
+
- Entrances overshoot: scale 0 → 1.15 → 1.0 over about eight frames at 24 fps, or letter by letter with a two-frame stagger and a short hop. Exits are a three-to-four-frame pop. Long holds keep a gentle wiggle (±2–3°, ±2–3 px).
|
|
28
|
+
- A caption lands two to three frames after its beat (the visual moment or the sound cue), never before, and the edit supports it: a two-frame snap punch-in, a freeze with a slow push, a jump cut to the reaction.
|
|
29
|
+
- Match each feeling to one treatment and one palette: curiosity gets bouncing question marks; shock a freeze, a two-frame white flash, a jagged burst frame, converging speed lines redrawn every two frames and a decaying shake; awkwardness a sliding sweat drop, gloom lines and cool lavender; delight twinkling sparkles in pink and magenta; a verdict a worn rubber stamp slammed from about 2.3× to 1× in three frames; a snarky aside small slanted hand lettering in parentheses.
|
|
30
|
+
- Keep faces and the gag itself clear, keep a show bug in one corner, and stay inside about 5 % safe margins. Use idiomatic copy and correct punctuation in the captions' language, including CJK punctuation.
|
|
31
|
+
|
|
32
|
+
Use the [production recipe](references/recipe.md) for the bundled original study and port-specific decisions. It is a technique example, not a prescribed film. Keep motions a function of absolute seconds; separate drawing cadence from camera/light cadence when the material calls for it. Prepare assets locally, preserve async seeking and register actual resource/cue times. Keep essential type editable and localized.
|
|
33
|
+
|
|
34
|
+
## Review and delivery
|
|
35
|
+
|
|
36
|
+
Inspect each caption's landing against its beat (two to three frames late, never early), reading time on every caption, overlap with faces and the show bug, outline order between neighbouring letters, fallback fonts and phone-size legibility. Check representative full-resolution frames, moving playback, desktop/mobile fit and cold seeks. Follow `animaguru-video` for production records, audio mixing and HTML5 delivery; export MP4 when requested. Describe the actual 2D/2.5D rendering method accurately. Physically rendered 3D remains deferred.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Variety Captions production recipe
|
|
2
|
+
|
|
3
|
+
The workspace includes an executable original study in `src/studies/scenes.ts`, selected with `variety-captions`. Its drawing commands are consumed by `src/studies/pixi-renderer.ts`; geometry and time sampling are shared with the gallery renderer. All copy lives in `shared/locales/en/style-studies.json`.
|
|
4
|
+
|
|
5
|
+
In an untouched starter, run `npm run example -- variety-captions`, then `npm run dev`. The command refuses to replace an authored film, retains starter backups in `production/example-backup/`, and writes an 8-second study with its own resource tracks. `npm run export:html` and `npm run export:mp4` use this installed film normally. To use the recipe inside an existing film, import `studyFrame()` and `StudyRenderer`, then compose the selected scene into the project's timeline instead of running the installer.
|
|
6
|
+
|
|
7
|
+
## Footage, fonts and sound
|
|
8
|
+
|
|
9
|
+
The user's own clip comes first. Otherwise: Wikimedia Commons (CC0 or public domain; read each file page, and not CC BY-SA or "no known restrictions"), Pexels or Pixabay only under a licence the user accepts, and the Internet Archive for public-domain material. Fonts come from Google Fonts or the foundry under the SIL Open Font License, bundled in `public/` with the licence text. Comedy sound effects (boing, pop, ding, slide whistle, record scratch) are generated or taken from CC0 libraries such as Freesound's CC0 filter. Record every asset's source, author and licence in `production/CREDITS.md`, and write a cue sheet in `production/` listing each gag beat and the caption that answers it.
|
|
10
|
+
|
|
11
|
+
## Adaptation decisions
|
|
12
|
+
|
|
13
|
+
- Build each caption line from prebuilt per-glyph `Text` objects measured after the fonts load, in four sibling containers (shadow, outer outline, white outline, fill) so every outline sits under every fill. Animate the glyph containers' position, rotation and scale, never the font size, and use a `FillGradient` with a hard stop for the gloss.
|
|
14
|
+
- Draw the burst frame, the converging speed lines, sweat drops and sparkles as `Graphics`, reseeded from the frame index every two frames so the hand-drawn flicker repeats exactly on seeks.
|
|
15
|
+
- Make the freeze by holding the footage at its source time (a still captured to a `RenderTexture` for video), push in with a container transform, and run the white flash and the shake on the same footage container, so captions stay locked above the picture.
|
|
16
|
+
- Prepare the rubber stamp once as an ink-worn `Sprite` texture and slam it with a scale tween and a short shake of the footage container.
|
|
17
|
+
|
|
18
|
+
The study is silent, original procedural art: a flat stand-in cat, mug and counter, labelled as illustrative footage. It demonstrates the caption layers, timing and reaction graphics, not a finished episode; replace its stand-ins with the user's footage. The gallery preview uses a procedurally rendered stand-in cat and kitchen, labelled as not real footage, to show the system at full finish. Configure the subject, palette, scene sequence, duration and soundtrack from the brief.
|
|
19
|
+
|
|
20
|
+
Use `src/studies/timing.ts` for deterministic easing, seeded variation, measured stroke truncation and cue helpers. `window.animaguru.texts` exposes visible study text bounds for `npm run review`; text declarations alone do not count as visual proof. Inspect the actual frames as well.
|
|
21
|
+
|
|
22
|
+
## Sources and attribution
|
|
23
|
+
|
|
24
|
+
Inspired by the following pinned references; no source code, fonts, footage or audio from them is bundled. New study art and scene geometry are original. The workspace's `VIDEO-STYLE-NOTICES.txt` preserves the repository notices and clarifies third-party asset scope.
|
|
25
|
+
|
|
26
|
+
- [prompts/18-hanazi.md](https://github.com/Vincentwei1021/mg-styles-15/blob/49052d80bfaf9fa8412cc9710530e5e95a3b8d8c/prompts/18-hanazi.md)
|
|
27
|
+
- [demos/18-hanazi/index.html](https://github.com/Vincentwei1021/mg-styles-15/blob/49052d80bfaf9fa8412cc9710530e5e95a3b8d8c/demos/18-hanazi/index.html)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: animaguru-visual-investigation
|
|
3
|
+
description: Build Visual Investigation visuals and motion in an AnimaGuru PixiJS video workspace. Use when this visual style is chosen for an explainer, advertisement or general video.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Visual Investigation
|
|
8
|
+
|
|
9
|
+
A cold investigation desk: footage, photographs, documents, sound and maps from one real event laid on one shared clock so they check each other; frozen frames are circled and magnified, quotes are highlighted on the page, and every piece of evidence is pulled into one map at the end. It is a documentary & broadcast style: real footage, documents, photographs and sound carry the film. Subject, audience, emotional tone and story come from the user's brief. This style supports Explainer, Advertisement and General Video.
|
|
10
|
+
|
|
11
|
+
## Establish direction
|
|
12
|
+
|
|
13
|
+
Follow sibling `animaguru-video` for purpose → style → compact interview before new production. Reuse explicit choices and completed briefs; honor a requested interview skip. Share [the style gallery](https://animaguru.com/animation-styles#visual-investigation). Fold missing visual questions into the shared interview:
|
|
14
|
+
|
|
15
|
+
- Which event's footage, documents, photographs, sound and maps do you have, and what is the one sync point every source should converge on?
|
|
16
|
+
- Which time scales should the clock pass through (hours → minutes → seconds → days)?
|
|
17
|
+
|
|
18
|
+
## Use real evidence
|
|
19
|
+
|
|
20
|
+
Ask the user for their own footage, documents, photographs, recordings or data first; otherwise find licence-clean sources (see the [production recipe](references/recipe.md)). Mark every inference `≈ / inferred / unlocated / schematic` on screen and in `production/FACTS.md`; never fake a multi-camera event from a single source. Keep `production/CREDITS.md` (every asset's source, author and licence), delivered with the film. CC BY-SA, "no known restrictions" or unclear origin are not usable without the user's explicit agreement.
|
|
21
|
+
|
|
22
|
+
## Build the look and movement
|
|
23
|
+
|
|
24
|
+
Read `pixijs` and the relevant Graphics, Mesh, Text or Filters skills. Read `animaguru` before generating assets: generation can supply music or narration, never the evidence itself. Discover current models and estimates, respect the user's budget, and reuse completed media. Essential readouts, tags and findings belong in authored canvas content.
|
|
25
|
+
|
|
26
|
+
- Cut points are sync points: pick one instant every source can recognise (an impact, a flash, a public clock) and align each source to it; a source that starts late simply appears late.
|
|
27
|
+
- One clock lives inside the layout itself (a card timestamp, a chart playhead, a `T+` stopwatch), never a separate reserved timeline band by default.
|
|
28
|
+
- Red is the only colour and it only ever points (circles, links, the playhead, the verdict); everything else is grey panels on a near-black ground, and each section says one finding.
|
|
29
|
+
|
|
30
|
+
Use the [production recipe](references/recipe.md) for sources, the bundled original study and port-specific decisions. It is a technique example, not a prescribed film. Keep motions a function of absolute seconds; separate drawing cadence from camera/light cadence when the material calls for it. Prepare assets locally, preserve async seeking and register actual resource/cue times. Keep essential type editable and localized.
|
|
31
|
+
|
|
32
|
+
## Review and delivery
|
|
33
|
+
|
|
34
|
+
Inspect sync-point alignment across sources, inference labelling, source-tag presence on every panel, reading time on verdict boards, and every claim against `FACTS.md`. Check representative full-resolution frames, moving playback, desktop/mobile fit and cold seeks. Follow `animaguru-video` for production records, audio mixing and HTML5 delivery; export MP4 when requested. Describe the actual 2D/2.5D rendering method accurately. Physically rendered 3D remains deferred.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Visual Investigation production recipe
|
|
2
|
+
|
|
3
|
+
The workspace includes an executable original study in `src/studies/scenes.ts`, selected with `visual-investigation`. Its drawing commands are consumed by `src/studies/pixi-renderer.ts`; geometry and time sampling are shared with the gallery renderer. All copy lives in `shared/locales/en/style-studies.json`.
|
|
4
|
+
|
|
5
|
+
In an untouched starter, run `npm run example -- visual-investigation`, then `npm run dev`. The command refuses to replace an authored film, retains starter backups in `production/example-backup/`, and writes an 8-second study with its own resource tracks. `npm run export:html` and `npm run export:mp4` use this installed film normally. To use the recipe inside an existing film, import `studyFrame()` and `StudyRenderer`, then compose the selected scene into the project's timeline instead of running the installer.
|
|
6
|
+
|
|
7
|
+
## Evidence and sources
|
|
8
|
+
|
|
9
|
+
Internet Archive (NARA-donated Universal Newsreels 1929–1967 are public domain; other newsreel companies are not, even when tagged PD by an uploader), Wikimedia Commons (U.S. federal work — Navy, NASA, NARA, NOAA, USGS — is public domain; treat "not renewed" agency-photo claims, e.g. AP/INS/Wide World, as uncertain and skip), NASA (public domain except marked third-party items), Library of Congress and national archives (read each rights statement; "no known restrictions" is not a licence), USGS The National Map (historical topographic maps, public domain). Download into the film's `public/` or `production/` folders, log every request, and record each asset in `production/CREDITS.md` and each claim, with inferences kept separate, in `production/FACTS.md`.
|
|
10
|
+
|
|
11
|
+
## Adaptation decisions
|
|
12
|
+
|
|
13
|
+
- Build the sync grid and the evidence-map links as `Graphics` paths drawn progressively (stroke-by-length) from one shared `playhead()` keyframe list, reused by the audio mix so clockwork ticks and picture stay locked together.
|
|
14
|
+
- For the freeze-circle-magnify move, freeze a video texture's current frame, then render a cropped, scaled copy of the same texture inside a circular mask for the loupe, so the magnified detail is genuinely the same pixels.
|
|
15
|
+
- Keep the map and plan panels as `Graphics` line drawings (or a `Mesh` for an oblique plan) with one projection function mapping real survey coordinates to screen space, reused by every panel that cites a position.
|
|
16
|
+
|
|
17
|
+
The study is silent, original procedural art with illustrative values, labelled as such; it demonstrates material, layout and motion, not evidence. Replace its stand-ins with the real footage, documents, photographs and sound described above, never with generated imagery. The gallery preview uses illustrative evidence panels with no real case behind them, labelled as such. Configure the subject, palette, scene sequence, duration and soundtrack from the brief.
|
|
18
|
+
|
|
19
|
+
Use `src/studies/timing.ts` for deterministic easing, seeded variation, measured stroke truncation and cue helpers. `window.animaguru.texts` exposes visible study text bounds for `npm run review`; text declarations alone do not count as visual proof. Inspect the actual frames as well.
|
|
20
|
+
|
|
21
|
+
## Sources and attribution
|
|
22
|
+
|
|
23
|
+
Inspired by the following pinned references; source-specific 3D/media dependencies are not bundled. New study art and scene geometry are original. The workspace's `VIDEO-STYLE-NOTICES.txt` preserves the repository notices and clarifies third-party asset scope.
|
|
24
|
+
|
|
25
|
+
- [styles/visual-investigation/STYLE.md](https://github.com/lemomo-ai/lemo-opuscar/blob/77ee8318df779b0736d7de0abe24387e51023735/styles/visual-investigation/STYLE.md)
|
|
26
|
+
- [styles/visual-investigation/demo/index.html](https://github.com/lemomo-ai/lemo-opuscar/blob/77ee8318df779b0736d7de0abe24387e51023735/styles/visual-investigation/demo/index.html)
|
|
@@ -102,7 +102,7 @@ The installed style skills cover visual treatment and motion technique across su
|
|
|
102
102
|
|
|
103
103
|
## Original studies and production review
|
|
104
104
|
|
|
105
|
-
Browse `animaguru.templates.json` for all
|
|
105
|
+
Browse `animaguru.templates.json` for all 55 styles and purpose workflows. The 44 expanded, evidence, Machine Anatomy, documentary & broadcast and contemporary motion-design styles include a runnable original study; use `npm run example -- blueprint-drafting` in an untouched starter. Evidence- and documentary-style studies use illustrative values, labelled as such; a production film replaces them with real data, imagery, footage or scans. The command backs up the starter, refuses to replace an authored film, and connects the study to the normal player, timeline and HTML5/MP4 exporters. To compose studies in an existing film, import their scene and renderer instead.
|
|
106
106
|
|
|
107
107
|
`npm run review` starts a local browser review session. Open the printed URL; it saves representative JPEG frames, actual text bounds, reading-hold notes and repeated-seek comparisons in `production/review/`. The numerical report complements frame inspection and full-speed listening. Optional media trim/time mapping and cue helpers are in `src/studies/`. All procedural example art is original; source inspirations and MIT notices are recorded in `VIDEO-STYLE-NOTICES.txt`.
|
|
108
108
|
|
|
@@ -76,3 +76,27 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
76
76
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
77
77
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
78
78
|
SOFTWARE.
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
mg-styles-15
|
|
82
|
+
MIT License
|
|
83
|
+
|
|
84
|
+
Copyright (c) 2026 Vincentwei1021
|
|
85
|
+
|
|
86
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
87
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
88
|
+
in the Software without restriction, including without limitation the rights
|
|
89
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
90
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
91
|
+
furnished to do so, subject to the following conditions:
|
|
92
|
+
|
|
93
|
+
The above copyright notice and this permission notice shall be included in all
|
|
94
|
+
copies or substantial portions of the Software.
|
|
95
|
+
|
|
96
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
97
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
98
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
99
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
100
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
101
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
102
|
+
SOFTWARE.
|
|
@@ -236,6 +236,126 @@
|
|
|
236
236
|
"Illustrative objects",
|
|
237
237
|
"The loupe turns it positive"
|
|
238
238
|
]
|
|
239
|
+
},
|
|
240
|
+
"caption-news": {
|
|
241
|
+
"name": "Caption News",
|
|
242
|
+
"lines": [
|
|
243
|
+
"Slam the caption, trust the source.",
|
|
244
|
+
"Illustrative footage",
|
|
245
|
+
"Keyword · number · document"
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
"newsreel": {
|
|
249
|
+
"name": "1920s Newsreel",
|
|
250
|
+
"lines": [
|
|
251
|
+
"Searchlights, a globe, a headline.",
|
|
252
|
+
"Packaging only",
|
|
253
|
+
"Ident · spin · iris"
|
|
254
|
+
]
|
|
255
|
+
},
|
|
256
|
+
"countdown": {
|
|
257
|
+
"name": "Live Countdown Split-screen",
|
|
258
|
+
"lines": [
|
|
259
|
+
"More cells, closer to zero.",
|
|
260
|
+
"Illustrative feeds",
|
|
261
|
+
"Merge · flip · T plus"
|
|
262
|
+
]
|
|
263
|
+
},
|
|
264
|
+
"city-symphony": {
|
|
265
|
+
"name": "Time-lapse Symphony",
|
|
266
|
+
"lines": [
|
|
267
|
+
"Traffic becomes a river of light.",
|
|
268
|
+
"Procedural city",
|
|
269
|
+
"Beat · grid · hard stop"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
"visual-investigation": {
|
|
273
|
+
"name": "Visual Investigation",
|
|
274
|
+
"lines": [
|
|
275
|
+
"Sources meet at one second.",
|
|
276
|
+
"Illustrative panels",
|
|
277
|
+
"Sync · circle · converge"
|
|
278
|
+
]
|
|
279
|
+
},
|
|
280
|
+
"kino-montage": {
|
|
281
|
+
"name": "Constructivist Montage",
|
|
282
|
+
"lines": [
|
|
283
|
+
"Red, ink, paper, one beat.",
|
|
284
|
+
"Illustrative silhouettes",
|
|
285
|
+
"Grid · stack · count"
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
"telestrator": {
|
|
289
|
+
"name": "Sports Telestrator",
|
|
290
|
+
"lines": [
|
|
291
|
+
"Freeze it, draw on it, flatten it.",
|
|
292
|
+
"Illustrative match",
|
|
293
|
+
"Ring · arrow · board"
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
"news-package": {
|
|
297
|
+
"name": "Broadcast News Package",
|
|
298
|
+
"lines": [
|
|
299
|
+
"The sting becomes the bug.",
|
|
300
|
+
"Procedural graphics",
|
|
301
|
+
"Rundown · tick · flip"
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
"aurora-glass": {
|
|
305
|
+
"name": "Aurora & Glass",
|
|
306
|
+
"lines": [
|
|
307
|
+
"Light, held in glass.",
|
|
308
|
+
"Original aurora and glass study · invented product",
|
|
309
|
+
"Halcyon"
|
|
310
|
+
]
|
|
311
|
+
},
|
|
312
|
+
"liquid-motion": {
|
|
313
|
+
"name": "Liquid Motion",
|
|
314
|
+
"lines": [
|
|
315
|
+
"One drop becomes the mark.",
|
|
316
|
+
"Original liquid study",
|
|
317
|
+
"Pour · neck · snap · drip"
|
|
318
|
+
]
|
|
319
|
+
},
|
|
320
|
+
"bauhaus-geometry": {
|
|
321
|
+
"name": "Bauhaus Geometry",
|
|
322
|
+
"lines": [
|
|
323
|
+
"Every move lands on the grid.",
|
|
324
|
+
"Original geometric study",
|
|
325
|
+
"Kreis · Dreieck · Quadrat"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"synthwave-y2k": {
|
|
329
|
+
"name": "Synthwave & Y2K",
|
|
330
|
+
"lines": [
|
|
331
|
+
"Rewind to the future.",
|
|
332
|
+
"Original scene / tape variant",
|
|
333
|
+
"LASER COAST"
|
|
334
|
+
]
|
|
335
|
+
},
|
|
336
|
+
"sticker-explainer": {
|
|
337
|
+
"name": "Sticker Explainer",
|
|
338
|
+
"lines": [
|
|
339
|
+
"One board, one camera, one fact per line.",
|
|
340
|
+
"Procedural stickers · illustrative figures",
|
|
341
|
+
"Every line brings a new sticker or chart"
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
"variety-captions": {
|
|
345
|
+
"name": "Variety Captions",
|
|
346
|
+
"lines": [
|
|
347
|
+
"Every gag gets its caption.",
|
|
348
|
+
"Illustrative footage",
|
|
349
|
+
"...what mug?"
|
|
350
|
+
]
|
|
351
|
+
},
|
|
352
|
+
"one-line-art": {
|
|
353
|
+
"name": "One-Line Art",
|
|
354
|
+
"lines": [
|
|
355
|
+
"One line, never lifted.",
|
|
356
|
+
"Invented brand",
|
|
357
|
+
"Sun · arches · profile · ring"
|
|
358
|
+
]
|
|
239
359
|
}
|
|
240
360
|
}
|
|
241
361
|
}
|