Lanibo Studio EN
Справочник

Команди и файлове

Как се прави реклама на ръка и какво казва всеки файл. Всеки файл се проверява при четене, а грешката посочва точното поле.

Команди

npm run promo -- make    <promo>                 # заснема всички кадри, после монтира
npm run promo -- record  <promo> [shot…]         # заснема наново всички или някои кадри
npm run promo -- render  <promo> [--edit=edit-x.json]   # само монтаж; вариант → video-x.mp4
npm run promo -- import  <promo> <shot> <video> [--from=s] [--to=s] [name=s…]
npm run promo -- publish <promo> <review link> "<message>"   # само по думата на собственика
npm run promo -- features        <project> <guide file>
npm run promo -- scenarios       <project> --accounts=a,b [--target=android] [--count=3]
npm run promo -- scenarios-check <project> <scenario set.json>
npm run check                                    # типове, lint, формат, тестове
make Заснема, после монтира: цялото видео от нулата.
record Връща демо данните в начално състояние и заснема кадрите от steps.json.
render Монтира видеото по edit.json (или вариант) и пуска проверките.
import Превръща всеки запис на екрана (видео от iPhone) в кадър, с отметки.
publish Праща линка за преглед на телефона на собственика чрез issue в GitHub.
features Чете ръководството на приложението в списък с какво може приложението.
scenarios Пише заданието за сценариста.
scenarios-check Проверява написаните сценарии и ги запазва като чернови.

Файлове на проект

projects/<app>/
  target.json            къде е приложението, файлът с акаунтите, връщането на демо данните
  features.json          какво може приложението (от ръководството му)
  filming.json           какво може и какво не може да се снима
  scenarios/*.md         идеи за реклами с прости думи
  assets/                музика, лого
  promos/<promo>/
    steps.json           как се управлява приложението
    edit.json            как се монтира видеото (варианти: edit-store.json …)
out/<app>/<promo>/      записи и видеа (не се пазят в git)

target.json

Платформата (web или android); адресът на приложението или неговият Android пакет и схема за линкове; пътят до файла с акаунтите, който стои извън проекта и никога не се появява в логовете; командата за връщане на данните, пускана преди всеки запис; и за Android демо часовник (часова зона и час от деня).

steps.json

Стъпките в setup се изпълняват извън кадър (вход, начален екран). Всеки от shots се заснема като отделен запис. Кадър може да посочи account, с който да се снима, две устройства (devices) едновременно или notifications, за да се появяват известия. Всяка стъпка може да каже on на кое устройство се изпълнява.

Стъпка Какво прави
open Отваря екран по пътя му.
tap Натиска елемент; с optional го прескача, ако го няма.
fill Пише в поле; {account.login} попълва вход по време на записа.
type Пише текст там, където е фокусът.
scroll Превърта с определен брой точки, с естествени плъзгания.
waitFor Чака, докато се появи елемент.
wait Задържа няколко секунди.
mark Дава име на момента, за да може монтажът да реже до него.
locate Намира елемент и записва рамката му, за изплуване и етикети; с around, най-малкия елемент, който държи и двата (цяла карта, от заглавието до бутона).

Елементите се намират по тестов идентификатор, по роля и име (button, tab, link, checkbox; по подразбиране точно съвпадение) или по текст. Тестовите идентификатори и пътищата работят на всеки език на приложението.

edit.json

Размерът и кадрите в секунда, тема (цветове, шрифт и вид на екрана: phone, floating или full) и сцените по ред.

Част Какво казва
сцена phone Запис от момент или отметка, за няколко секунди: caption (надпис), zoom (приближения), lifts (изплуване), speed (скорост), втори екран до него (with), transition (преход).
сцена card Големи думи върху цвят; с картинка и призив за действие е крайната карта.
say Разказвачът чете думите на сцената или друг текст в зададен момент.
audio Музика (style: upbeat, calm, pop, със seed; или песен от file), гласът и скоростта на разказвача, реплики, ефекти включени или не.
checks Спрямо кои правила се проверява: social или appStore.
poster Корицата, записана до видеото (poster.jpg); по подразбиране когато телефонът е кацнал и първият надпис е изписан.

Проверки

Пускат се при всеки монтаж и се записват в checks.json. Всеки неуспех спира видеото.

hook Видеото започва с приложението, не с карта.
reading-time Всеки надпис стои достатъчно дълго, за да се прочете.
length Дължината пасва на мястото, за което е (App Store: от 15 до 30 секунди).
forbidden-words Няма думи, забранени от магазините, в нашите текстове (Apple 2.3.8: „kids“, „child“ …).
end-card Има крайна карта с лого и призив за действие.
callouts Етикетите попадат върху екрана.
voice-timing Репликите се побират във видеото и никога не се застъпват.
no-still-stretches Нищо не стои неподвижно твърде дълго.
framing Приближението никога не реже изплуващ елемент: той остава в кадър, с отстъп.