ActivityPub Viewer

A small tool to view real-world ActivityPub objects as JSON! Enter a URL or username from Mastodon or a similar service below, and we'll send a request with the right Accept header to the server to view the underlying object.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount", "Hashtag": "as:Hashtag" } ], "id": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925", "type": "Note", "summary": null, "inReplyTo": "https://mastodon.gamedev.place/users/bitinn/statuses/113390788338369728", "published": "2024-10-29T14:32:41Z", "url": "https://mastodon.gamedev.place/@bitinn/113391197344937925", "attributedTo": "https://mastodon.gamedev.place/users/bitinn", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.gamedev.place/users/bitinn/followers" ], "sensitive": false, "atomUri": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925", "inReplyToAtomUri": "https://mastodon.gamedev.place/users/bitinn/statuses/113390788338369728", "conversation": "tag:mastodon.gamedev.place,2024-10-29:objectId=117274039:objectType=Conversation", "content": "<p>The problem here is SRP batcher encourages Uber shader but you can only pack so many options without encumbering users. As soon as you split shader you are then forced to keep all properties the same otherwise you have to split cbuffer for each shader variant.</p><p>We find it very hard to reason about ifdef within cbuffer, even if we use <a href=\"https://mastodon.gamedev.place/tags/define\" class=\"mention hashtag\" rel=\"tag\">#<span>define</span></a> per shader to manage them.</p>", "contentMap": { "en": "<p>The problem here is SRP batcher encourages Uber shader but you can only pack so many options without encumbering users. As soon as you split shader you are then forced to keep all properties the same otherwise you have to split cbuffer for each shader variant.</p><p>We find it very hard to reason about ifdef within cbuffer, even if we use <a href=\"https://mastodon.gamedev.place/tags/define\" class=\"mention hashtag\" rel=\"tag\">#<span>define</span></a> per shader to manage them.</p>" }, "attachment": [], "tag": [ { "type": "Hashtag", "href": "https://mastodon.gamedev.place/tags/define", "name": "#define" } ], "replies": { "id": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925/replies?min_id=113391680378635055&page=true", "partOf": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925/replies", "items": [ "https://mastodon.gamedev.place/users/bitinn/statuses/113391680378635055" ] } }, "likes": { "id": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925/likes", "type": "Collection", "totalItems": 0 }, "shares": { "id": "https://mastodon.gamedev.place/users/bitinn/statuses/113391197344937925/shares", "type": "Collection", "totalItems": 0 } }