v3.5.1
버전 3.5.1은 안정성과 품질을 중점적으로 개선한 버전입니다. 주요 변경 사항: Inverse3 의 1:1 구성 및 핸들용 자동 페어링, 이동 상태 GET /devices/{id} WebSocket 세션이 열려 있지 않은 상태에서도 최신 상태를 유지하며, ‘force’ 모드와 ‘position’ 모드 간 전환 시 발생하는 삐걱거리는 소리가 사라졌으며, 지속적인 부하 하에서도 자동으로 조정되는 서비스 틱 스케줄러가 적용되었습니다.
주요 내용
- Inverse3 와 손잡이를 1↔1로 연결하는 자동 결합 장치. Inverse3 와 손잡이가 준비되면 SDK가 자동으로 페어링을 등록하며, 다음을 통해 잠금 해제가 실행됩니다.
pen_attached또한 Minverse 보정을 통해 여러 대의 기기가 연결된 환경에서도 더 이상 전송 오류가 발생하지 않습니다. - 스냅사진
GET /devices/{id}열려 있는 세션이 없는 날. Inverse3 / Inverse3x / 펌웨어 v7.5 이상이 설치된 Minverse 의 경우, WebSocket 활동 여부와 관계없이 이제 20Hz 주기로 동작 상태가 조회됩니다. v7.5 이전 버전의 펌웨어는 이 조회 요청을 무시하고 단 한 번의 경고만 표시합니다. - 힘/위치 전환 시 더 이상 삐걱거리는 소리가 나지 않습니다. ~의 구간
set_cursor_force↔set_cursor_position독점적인 시간대를 활용합니다: 두 틱 사이에서 기기당 가장 최근의 값만 유지됩니다. HARP 의 비활성 기간에 대한 200ms 해결책은 더 이상 사용되지 않습니다. - 자동 조정형 틱 스케줄러. 메인 루프는 부하 상황에 따라 전송 속도를 조절하므로, 느린 틱으로 인해 명령어 대기열이 무한정 늘어나는 일이 없습니다.
- 부하 상태에서 1대 1 실시간 응답. WS 메시지를 통한 스트림 응답은 밀리초당 및 세션당 1회로 제한됩니다. 제한으로 인해 전송이 거부되면 이전 버퍼가 다시 전송되므로, 시뮬레이션 루프가 다음에서 멈추는 일은 결코 없습니다.
recv().
내부 개선 사항
기기
- 기기별 Inverse3 ↔ VerseGrip 페어링 기록부.
GET|POST|DELETE /devices/{sel}/paired_with이는 기기당 1:1 대응 관계입니다.POST양측의 갈등을 해소하고;DELETE선택한 항목을 삭제합니다. 선택기는 하나의 식별자와만 일치해야 합니다. - 펌웨어 v7.5 이상에서 20 Hz로 동작 상태 조회.
GET /devices/{id}다음에서 최신 값을 반환합니다.cursor_position,cursor_velocity,angular_position,angular_velocity50 ms마다; 활성 세션에 대해서는 투명하게 처리됩니다. - 다음에 대한 유량 제어
set_extension_dataVerseGrip 무선 제품. 서비스의 각 틱마다 비워지는 파이프라인 « 가장 오래된 항목 폐기 / 비활성 반복 » — 과도한 전송으로 인해 무선 회선이 포화 상태가 되는 일이 없으며, 전송이 부족해도 유효 기간이 지난 값이 남지 않습니다.
세션
- 구성 정보를 반영하는 파이프라인을 우회하여, 순수 검사 배치(힘/위치) 전용 WS 수신용 새로운 빠른 경로;
configure/set_profile/ 사용자 정의 명령은 항상 경합 조건 패치를 거칩니다.
가시성
- 탐지 로그의 생성 빈도는 포트에 따라 다르며, 반복 빈도를 고려합니다. 블랙리스트에 등재된 각 포트는 개별적으로 점검되며, 반복되는 줄은
"...blacklisted: skipping"이제 게시됨(×N)두 번의 트리거 발생 사이에 감춰진 틱에 대해서는. - VerseGrip 무선 감지 기능은 WVG 이외의 장치가 탐지될 때 더 이상 로그를 넘쳐나게 하지 않습니다.
정정 사항
POST /device.config.presetavecdefaultsouarm_front이제 기기의 설정을 공장 출하 시 기본값으로 초기화합니다(이전에는 아무런 효과도 없었고 오류도 발생하지 않았습니다).basis애플리케이션에서 구성된 기본 설정이 마운트 사전 설정 변경 후에도 유지되도록 보존됩니다.force_render_full_state더 이상 블록 없이 스냅샷을 반환하지 않습니다config해당 구성이 동일한 WS 메시지에 포함될 때, 스냅샷이 생성되기 전에 구성 경로가 동기식으로 비워집니다.force_render_full_stateinter-sessions는 대상의 전체 스냅샷을 반환합니다. 이제 A와 B는 전체 유효 부하를 확인하게 됩니다(이전에는 A가 직류 전류만 수신했습니다).- 세션 간 명령어 중
target_session_id알 수 없는 요소들이 더 이상 요청-응답 루프를 차단하지 않습니다. 신청자는 자신의 스냅샷과 이벤트 하나를 받게 됩니다.session-command-dropped(cross-session-unknown-target). - Minverse 의 다중 기기 보정 잠금 해제 기능이 더 이상 잘못 전달되지 않습니다. Minverse A의 보정은 더 이상 Minverse B의 잠금을 해제하지 않으며, inkwell 성공 캡 배포 문제도 동일하게 수정되었습니다.
- HTTP 장치 선택기 수락
#1234et1234기기 식별자로; 선택자 클래스(inverse3,verse_grip) 인덱스와도 호환되며, 404 메시지는 원래의 선택자 표현식을 그대로 유지합니다. - 지표
readyVerseGrip의 무선 기능은 이제 기기 정보에 대한 초기 페어링에 따라 달라집니다. — 이전에는 특정 재연결 시 기기가 완전히 인식되기 전에 전환될 수 있었습니다. - 키 기반 타이밍 게이트에 기반한 매개변수 실행에 대한 변경 사항은 이제 다음 트리거 시점에 적용됩니다 (이전에는 값이 처음 설정된 시점에 고정되어 있었으며, 새로운 세션에서만 변경 사항이 반영되었습니다).
호환되지 않을 가능성이 있는 변경 사항
- 통합된 HTTP 404 오류 코드 dans
basis,preset,mount,transform,force_gate:"{type} device #{id} not found"→"no device matches selector '{expr}'". 세션 404 오류도 동일한 방식으로 처리됩니다. - 모티프 글로브
devices/inverse*/...→devices/*inverse/...힘 이득, 힘 게이트 이득, 제어 만료 시간 및safeties/expose_in_snapshot. 이전 리터럴 형식을 사용하는 3.5.0 버전의 설정 파일은 링크에 실패할 것입니다. - 설정: 직렬화 전역 변수가 다음 위치로 이동되었습니다.
session/serialization/*(explicit_fields,force_complete_transforms,preview/*). 옛길들serialization/*항상 더 이상 사용되지 않는 별칭으로 해결되며, 4.0 버전에서 삭제될 예정입니다. - 동작: 메시지당 WS 응답을 틱 동기화 핸드셰이크로 사용하는 클라이언트는 지속적인 트래픽이 발생하는 상황에서 초당 세션당 최대 하나의 응답만 수신합니다. 구성 변경 시 수행되는 전체 스냅샷에는 영향을 미치지 않습니다.
사용 중단 예정인 기능
버전 3.5.1에는 해당 기능이 없습니다. 미리 보기의 메인 토글 스위치는 버전 3.6에서 ‘무음 모드’에서 ‘경고 모드’로 전환되는 향후 파이프라인을 위한 단계적 폐지 메커니즘으로 사용되며, 첫 번째 단계적 폐지 조치는 버전 3.5.2에서 시행될 예정입니다.