• S sverchok
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 148
    • Задачи 148
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 21
    • Запросы на слияние 21
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • nikitronn
  • sverchok
  • Запросы на слияние
  • !3133

prop_search for bpy.data.*

  • Ревью изменений

  • Скачать
  • Почтовые патчи
  • Простое отличие
Закрыто nikitronn запросил слияние prop_search_use_pointerprop в master Апр 28, 2020
  • Обзор 6
  • Коммиты 17
  • Конвейеры 0
  • Изменения 18

Created by: zeffii

Addressed problem description

in Sverchok nodes we use a StringProperty to store the names of objects that we reference in the node tree. (like Materials, Objects, Texts, Fonts... anything bpy.data.*). The problem with that approach is that when the user renames a datablock, the StringProperty is not automatically renamed, this results in a 'link being lost'. Because naming is import in Graphics and Modelling scenes, just as it is with programming, it is important to be able name and rename objects to reflect what they are.

At runtime we should be storing object references (object in the broader sense...anything in bpy.data.* ) primarily as PointerProperties, and only then store the object.name if it's useful, and for iojson serialization.

Solution description

Those nodes that use prop_search, and there are many, will be revised. The beast is broken.

Preflight checklist

  • Code changes complete.
    • generator\script1_lite.py
    • generators_extended\profile_mk3.py
    • scene\collection_picker_mk1.py
    • scene\objects_mk3.py
    • script\multi_exec.py
    • script\sn_functor_b.py
    • generators_extended\mesh_eval.py
    • object_nodes\get_asset_properties.py
    • scene\node_remote.py
    • scene\dupli_instances_mk4.py
    • analyzer\image_components.py
    • generators_extended\hilbert_image.py
    • scene\FCurve_in.py
    • generator\image.py
    • generators_extended\generative_art.py
    • text\text_in_mk2.py
    • text\text_out_mk2.py
    • viz\viewer_texture_lite.py ( image file )
    • viz\viewer_typography.py ( font file )
    • field\image_field.py
    • object_nodes\assign_materials.py
    • object_nodes\color_uv_texture.py
    • object_nodes\points_from_uv_to_mesh.py
    • object_nodes\sample_uv_color.py
    • transforms\texture_displace.py
    • vector\texture_evaluate.py
    • viz\viewer_bmesh.py
    • old_nodes\profile_mk2.py
  • Code documentation complete.
  • Documentation for users complete (or not required, if user never sees these changes).
  • Manual testing done.
  • Unit-tests implemented.
  • Ready for merge.
Ответственный
Назначить
Проверяющие
Запросить ревью
Оценка трудозатрат
Исходная ветка: prop_search_use_pointerprop