Данные, сохранение и экспорт
Сохранение создаёт не один взаимозаменяемый JSON, а проектный package с каноническим документом, производным agent-context и связанными artifacts. Открывать для редактирования следует только файл с ролью canonical_project.
Что появляется после сохранения
| Путь | Владелец и назначение | Когда создаётся |
|---|---|---|
<name>.json | Selector, json_role=canonical_project. Единственный редактируемый источник истины. | При каждом успешном сохранении. |
<name>_artifacts/ | Изображения источника, features, CV outputs/manifests и папки tree modules, на которые ссылается проект. | Публикуется атомарно через staging вместе с canonical JSON. |
<name>.for_ai_agent.json | Проекция json_role=for_ai_agent для Screph Code, IDE/agent handoff и adapters. Это не второй проект. | Автоматически после canonical save; ошибка записи делает весь save flow неуспешным. |
<name>.timeline-state.json | Источники, clips и позиция Capture timeline. | Только если у проекта есть timeline state; пустой stale sidecar удаляется. |
<name>.frame-bound-image-series-index.json | Привязки image-series captures к кадрам и областям. | Только при наличии таких привязок. |
<name>.temporal-markup.json | Selector-owned revisioned tracks, observations и до 100 состояний локальной history/redo. Отдельный sidecar с ролью selector_temporal_markup, не часть canonical schema или _artifacts. | При подтверждённом apply/edit temporal track в уже сохранённом или открытом проекте. |
.screph_ai_assistant/ | Project-local mirror сообщений, timeline/actions и session references Assistant. Не является частью canonical schema и не нужен для открытия проекта. | Когда включено mirroring и Assistant записывает project context; выключение опции не удаляет существующую папку. |
Video CV: runtime, markup и export — разные данные
| Граница | Расположение/формат | Назначение |
|---|---|---|
| Temporal run store | ScrephData/screen_selector/cv/results/temporal | Snapshot, config, provenance, coverage, issues и chunked observations. Interrupted runs восстанавливаются как partial/failed; hide active run не удаляет данные, auto-prune не найден. |
| Applied temporal markup | <project>.temporal-markup.json | Подтверждённые/отредактированные tracks с revision guard и undo/redo. Требует project path; canonical writer не включает файл автоматически. |
| Neutral run export | json_role=screph_temporal_cv_neutral_export | Пользовательский snapshot одного активного run, включая observations и optional codegen IR. Не executable и не project package. |
| Annotated preview | MJPG AVI | Reprojected track/motion boxes по текущему timeline mapping и выбранным start/end. Не универсальный dataset/video exporter. |
Что находится в canonical project
project_info, coordinate contract и canvas object/layer state;- context, Capture context, source-image references и timeline selection;
gui_elements, image features/matches, geometry, annotations, typededges, regions и markup groups;- выбранный save profile, registry entries tree modules и ссылка на CV result manifest;
- write reports, feature diagnostics, artifact-integrity report и save summary.
JSON Schema Draft 2020-12 проверяет структуру при загрузке. Затем artifact validator отдельно проверяет missing files, hashes, абсолютные/выходящие за project root пути, coordinates и consistency. Успешная schema validation сама по себе не доказывает наличие всех файлов.
Как CV result входит в project package
CV runtime, image series и canonical markup — три разные границы. Live preview остаётся в рабочем state. В основной панели ручной Применить обычно сохраняет verified bundle и прикрепляет/заменяет cv_result выбранного элемента; Добавить маску в результаты добавляет отдельную cv_mask entry. Эти image-series mutations входят в undo/redo и помечают проект изменённым, но не создают новую canonical geometry или semantics.
Сохранитьсоздаёт именованный runtime archive подScrephData/screen_selector/cv/results; это technical/debug history вне project package.- При canonical save importer берёт только прикреплённые CV image-series entries, копирует source/recipe/config/metrics/outputs в staging
<name>_artifactsи строит project-localresult_manifest.json. - В main JSON хранится ссылка
cv_result_manifest_path, а image-series entry остаётся lightweight projection с run/output identity. Manifest публикуется после обязательного artifact write/readback. Добавить как элементыили confirmed promotion apply отдельно меняет canonical markup. General/GUI promotion валидирует accepted decision и stale context, строит apply preview/plan и выполняется транзакционно с rollback attempt.
Что действительно меняет save profile
Project environment выбирает downstream strategy, save scope — каталог назначения, а code-tool switch — best-effort launch/context handoff после записи. Feature output profile имеет более узкую область: Full/Compact/Automation/LLM/Debug, coordinate space, color formats, assets и summary применяются к preview/явной feature projection, но не переписывают canonical representation.
- Canonical JSON всегда сохраняет полный feature payload, summary, связанные assets и geometry в
screenshot_raw_px; выбранный output profile записывается как metadata. - Основной save flow не пишет отдельный feature-projection файл. InfoPanel может построить эту проекцию для preview, а code/external consumer должен запросить её явно.
- «Будет создано» показывает primary JSON и выбранные target script/guide, но не является полным package manifest и не перечисляет automatic agent export, artifacts или условные sidecars.
Инспекция изображения: project state и временные данные
Image Inspection разделяет сохраняемое состояние canvas и временные измерения. Не считайте наличие слоя measurements доказательством, что сами линии входят в project package.
canvas_layer_stateв canonical project сохраняет шесть layer IDs, видимость, прозрачность и порядок. Lock туда не входит и при restore сбрасывается.- Layout A/B/C/D, assignments, display modes, linked panes, выбранная evidence-вкладка и navigator сохраняются отдельно как локальное состояние Selector, а не как переносимая разметка проекта.
- Линии профиля и их local Undo/Redo существуют только в runtime-сессии и очищаются при смене source.
Копировать профиль как TSVпишет clipboard, аЭкспортировать профиль в CSVсоздаёт отдельный файл с distance, x/y, RGB, luminance, sampled layer и source reference.
Производный for_ai_agent export
<name>.for_ai_agent.json создаётся автоматически из уже записанного canonical package. Он содержит hash исходного project JSON, normalized elements/relations, features и issues, CV summary, asset references, tree-module registry и authoring context. Тяжёлые bodies обычно остаются файлами в project package и представлены ссылками.
- Основной save flow использует этот sidecar, когда он доступен; canonical JSON остаётся fallback-контекстом. Project Manager save и некоторые legacy save entrypoints сейчас передают canonical path напрямую.
- Project Manager классифицирует sidecar как agent export и не открывает его в Selector как проект.
- Assistant action
project.export_for_automationтребует confirmation и явный output path, но сейчас также пишет рольfor_ai_agentс профилемautomation_runtime_context, а не отдельныйautomation_export.
Tree module — компактный срез, а не подпроект
В дереве элементов откройте Модуль → Создать модуль из поддерева.... Screph сохраняет <name>_artifacts/modules/<slug>/module.json, Python helper-класс и README, а в canonical project — только registry entry и freshness/hash сведения.
refs_onlyоставляет ссылки на project assets;self_containedкопирует используемые файлы в папку модуля и записывает SHA-256.- Модуль включает внутренние relations и отдельные boundary refs к объектам вне выбранной ветки.
- После изменения ветки badge может показать stale state; используйте
Обновить модульилиОбновить устаревшие модули.
Что получает Automation Runtime
Текущий Python runtime загружает canonical project и читает gui_elements; for_ai_agent не является его прямым input contract. Save target режима GUI Automation может дополнительно подготовить:
| Target | Материализуемый результат | Граница |
|---|---|---|
| Screph Automate | main.py + guide | Кнопка Открыть результат открывает Automation Manager; нужен input backend. |
| PyAutoGUI | main.py + guide | Нужен доступный script.runtime. |
| Только проект | <name>.json + package | Никакой script не исполняется автоматически. |
Canonical/agent package записывается до automation coordinate validation и target preparation. Поэтому failure на этих стадиях не откатывает уже созданные project files и может оставить частично подготовленный guide/script; current project path и clean state при этом не обновляются. После исправления причины повторите сохранение.
Screph CV не материализует особый CV workspace artifact: он использует тот же basic canonical writer, что и «только проект». Разница — только в явном действии Открыть результат, которое переводит в существующую внутреннюю CV-вкладку вместо открытия project directory.
Схема на диске не всегда означает пользовательский export
Формальные схемы существуют для canonical project, for_ai_agent, tree module, CV result manifest, feature, automation_export и llm_export. Текущие materialized user paths прямо создают canonical/agent/tree outputs и CV/feature data; automation_export и llm_export пока являются contract surfaces для adapters/tests и не имеют отдельного пользовательского writer в основном save flow.
Кроме formal schemas, Capture, timeline, diagnostics и Action CV используют versioned runtime JSON roles без отдельного файла JSON Schema для каждого sidecar. Проверяйте json_role и обе формы version, а не только расширение .json.
Project Manager, перенос и восстановление
Ctrl+O открывает Project Manager с вкладками Проекты, Автосейвы и Проблемные. Он различает canonical project, agent export, tree module, неизвестный и повреждённый JSON.
- Duplicate/rename/restore работают с папкой проекта и обновляют имя primary JSON, timeline state и frame-bound index.
- После rename или duplicate сохраните проект ещё раз перед agent/code handoff: это пересоберёт
for_ai_agentс текущим basename и SHA. - GraphML, interactive HTML и project-graph JSON из Manager — визуализации карты проектов/модулей, а не canonical project и не automation script. GraphML требует
networkx. - Agent export показывается как проблемная/производная запись, но при существующей ссылке
Открытьведёт к связанному canonical project. Tree module и произвольный JSON не становятся проектом. - Manager считает canonical/autosave открываемым только при ненулевом domain count; screenshot-only autosave имеет отдельный startup recovery path.
Manager не удаляет project directory. Убрать из истории и Очистить пропавшие меняют только ScrephData/local_state/selector_project_history.json. Tags/notes находятся в отдельном path-keyed selector_project_metadata.json, не входят в package и не мигрируют при duplicate/rename или ручном переносе.
Предварительные diagnostics Manager покрывают JSON decoding/role, canonical schema, kind-specific feature schema, missing path и empty domain. Полный свежий artifact scan перед открытием Manager не выполняет; после загрузки InfoPanel объединяет текущий domain load report и сохранённые save diagnostics.
Безопасный порядок handoff
- Проверьте разметку и явно примените нужные CV candidates.
- Сохраните canonical project и убедитесь, что save diagnostics не показывают failure.
- Выберите consumer: runtime target, Screph Code/IDE, tree module или собственный adapter.
- Передавайте только package files и assets, которые нужны этому consumer.
- Перед исполнением automation проверьте package diagnostics, затем явно обработайте
(ok, errors)отvalidate_project;load_projectне делает это автоматически. - Проверьте target window, coordinate projection, выбранный input monitor/backend и отдельную postcondition после каждого input action.
Приватность
Локальное сохранение не загружает package автоматически. Но canonical/agent JSON может содержать annotations, OCR text, window/capture context и ссылки на sensitive images. Перед cloud LLM, speech, support upload или передачей папки другому человеку проверьте не только JSON, но и _artifacts, timeline sources, guides и generated scripts.
Project-local Assistant mirror может содержать prompts, ответы, paths и action metadata; global 180-day cleanup его не удаляет. Полная карта storage и cleanup приведена в справке по локальным данным.