Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1# frozen_string_literal: true
2
3class ActivityPub::FeaturedItemSerializer < ActivityPub::Serializer
4 attributes :type, :featured_object, :featured_object_type
5
6 def type
7 'FeaturedItem'
8 end
9
10 def featured_object
11 ActivityPub::TagManager.instance.uri_for(object.account)
…lines 12–18 unchanged (7 lines)

After

1# frozen_string_literal: true
2
3class ActivityPub::FeaturedItemSerializer < ActivityPub::Serializer
4 attributes :id, :type, :featured_object, :featured_object_type
5
6 def id
7 ActivityPub::TagManager.instance.uri_for(object)
8 end
9
10 def type
11 'FeaturedItem'
12 end
13
14 def featured_object
…lines 15–22 unchanged (8 lines)

Before

program
comment "# frozen_string_literal: true"
class
class "class"
scope_resolution
constant "ActivityPub"
:: "::"
constant "FeaturedItemSerializer"
superclass
< "<"
scope_resolution
constant "ActivityPub"
:: "::"
constant "Serializer"
body_statement
call
identifier "attributes"
argument_list
simple_symbol ":type"
, ","
simple_symbol ":featured_object"
, ","
simple_symbol ":featured_object_type"
method
def "def"
identifier "type"
body_statement
string
" "'"
string_content "FeaturedItem"
" "'"
end "end"
method (+22 nodes collapsed)
method
def "def"
identifier "featured_object_type"
body_statement
binary
call
call
identifier "object"
. "."
identifier "account"
. "."
identifier "actor_type"
|| "||"
string
" "'"
string_content "Person"
" "'"
end "end"
end "end"

After

program
comment "# frozen_string_literal: true"
class
class "class"
scope_resolution
constant "ActivityPub"
:: "::"
constant "FeaturedItemSerializer"
superclass
< "<"
scope_resolution
constant "ActivityPub"
:: "::"
constant "Serializer"
body_statement
call
identifier "attributes"
argument_list
simple_symbol ":id"
, ","
simple_symbol ":type"
, ","
simple_symbol ":featured_object"
, ","
simple_symbol ":featured_object_type"
method
def "def"
identifier "id"
body_statement
call
call
scope_resolution
constant "ActivityPub"
:: "::"
constant "TagManager"
. "."
identifier "instance"
. "."
identifier "uri_for"
argument_list
( "("
identifier "object"
) ")"
end "end"
method
def "def"
identifier "type"
body_statement
string
" "'"
string_content "FeaturedItem"
" "'"
end "end"
method (+22 nodes collapsed)
method
def "def"
identifier "featured_object_type"
body_statement
binary
call
call
identifier "object"
. "."
identifier "account"
. "."
identifier "actor_type"
|| "||"
string
" "'"
string_content "Person"
" "'"
end "end"
end "end"