Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AwesomeComputerGraphics Curator

Local-first knowledge index for computer graphics. The goal is to keep classic rendering papers, modern papers, engine documentation, GPU vendor references, talks, and practical resources in one navigable Markdown repo.

The curator can:

  1. index hand-picked seed entries such as Kajiya's Rendering Equation, Veach's thesis, pbrt, Unreal/Unity/Godot documentation, and NVIDIA references,
  2. collect recent candidates from RSS feeds such as arXiv cs.GR,
  3. skip URLs that were already processed,
  4. ask a local Ollama model for a short Korean summary and category when an entry does not already have a curated summary,
  5. generate deterministic Markdown files by category and resource type,
  6. optionally publish the generated output to a local GitHub clone.

The project is designed for copyright-safe curation. It stores links and short original summaries only; it does not rehost full source text.

Requirements

  • Python 3.13+
  • Ollama
  • A local chat model, for example:
ollama pull qwen2.5:7b

For semantic search, also pull a local embedding model:

ollama pull nomic-embed-text

For more natural Korean summaries, you can also try:

ollama pull exaone3.5:7.8b

Setup

conda create --prefix .\.conda python=3.13 -y
conda activate .\.conda
python -m pip install -r requirements.txt
python -m pip install -e . --no-deps

This repository is currently verified against the local .conda environment:

.\.conda\python.exe --version
# Python 3.13.13

Edit config/sources.toml for personal picks and local overrides. Maintained source packs live under config/sources.d/*.toml and are loaded automatically:

  • feeds.toml: recent RSS sources such as arXiv and NVIDIA Technical Blog
  • foundations.toml: classic rendering papers and books
  • engine-docs.toml: Unreal Engine, Unity, and Godot official documentation
  • gpu-docs.toml: NVIDIA, Microsoft DXR, Vulkan, Metal, and GPUOpen references
  • learning.toml: practical learning resources such as Ray Tracing in One Weekend and Scratchapixel

Edit config/categories.toml if you want different category labels.

Static entries can include summary_ko and category. Those entries are indexed without calling Ollama, which is useful for foundational papers and official documentation you already trust.

Check the currently loaded source set:

python -m curator sources

Run

python -m curator run --limit 10 --skip-publish

Index only the curated seed catalog without RSS or Ollama:

python -m curator run --static-only --skip-publish

Index the seed catalog and build semantic embeddings in one pass:

python -m curator run --static-only --build-semantic-index --skip-publish

Use a different local model:

python -m curator run --limit 10 --model exaone3.5:7.8b --skip-publish

Generated Markdown appears under output/:

  • output/README.md is the top-level index.
  • output/categories/*.md groups by topic.
  • output/types/*.md groups by resource type such as Paper, Book, Engine Doc, GPU Doc, or Video.

Semantic Search

The semantic index is for vague questions like "전역 조명 이론부터 엔진 구현까지 보려면 뭐 보면 돼?" It does not do keyword matching. It embeds the curated title, type, category, source, and Korean summary with a local Ollama embedding model, then returns the closest resources.

Build or refresh the embedding cache after entries already exist:

python -m curator semantic-index

Ask a loose question:

python -m curator search "실시간 엔진에서 global illumination 구현을 보려면 뭐 봐야 해?"

On Windows PowerShell 5.x, prefer --output over shell redirection for Korean text:

python -m curator search "실시간 엔진에서 global illumination 구현을 보려면 뭐 봐야 해?" --output resp.txt

This writes UTF-8 directly from Python instead of relying on PowerShell's > encoding behavior.

The cache is stored at state/embeddings.json.

Publish

Create or clone a separate GitHub repository locally, then run a dry-run first:

python -m curator run --limit 10 --dry-run --publish-repo C:\path\to\published-awesome-repo

If the diff looks good, publish for real:

python -m curator run --limit 10 --publish-repo C:\path\to\published-awesome-repo

Publishing uses your local Git credentials. No token is stored in this codebase.

State

  • state/seen.json stores processed URLs for idempotency.
  • state/entries.json stores the curated item metadata needed to regenerate stable Markdown.
  • output/ stores generated Markdown.

About

ComputerGraphics 지식 수집

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages