@Scobleizer
RT @vikingmute: 这个好强啊:https://t.co/gRz1EpEGLj 用 three.js 写的 3D 的卧室,细节特别还原,各种小物件都有,想起 Steam 一款也是装饰自己卧室的小游戏,不知道现在用 js + 浏览器环境写游戏的多不多? 源代码在这里…
Viewing enriched Twitter post
RT @vikingmute: 这个好强啊:https://t.co/gRz1EpEGLj 用 three.js 写的 3D 的卧室,细节特别还原,各种小物件都有,想起 Steam 一款也是装饰自己卧室的小游戏,不知道现在用 js + 浏览器环境写游戏的多不多? 源代码在这里…
{
"media": [
{
"type": "photo",
"url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/1997948978307195241/media_0.png?",
"filename": "media_0.png"
}
],
"processed_at": "2025-12-08T13:39:46.821845",
"pipeline_version": "2.0"
} {
"type": "tweet",
"id": "1997948978307195241",
"url": "https://x.com/Scobleizer/status/1997948978307195241",
"twitterUrl": "https://twitter.com/Scobleizer/status/1997948978307195241",
"text": "RT @vikingmute: 这个好强啊:https://t.co/gRz1EpEGLj\n用 three.js 写的 3D 的卧室,细节特别还原,各种小物件都有,想起 Steam 一款也是装饰自己卧室的小游戏,不知道现在用 js + 浏览器环境写游戏的多不多?\n\n源代码在这里…",
"source": "Twitter for iPhone",
"retweetCount": 148,
"replyCount": 15,
"likeCount": 1050,
"quoteCount": 8,
"viewCount": 77843,
"createdAt": "Mon Dec 08 08:38:51 +0000 2025",
"lang": "zh",
"bookmarkCount": 887,
"isReply": false,
"inReplyToId": null,
"conversationId": "1997948978307195241",
"displayTextRange": [
0,
140
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "Scobleizer",
"url": "https://x.com/Scobleizer",
"twitterUrl": "https://twitter.com/Scobleizer",
"id": "13348",
"name": "Robert Scoble",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1915614118876504066/zVnfpAMf_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/13348/1746742251",
"description": "The best from ML/AI community | Ex-Microsoft, Rackspace, Fast Company | Wrote eight books about the future | Silicon Valley robots, holodecks, BCIs, & startups.",
"location": "My Free Newsletter 👉",
"followers": 548748,
"following": 32663,
"status": "",
"canDm": true,
"canMediaTag": false,
"createdAt": "Mon Nov 20 23:43:44 +0000 2006",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "unaligned.io/subscribe",
"expanded_url": "http://unaligned.io/subscribe",
"url": "https://t.co/YVCwrHlraZ",
"indices": [
0,
23
]
}
]
}
},
"fastFollowersCount": 0,
"favouritesCount": 548684,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 6005,
"statusesCount": 231085,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"1995903135374889412"
],
"profile_bio": {},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {},
"card": null,
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "my-room-in-3d.vercel.app",
"expanded_url": "https://my-room-in-3d.vercel.app/",
"url": "https://t.co/gRz1EpEGLj",
"indices": [
22,
45
]
}
],
"user_mentions": [
{
"id_str": "296593919",
"name": "Viking",
"screen_name": "vikingmute",
"indices": [
3,
14
]
}
]
},
"quoted_tweet": null,
"retweeted_tweet": {
"type": "tweet",
"id": "1997651881720688861",
"url": "https://x.com/vikingmute/status/1997651881720688861",
"twitterUrl": "https://twitter.com/vikingmute/status/1997651881720688861",
"text": "这个好强啊:https://t.co/Dv2hwrJZvQ\n用 three.js 写的 3D 的卧室,细节特别还原,各种小物件都有,想起 Steam 一款也是装饰自己卧室的小游戏,不知道现在用 js + 浏览器环境写游戏的多不多?\n\n源代码在这里:https://t.co/AsBxlt6nFI 居然是 4 年前写的,那个时候应该还没有 AI ,像个精美的工艺品。",
"source": "Twitter for iPhone",
"retweetCount": 148,
"replyCount": 15,
"likeCount": 1050,
"quoteCount": 8,
"viewCount": 77843,
"createdAt": "Sun Dec 07 12:58:17 +0000 2025",
"lang": "zh",
"bookmarkCount": 887,
"isReply": false,
"inReplyToId": null,
"conversationId": "1997651881720688861",
"displayTextRange": [
0,
182
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "vikingmute",
"url": "https://x.com/vikingmute",
"twitterUrl": "https://twitter.com/vikingmute",
"id": "296593919",
"name": "Viking",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/725179208528322560/TPjU7qop_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/296593919/1461731223",
"description": "独立开发者 自由职业\n作品 - 简单简历 https://t.co/xMu5JFIGnr 五分钟打造程序员的金牌简历\n\n课程 - 慕课网精英讲师 https://t.co/NTyFFrvHwL\n\n经历 - 不上班的1000天 https://t.co/bonuLQCCsY\n\n视频 - https://t.co/aQYLgujIyC",
"location": "Shanghai",
"followers": 60735,
"following": 280,
"status": "",
"canDm": true,
"canMediaTag": true,
"createdAt": "Wed May 11 02:08:52 +0000 2011",
"entities": {
"description": {
"urls": [
{
"display_url": "easycv.cn",
"expanded_url": "http://easycv.cn",
"url": "https://t.co/xMu5JFIGnr",
"indices": [
21,
44
]
},
{
"display_url": "imooc.com/t/6012904",
"expanded_url": "http://www.imooc.com/t/6012904",
"url": "https://t.co/NTyFFrvHwL",
"indices": [
73,
96
]
},
{
"display_url": "vikingz.me/1000-days",
"expanded_url": "http://vikingz.me/1000-days",
"url": "https://t.co/bonuLQCCsY",
"indices": [
113,
136
]
},
{
"display_url": "youtube.com/@vikingzhang",
"expanded_url": "http://www.youtube.com/@vikingzhang",
"url": "https://t.co/aQYLgujIyC",
"indices": [
143,
166
]
}
]
},
"url": {
"urls": [
{
"display_url": "vikingz.me",
"expanded_url": "http://vikingz.me",
"url": "https://t.co/6Zj0nAx1OI",
"indices": [
0,
23
]
}
]
}
},
"fastFollowersCount": 0,
"favouritesCount": 801,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 1319,
"statusesCount": 2653,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"1560447512561033217"
],
"profile_bio": {},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {
"media": [
{
"display_url": "pic.x.com/bIt61XMwcR",
"expanded_url": "https://x.com/vikingmute/status/1997651881720688861/video/1",
"id_str": "1997651761834958848",
"indices": [
183,
206
],
"media_key": "13_1997651761834958848",
"media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1997651761834958848/img/QdiLfT3-q_iH74K8.jpg",
"type": "video",
"url": "https://t.co/bIt61XMwcR",
"additional_media_info": {
"monetizable": false
},
"ext_media_availability": {
"status": "Available"
},
"sizes": {
"large": {
"h": 1334,
"w": 2048,
"resize": "fit"
},
"medium": {
"h": 781,
"w": 1200,
"resize": "fit"
},
"small": {
"h": 443,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 1912,
"width": 2936,
"focus_rects": []
},
"allow_download_status": {
"allow_download": true
},
"video_info": {
"aspect_ratio": [
367,
239
],
"duration_millis": 15200,
"variants": [
{
"content_type": "application/x-mpegURL",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/pl/gUAmULXylLle5eBl.m3u8?v=cfc"
},
{
"bitrate": 256000,
"content_type": "video/mp4",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/vid/avc1/414x270/sPYr89EuU-AE87Gz.mp4"
},
{
"bitrate": 832000,
"content_type": "video/mp4",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/vid/avc1/552x360/MOYSRZDNQKOOEBDh.mp4"
},
{
"bitrate": 2176000,
"content_type": "video/mp4",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/vid/avc1/1104x720/AmlJ2cCV8idAUiCm.mp4"
},
{
"bitrate": 10368000,
"content_type": "video/mp4",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/vid/avc1/1658x1080/cX2YbhzhvGhjidaZ.mp4"
},
{
"bitrate": 25128000,
"content_type": "video/mp4",
"url": "https://video.twimg.com/amplify_video/1997651761834958848/vid/avc1/2936x1912/ZMA6dP2zm5KOVYIm.mp4"
}
]
},
"media_results": {
"result": {
"media_key": "13_1997651761834958848"
}
}
}
]
},
"card": null,
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "my-room-in-3d.vercel.app",
"expanded_url": "https://my-room-in-3d.vercel.app/",
"url": "https://t.co/Dv2hwrJZvQ",
"indices": [
6,
29
]
},
{
"display_url": "github.com/brunosimon/my-…",
"expanded_url": "https://github.com/brunosimon/my-room-in-3d",
"url": "https://t.co/AsBxlt6nFI",
"indices": [
124,
147
]
}
],
"user_mentions": []
},
"quoted_tweet": null,
"retweeted_tweet": null,
"article": null
},
"article": null
}