Cluster · разработчикам
Layer
Один слой сцены. Изменения применяются локально; полная проверка геометрии и стилей происходит в Canvas.build().
Все методы SDK · Типы и ошибки
Получение объекта
canvas = app.images.canvas(800, 400)
layer = canvas.rect("background", 0, 0, 800, 400, fill="#18151f")__init__
Создаёт Layer. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(parent: Container, data: LayerData) -> None: ...Аргументы
parent: Container, обязательный. Родительский контейнер слоя. Обычно слой создаётся методом контейнера.data: LayerData, обязательный. Описание слоя: id, kind, x, y, width, height и свойства его вида. Для group также layers; полная форма в IMAGE_GENERATOR.md.
Результат
None. Создаёт Layer. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
canvas = app.images.canvas(800, 400)
layer = canvas.rect("background", 0, 0, 800, 400, fill="#18151f")id
Возвращает постоянный идентификатор слоя.
def id() -> str: ...Свойство: читается без скобок и без await.
Аргументы
Нет.
Результат
str. Возвращает постоянный идентификатор слоя.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
value = layer.idset
Меняет свойства слоя, кроме id, kind и layers. Структуру меняют отдельные операции контейнера.
def set(**values: JSON) -> Self: ...Аргументы
values: JSON, произвольные именованные аргументы. Именованные свойства слоя из перечня в IMAGE_GENERATOR.md. id, kind и layers запрещены.
Результат
Self. Тот же объект после успешной операции. Меняет свойства слоя, кроме id, kind и layers. Структуру меняют отдельные операции контейнера.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Use layer operations to change structure'): условие проверяется до продолжения операции.- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.set(opacity=0.8)at
Задаёт абсолютные x и y относительно родительского контейнера.
def at(x: float, y: float) -> Self: ...Аргументы
x: float, обязательный. Координата, отступ или угол в пикселях/градусах по выбранной операции. Все числа должны быть конечными.y: float, обязательный. Координата, отступ или угол в пикселях/градусах по выбранной операции. Все числа должны быть конечными.
Результат
Self. Тот же объект после успешной операции. Задаёт абсолютные x и y относительно родительского контейнера.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.at(20, 20)move
Смещает слой на x и y относительно текущего положения.
def move(x: float = 0, y: float = 0) -> Self: ...Аргументы
x: float, по умолчанию0. Координата, отступ или угол в пикселях/градусах по выбранной операции. Все числа должны быть конечными.y: float, по умолчанию0. Координата, отступ или угол в пикселях/градусах по выбранной операции. Все числа должны быть конечными.
Результат
Self. Тот же объект после успешной операции. Смещает слой на x и y относительно текущего положения.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.move()resize
Меняет ширину и высоту слоя.
def resize(width: float, height: float) -> Self: ...Аргументы
width: float, обязательный. Размер в пикселях, конечное число. Canvas требует целые размеры 1..2048; полная геометрия проверяется build().height: float, обязательный. Размер в пикселях, конечное число. Canvas требует целые размеры 1..2048; полная геометрия проверяется build().
Результат
Self. Тот же объект после успешной операции. Меняет ширину и высоту слоя.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.resize(400, 400)opacity
Задаёт непрозрачность от 0 до 1.
def opacity(value: float) -> Self: ...Аргументы
value: float, обязательный. Непрозрачность от 0 до 1; проверяется полной валидацией сцены.
Результат
Self. Тот же объект после успешной операции. Задаёт непрозрачность от 0 до 1.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.opacity(0.8)rotate
Задаёт угол поворота от -360 до 360 градусов.
def rotate(angle: float) -> Self: ...Аргументы
angle: float, обязательный. Координата, отступ или угол в пикселях/градусах по выбранной операции. Все числа должны быть конечными.
Результат
Self. Тот же объект после успешной операции. Задаёт угол поворота от -360 до 360 градусов.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.rotate(20)show
Задаёт видимость слоя.
def show(visible: bool = True) -> Self: ...Аргументы
visible: bool, по умолчаниюTrue. Логический переключатель указанного действия.
Результат
Self. Тот же объект после успешной операции. Задаёт видимость слоя.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.show()hide
Скрывает слой, сохраняя его в сцене.
def hide() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Скрывает слой, сохраняя его в сцене.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.hide()fill
Меняет цвет заливки либо снимает его через None.
def fill(value: str | None) -> Self: ...Аргументы
value: str | None, обязательный. Цвет #RRGGBB или #RRGGBBAA; None убирает цвет.
Результат
Self. Тот же объект после успешной операции. Меняет цвет заливки либо снимает его через None.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.fill("#a78bfa")stroke
Меняет цвет и ширину контура.
def stroke(value: str | None, width: int = 1) -> Self: ...Аргументы
value: str | None, обязательный. Цвет #RRGGBB или #RRGGBBAA; None убирает цвет.width: int, по умолчанию1. Размер в пикселях, конечное число. Canvas требует целые размеры 1..2048; полная геометрия проверяется build().
Результат
Self. Тот же объект после успешной операции. Меняет цвет и ширину контура.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.stroke("#a78bfa")value
Меняет текст только у слоя text.
def value(text: str) -> Self: ...Аргументы
text: str, обязательный. Текст или собранный Text там, где поддерживается преобразование. В короткие методы клиента передавай str(Text).
Результат
Self. Тот же объект после успешной операции. Меняет текст только у слоя text.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Only text layers have a text value'): условие проверяется до продолжения операции.- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
layer = canvas.text("title", "Cluster", 20, 20, 300, 60)
layer.value("Ready")align
Задаёт горизонтальное и вертикальное выравнивание текста.
def align(horizontal: str = 'left', vertical: str = 'top') -> Self: ...Аргументы
horizontal: str, по умолчанию'left'. Горизонтальное выравнивание left, center или right.vertical: str, по умолчанию'top'. Вертикальное выравнивание top, center или bottom.
Результат
Self. Тот же объект после успешной операции. Задаёт горизонтальное и вертикальное выравнивание текста.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
layer = canvas.text("title", "Cluster", 20, 20, 300, 60)
layer.align("center", "center")front
Переносит слой в конец списка, поверх остальных слоёв родителя.
def front() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Переносит слой в конец списка, поверх остальных слоёв родителя.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.front()back
Переносит слой в начало списка, под остальные слои родителя.
def back() -> Self: ...Аргументы
Нет.
Результат
Self. Тот же объект после успешной операции. Переносит слой в начало списка, под остальные слои родителя.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.back()remove
Удаляет слой из родителя и возвращает родительский контейнер.
def remove() -> Container: ...Аргументы
Нет.
Результат
Container. Удаляет слой из родителя и возвращает родительский контейнер.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
result = layer.remove()copy
Глубоко копирует слой в того же родителя с новым ID. ID вложенных слоёв получают префикс нового ID.
def copy(id: str) -> Layer: ...Аргументы
id: str, обязательный. Уникальный во всей сцене ID слоя, от 1 до 128 символов.
Результат
Layer. Глубоко копирует слой в того же родителя с новым ID. ID вложенных слоёв получают префикс нового ID.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- ValueError при изменении структурных свойств или использовании текстовой операции на другом типе слоя; полная проверка стилей выполняется при Canvas.build().
Пример
copy = layer.copy("background-copy")