중단되는 변경사항
몽키 패치
실행 모델을 몽키 패치한 코드는 더 이상 작동하지 않을 가능성이 높습니다. 이번 PR을 통한 실행 성능은 가장 인기 있는 몽키 패치를 사용했을 때보다 뛰어나므로 많은 몽키 패치가 불필요해질 것입니다.선택적 입력 검증
이 PR 이전에는, 일련의"required" 입력을 통해서만 출력에 연결된 노드만 실제로 검증되었습니다. 만약 커스텀 노드가 오직 "optional" 입력에만 연결되어 있었다면, 이전에는 검증 실패를 확인하지 못했을 것입니다.
다음과 같은 사항들이 검증 실패를 일으킬 수 있으며, 권장 해결 방법도 함께 제공합니다:
-
비교할 수 없는 타입(예: 딕셔너리)에
min및max와 같은 예약된 추가 매개변수를 사용하여 맞춤 위젯을 구성하는 경우.-
사용하는 추가 매개변수를
uiMin및uiMax와 같은 비예약 키로 변경하세요. (권장 해결 방법) -
이 입력을 포함한 맞춤 VALIDATE_INPUTS 함수를 정의하여 검증을 건너뛰세요. (빠른 해결 방법)
-
사용하는 추가 매개변수를
-
복합 타입(예:
CUSTOM_A,CUSTOM_B) 사용 시- (출력으로 사용될 때)
MakeSmartType과 같은 래퍼를 정의하고 사용하세요. PR의 단위 테스트에서 확인할 수 있음 - (입력으로 사용될 때)
input_types인자를 받는 맞춤 VALIDATE_INPUTS 함수를 정의하여 타입 검증을 건너뛰세요. - (입출력 모두 지원, 편리)
@VariantSupport데코레이터를 정의하고 사용하세요. PR의 단위 테스트에서 확인할 수 있음
- (출력으로 사용될 때)
-
그래프 정의에서 리스트(예:
[1, 2, 3])를 상수로 사용하는 경우(예: constVEC3입력을 표현하기 위해). 이전에는 프론트엔드 확장이 필요했습니다. 이전에는 크기가 정확히2인 리스트는 어쨌든 실패했으며, 링크가 깨진 것으로 처리되었습니다.- 리스트를
{ "value": [1, 2, 3] }와 같은 딕셔너리로 감싸세요.
- 리스트를
실행 순서
실행 순서는 항상 어떤 노드가 어떤 ID를 갖느냐에 따라 달라졌지만, 이제는 캐시된 값에 따라서도 변경될 수 있습니다. 일반적으로 실행 순서는 비결정적이고 그래프 구조가 강제하는 것 외에도 변경될 수 있다고 간주해야 합니다. 실행 순서에 의존하지 마세요. HIC SUNT DRACONES새로운 기능
검증 변경사항
위에서 언급한 선택적 입력 검증의 영향을 줄이기 위해VALIDATE_INPUTS 함수에 여러 기능이 추가되었습니다.
- 기본 검증은 이제
VALIDATE_INPUTS함수에서 전달받은 입력에 대해 건너뛰어집니다. VALIDATE_INPUTS함수는 이제**kwargs를 받을 수 있어 모든 입력이 노드 제작자에 의해 검증된 것으로 처리됩니다.VALIDATE_INPUTS함수는input_types라는 이름의 입력을 받을 수 있습니다. 이 입력은 각 입력(링크를 통해 연결된)을 연결된 출력의 타입으로 매핑한 딕셔너리입니다. 이 인자가 존재하면 노드의 입력에 대한 타입 검증은 건너뜁니다.