3DBAG Labs is the site for experimental content, demos, and proofs of concept related to the 3DBAG project. The site is built with ProperDocs and the MaterialX theme.
You need Python 3.11 or newer, uv, and
make installed.
Clone the repository and enter its directory:
git clone <repository-url>
cd 3dbag-labsCreate the project environment and install its locked dependencies with uv:
uv syncBuild the site into the site/ directory:
make buildStart the local development server with live reloading:
make serveThe development site is available at http://localhost:8000.
The equivalent commands can be run directly through uv:
uv run properdocs build
uv run properdocs serveAdd a card by making these two content changes:
- Add the card's metadata to
labs-content.json. Each card is one object in the top-level array. The object must contain:id,date_added,title,description,link,image,authors,contact,license,in_3dbag, andarchived. - Add the card image to
docs/assets/images/labs/, then setimageto its path relative todocs/, for exampleassets/images/labs/my-card.jpg.
Card content requirements:
idmust be a unique integer.date_addedmust useYYYY-MM-DDformat.titleanddescriptionmust not be empty. Keep the description to no more than 140 whitespace-separated words.linkmust be anhttp://orhttps://URL.authorsmust contain at least one name, andcontactmust be an email address.- Set
license,in_3dbag, andarchivedto describe the submitted content.
Image requirements:
- The image must be a readable image file stored inside
docs/(normally indocs/assets/images/labs/). - It must be exactly 600×350 pixels. The card displays the image at that size, so crop or resize it before committing it.
Run make build before opening a pull request. The build validates the card
metadata, checks that the image exists and has the required dimensions, and
generates the card grid on the site.