• That is very cool, dare I say impressive (at least in my opinion). Folks need to ease up a little I think.
  • This is actually pretty awesome. I enjoyed going through all the models.

    I'm also not sure why I love ASCII art so much. Maybe it's because it's such an abstract way to represent something, yet our brains make perfect sense of everything.

    The shading is where it all comes to life.

    What is the file size of one single model on average?

    • Thanks! The gallery holds real 3D files (.glb/.obj/.vox), ~300 KB each. The ASCII isn't stored, it's rendered live from the mesh. Its size only depends on the grid resolution, not the model: a full-screen view is ~150×50 characters, so around ~10 KB of text (a cube and a detailed mesh would produce the same byte count)
  • > No WebGL

    Why is this an advantage? I have a GPU and I'd rather it was used. As-is, one of my CPU cores is pegged at 100% just rendering the landing page.

    • > > No WebGL

      > Why

      Sometimes hobby projects are a fun challenge because of the limitations you set for yourself. “No WebGL” (and “no canvas”) comes directly between “Render textured 3D meshes in the DOM” and “Each scene is a single <pre> you can…”. Why did I write some SQL to use TSQLs geometry types to draw a dragon curve fractal in SSMS way back when? Certainly not because it was an efficient use of the tech or my time!

      How this challenge aspect translates to a project that (going by other comments) is largely vibe-coded escapes me a bit, if I asked an ML algorithm to complete a sudoku I wouldn't feel any sense of achievement, but each to their own.

      > Why is this an advantage? I have a GPU and…

      Away from the “because that was the challenge the maker set for themselves” aspect: WebGL does not always work, such as over most remote desktop solutions (there are of course ways to make the access it needs to the GPU possible, depending on the remoting option you are using, but one of those being configured is far from a given). This will continue to operate in those circumstances.

    • Presumably because its an intentional throwback to the era when most people didn't have a GPU?
    • When the topic is rendering 3d models using ASCII glyphs, we've already exited the realm of advantages and disadvantages. This is just supposed to be cool.
      • Cool things are allowed to be practical and well-engineered, too. Either way, it seems weird to list a disadvantage as a headline feature.
        • Sure. But I think the idea is already absurd, so I'm not expecting a performant engine out of it.

          I get your point though, that the same ASCII rendering effect might be doable at much higher scale without pegging the CPU.

    • maybe to prove the output is purely text only?
    • heh, i came here to say basically the same thing
  • Is there a good reason not to use WebGL to render the scene and compute the character mapping? Even if you're dead set on outputting text to a `<pre>` you could write the ascii values out to a framebuffer and copy from that for a pretty significant speedup.
  • Nice to see that it renders in pure 7 bit ASCII without using any code page 437 or Unicode characters.
  • Cool. I also had similar idea: https://github.com/surenenfiajyan/3d.js . But your one looks richer in features.
  • Wow. Where was this in the 90s when I "needed" it.

    Is there a console version?

  • Man and I thought `bb` was impressive!
  • Seeing some of your rendered 3D models in ASCII glyphs reminded me of 3D pixelated video games. It is really cool, but I fail to see its applications.
  • Is it like a filter on top of graphical 3D rendering or is everything rasterized in ascii from the basics?
  • We need a new term like appslop
  • Absolutely incredible
  • I understand this was probably vibe-coded, but it's still a lot of fun. Well done!
  • I have been looking for a tool like this for so long. Very cool I will def be using for my website
  • Thats fantastic. Someone make a video game using it
  • Well done, Claude!
  • This is really cool!
  • Love this!
  • Lol the AGENTS.md:

    > NO Co-Authored-By: Claude trailer. > NO " Generated with Claude Code" footer in PR bodies, commit messages, issue comments, or anywhere else.

    I actually have a much better idea how to use AI responsibly: Simply don't use Claude to completely vibe code AND COMMIT your code.

    There is no doubt in my mind that this is vibe-coded, in the bad sense, because of this line. There is no workflow that lets Claude write code AND commit, without PRs, that includes review by a human.

    This is not the HN I signed up for. I don't mind AI use, responsible AI use, but zero oversight has not worked and will not work.

    • Gosh, It's so hard to be excited about any software project nowadays, because I cannot know how much effort was actually put into it. For all I know the author merely wrote a few prompts and paid Anthropic for the tokens. Good job I guess?
      • I think simply stating the extent of AI use openly is a good start. For example, this is what I've done on my hobby project[0]. I feel like an AI use disclosure page or document helps, especially when you didn't vibe-code but still used AI in a somewhat responsible way (for review, for writing tests, writing CI pipeline stuff, etc.).

        [0]: https://libls.org/ai-use

    • Having a cool idea, executing it and showcasing it to the world is not good anymore?

      For serendipity still matters.

    • Not sure you can go by that alone. It’s a solo project so it’s common to not use PRs in that case.

      People review in different ways, sometimes before the commit or at a different cadence.

      I get the concern, but I think it would be easy to tell if it’s responsible conclusively just by browsing around the code a bit. If it’s a mess, it’ll be obvious.

    • Note that it's also possible to review changes afterwards. Many (human) teams have been working like this.

      I agree that many vibe-coders are likely to skip reviews completely, but it doesn't have to be like this.

    • "I actually have a much better idea how to use AI responsibly: Simply don't use Claude to completely vibe code AND COMMIT your code."

      I usually open a new chat in the ide and ask it to "generate a commit message", then i copy paste it.

      This means that if my code was written 20% by me and 80% by Google Antigravity, and Claude then adds a Co-Authored-By-line, then i think it's wrong. All it did was generate a commit message.

      • > This means that if my code was written 20% by me and 80% by Google Antigravity, and Claude then adds a Co-Authored-By-line, then i think it's wrong. All it did was generate a commit message.

        But do you do make sure that the commit (and other related documentation updates) properly gives Antigravity the 80% credit, yes?

        I'm already at the point of assuming any recently started project is at least part vibe coded, possibly mostly, unless it says otherwise, and my maximum level of being impressed is adjusted accordingly. Even if it says otherwise I might be cautious, as taking a cynical outlook is increasingly turning out to be a useful way of dealing with the world…

      • That's fair, but that workflow is amateurish at best anyway. You're free to do that, if that's how you work, or if it all gets squashed in the end regardless, but a more sustainable workflow is to make committing itself an explicit part of self-review.

        Here's what I do:

        `git commit -p`, which basically shows you chunks of changes and you can confirm whether you want to stage those changes. This forces you to briefly review your changes and allows you to select lines or chunks that you don't want to commit (yet).

        Then, you have a lot of context, so then its much easier to compose a commit message. Your editor auto-opens at the end of that, so you type in WHY you made the changes (and if you don't know, at least put WHAT you did), save and close the editor, and that's one commit.

        If you skip all of this, the commits are less likely to help you later when you need them.

  • rckt
    What’s up with filtering of clearly low effort AI posts here?

    Every now and then I see this crap here. And people even engage into discussion. This is ridiculous.

    • I was gonna say that this kind of thing is a big yawn in the age of asking an LLM to do something like this. I think it would have been interesting if the author had gone a bit further and made it a useful command line tool for something. I'm impressed by demos to the extent that they show skill. I'm impressed by tools to the extent that they show an understanding of the process. I'm not sure whether this accomplishes either.
    • https://github.com/apresmoi/glyphcss

      I wouldn't call it low effort ... seems to be done over the course of months.

      I agree it's absurd that those 4 commits started this morning projects that get huge hype and screaming fanboys, but I don't think this is that.

      • > I agree it's absurd that those 4 commits started this morning projects that get huge hype and screaming fanboys, but I don't think this is that.

        Is that what I'm doing wrong?

        If I start a new project this morning, push about four commits to it, and bang it up on here, it'll go to the front page? I'd love for anything I've done to get that much traction ;-)

        • The only consistent things I've heard is volume. You gotta effectively spam and some things stick.

          It also has to be cognitively stupid to understand - the least amount of knowledge or suppositions required.

          I've found myself on the front page maybe 5 times... Someone else posted my stuff.

          I find the algo game to be morally repugnant so I don't play it. I just build things and hope they're useful to the right audiences

    • It pairs well with a 3d splatting story in the front page https://news.ycombinator.com/item?id=48618481 despite the slop
    • [flagged]
  • [flagged]
  • This is great! I’m going to use this for my website thanks!
    • send it over when you have it so I can put it in the showcase :)