Project ideas from Hacker News discussions.

Poisson Disk Sampling

📝 Discussion Summary (Click to expand)

Theme 1 – Perceptual randomness & blue noise
Many commenters note that the goal is to create patterns that look random to humans rather than being statistically uniform.
- hingler36: “I love these kinds of problems, because they try to produce what humans perceive as random instead of something truly random.”
- saidnooneever: “funny you mention. blue noise was also the first one that popped in my mind… spent a lot of time looking for blue noise without knowing it at some point.”

Theme 2 – Visualization and debugging aids
The discussion highlights how clear visualisations and debug UIs make the algorithms easier to understand and tune.
- akkartik: “Still one of the most satisfying debug UIs I ever came up with.” (link to devlog)
- cowthulhu: “The third one especially is both (really) cool looking and legible!”
- saidnooneever: “seeing this kind of visualisations helped me a lot in gfx. always much respect for ppl who understand it well enough to make these things.”

Theme 3 – Trade‑offs vs. low‑discrepancy sequences
Several participants compare Poisson‑disk/blue‑noise sampling with low‑discrepancy sequences, noting where each is preferable.
- addag: “I'm wondering if it can be used as a low-discrepancy sequence”
- jacobolus: “For a low-discrepancy sequence you are usually trying to generate one point at a time… Here the goal is to generate (roughly) a specific number of points that fill a whole region… it's probably not going to be particularly suitable compared to alternatives.”
- WithinReason: “I see the generated points often form lines which would cause aliasing in computer graphics, why not use low discrepancy sequences instead?”
- setr references Casey Muratori’s deterministic grass‑placement solution as an alternative approach.


🚀 Project Ideas

Generating project ideas…

BlueNoiseKit

Summary

  • Provide a lightweight, dependency‑free library (JS, Python, Rust) that generates 2D/3D blue noise and Poisson‑disk point sets with controllable minimum distance and optional toroidal wrap.
  • Core value: developers get high‑quality, visually pleasing random‑like samples instantly, eliminating aliasing and the need to hand‑tune low‑discrepancy sequences.

Details

Key Value
Target Audience Graphics programmers, game devs, procedural content creators
Core Feature Generate blue‑noise / Poisson‑disk samples in 2D/3D with adjustable radius, seed, and wrap‑around
Tech Stack Rust core with WASM bindings; optional Python & JS wrappers
Difficulty Medium
Monetization Hobby

Notes

  • HN users praised blue noise and Poisson disk sampling for avoiding lines and aliasing (e.g., “I love these kinds of problems… blue noise” – hingler36; “seeing this kind of visualisations helped me a lot in gfx” – saidnooneever)
  • Could spark discussion on sampling techniques and be useful for real‑time rendering, stippling, dithering, and procedural placement.

PoissonDisk Explorer

Summary

  • An interactive web‑based playground (similar to ObservableHQ) where users can tweak Poisson‑disk parameters, view the resulting point pattern, and export as JSON/Image.
  • Core value: lets developers and artists quickly experiment with sampling strategies, see aliasing effects, and compare with low‑discrepancy sequences without writing code.

Details

Key Value
Target Audience Researchers, students, graphics engineers, artists
Core Feature Live parameter sliders for radius, number of points, domain shape, plus overlay of FFT to show frequency spectrum
Tech Stack React + D3.js, WebGL for rendering large point sets, Observable‑style notebook backend
Difficulty Low
Monetization Hobby

Notes

  • Commenters asked for visualisations to understand p/q confusion and liked seeing the patterns (Terr_: “visualisation is showing two points … could be placed”; akkartik: “satisfying debug UIs”)
  • Provides a concrete tool for discussion, teaching, and quick prototyping, likely to be shared on HN and Reddit.

FoliageSeed API

Summary

  • A hosted micro‑service (or self‑hostable Docker) that takes a rectangular region, desired density, and a seed, and returns a deterministic set of placement points using a blue‑noise‑based grass‑placement algorithm (Casey Muratori’s deterministic method).
  • Core value: game studios get repeatable, artist‑friendly foliage layouts without storing huge point lists, reducing memory and ensuring consistent results across platforms.

Details

Key Value
Target Audience Game developers, procedural content pipelines, simulation engines
Core Feature Deterministic blue‑noise point generation via hash‑based lattice, adjustable min distance, returns compact binary or JSON
Tech Stack Go or Rust backend, gRPC/REST API, optional WASM edge function
Difficulty Medium
Monetization Revenue-ready: $0.001 per 10k points (pay‑as‑you‑go) or free tier for indie devs

Notes

  • HN thread highlighted Casey Muratori’s deterministic grass placement as “much cooler” (setr) and desire for low‑discrepancy alternatives (WithinReason); developers crave reproducible randomness.
  • Enables discussion on deterministic vs stochastic methods and offers practical utility for large open‑world games where storing millions of grass blades is impractical.

Read Later