Skip to content

v0.5.11

Choose a tag to compare

@github-actions github-actions released this 11 Nov 02:31
3938655

Added

  • Class details: Where members are read and written — each member says how many functions read and write it,
    following chains through member types and base classes (cfg.link.peer.port, p->len = 0, self.port, a bare
    port_ in a method). Open one to see those lines and light the functions up: blue reads, orange writes.
  • Python: self.cfg = cfg gives the member the type of the parameter (or local) it is set from.
  • Timeline: drag the swimlanes sideways to move the view, and Shift + wheel moves it too (down: earlier,
    up: later). Dragging the playhead or the time axis still scrubs, and a click still jumps to that moment.

Changed

  • Opening and closing a block, changing the level or the focus no longer jumps: the block you clicked stays where it
    is, blocks slide and resize to their new places, what opens grows out of its block and what closes folds into
    it; wires fade in once everything has arrived. Off when the system asks for reduced motion.
  • While playing, the view no longer jumps back to the playhead after you move it; play or a click brings it back.

Fixed

  • Class details: Python types are looked up through the file's imports, so two classes with the same name in
    different modules stay apart (from .models import Config, from .legacy import Config as LegacyConfig,
    import legacy as old → old.Config, imports under if TYPE_CHECKING:, Optional[Config], Config | None,
    "Config").
  • Class details, C/C++: a struct defined with the same name in two files is the one of the file that writes the
    type (or a header it includes), and typedef struct buffer buffer_t;, typedef Packet Datagram; and
    using Frame = Packet; count as the class even when it is defined in another file.
  • Where it returns lists only the function's own return statements: those of a lambda or a local class
    written inside it no longer show up (a void function holding [] { return g(); } says it has no return).
  • A return spread over several lines, or written in a one-line block (if (ok) { return g(a, b); }), is shown
    whole, from return to its own ;.
한국어

추가

  • 클래스 상세: 멤버를 읽고 쓰는 곳 — 멤버마다 그 멤버를 읽는 함수와 쓰는 함수가 몇 개인지 보여 줘요. 멤버 타입과 부모
    클래스를 따라가요(cfg.link.peer.port, p->len = 0, self.port, 메서드 안의 port_). 펼치면 그 줄들이 나오고
    회로에서 그 함수들이 빛나요. 파랑은 읽기, 주황은 쓰기예요.
  • Python: self.cfg = cfg처럼 매개변수(또는 지역 변수)를 넣은 멤버는 그 타입을 가져요.
  • 타임라인: 레인을 좌우로 끌어 보이는 구간을 옮기고, Shift + 휠로도 옮겨요(아래: 앞쪽, 위: 뒤쪽). 재생 위치 막대나
    시간 눈금을 끌면 지금처럼 그 시점으로 옮겨 가고, 클릭하면 그 시점으로 이동해요.

변경

  • 블록을 펼치거나 접을 때, 단계나 집중 보기를 바꿀 때 화면이 튀지 않아요. 누른 블록은 제자리에 있고, 블록들이 새 자리로
    미끄러지며 크기가 바뀌어요. 펼친 블록 안의 항목은 그 블록에서 자라나고, 접는 항목은 블록 안으로 접혀 들어가요. 전선은
    다 도착한 뒤에 나타나요. 시스템에서 동작 줄이기를 켜 두면 애니메이션을 하지 않아요.
  • 재생 중에 보이는 구간을 옮겨도 재생 위치로 다시 튀지 않아요. 재생을 다시 누르거나 클릭하면 따라가기가 돌아와요.

수정

  • 클래스 상세: Python 타입은 그 파일의 import를 보고 찾아요. 모듈만 다르고 이름이 같은 클래스를 섞지 않아요
    (from .models import Config, from .legacy import Config as LegacyConfig, import legacy as old → old.Config,
    if TYPE_CHECKING: 안의 import, Optional[Config], Config | None, "Config").
  • 클래스 상세, C/C++: 같은 이름의 구조체가 두 파일에 따로 있으면 그 타입을 적은 파일(또는 그 파일이 포함한 헤더)의 것으로
    봐요. typedef struct buffer buffer_t;, typedef Packet Datagram;, using Frame = Packet;도 클래스가 다른 파일에
    정의돼 있어도 그 클래스로 쳐요.
  • 반환하는 곳에 그 함수의 return만 나와요. 함수 안에 적은 람다나 지역 클래스의 return은 더 이상 섞이지 않아요
    ([] { return g(); }를 가진 void 함수는 return 문이 없다고 나와요).
  • 여러 줄에 걸친 return이나 한 줄 블록 안의 return(if (ok) { return g(a, b); })을 return부터 그 문장의 ;까지
    통째로 보여 줘요.

Full Changelog: v0.5.10...v0.5.11