Skip to content
Merged

Dev #256

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .clineignore

This file was deleted.

43 changes: 43 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,11 +1,54 @@
# ========================================
# CAD, 3D, and Engineering Binary Files

*.duc filter=lfs diff=lfs merge=lfs -text
# Common Exchange Formats
*.dxf filter=lfs diff=lfs merge=lfs -text
*.dwg filter=lfs diff=lfs merge=lfs -text
*.dwf filter=lfs diff=lfs merge=lfs -text
*.ifc filter=lfs diff=lfs merge=lfs -text
*.stp filter=lfs diff=lfs merge=lfs -text
*.step filter=lfs diff=lfs merge=lfs -text
*.igs filter=lfs diff=lfs merge=lfs -text
*.iges filter=lfs diff=lfs merge=lfs -text
*.jt filter=lfs diff=lfs merge=lfs -text
# Meshes / Standard 3D
*.stl filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.ply filter=lfs diff=lfs merge=lfs -text
*.abc filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
# Native CAD / BIM Software
# SolidWorks
*.sldprt filter=lfs diff=lfs merge=lfs -text
*.sldasm filter=lfs diff=lfs merge=lfs -text
*.slddrw filter=lfs diff=lfs merge=lfs -text
# Autodesk Inventor
*.ipt filter=lfs diff=lfs merge=lfs -text
*.iam filter=lfs diff=lfs merge=lfs -text
*.idw filter=lfs diff=lfs merge=lfs -text
*.ipn filter=lfs diff=lfs merge=lfs -text
# Revit
*.rvt filter=lfs diff=lfs merge=lfs -text
*.rfa filter=lfs diff=lfs merge=lfs -text
*.rte filter=lfs diff=lfs merge=lfs -text
*.rft filter=lfs diff=lfs merge=lfs -text
# Rhino
*.3dm filter=lfs diff=lfs merge=lfs -text
# SketchUp
*.skp filter=lfs diff=lfs merge=lfs -text
# DCC (Digital Content Creation) Software
*.blend filter=lfs diff=lfs merge=lfs -text
*.max filter=lfs diff=lfs merge=lfs -text
*.mb filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
*.hip filter=lfs diff=lfs merge=lfs -text
# Point Clouds / Scans
*.las filter=lfs diff=lfs merge=lfs -text
*.laz filter=lfs diff=lfs merge=lfs -text
*.e57 filter=lfs diff=lfs merge=lfs -text
*.rcp filter=lfs diff=lfs merge=lfs -text
*.rcs filter=lfs diff=lfs merge=lfs -text
19 changes: 15 additions & 4 deletions .github/actions/setup-pyodide-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,22 @@ runs:
# Without this, `pyodide build` would auto-install the latest xbuildenv,
# which may have an incompatible lockfile format (e.g. 0.29.4 lockfile
# missing `info.version` causes pydantic ValidationError in 0.29.3).
pyodide xbuildenv install "${PYODIDE_VERSION}"
#
# `pyodide xbuildenv install` fetches a metadata file from
# https://raw.githubusercontent.com/pyodide/pyodide/main/pyodide-cross-build-environments.json
# which was removed when the pyodide repo was restructured. To avoid that
# broken fetch, we download the xbuildenv tarball directly from the matching
# GitHub release and extract it into a stable location.
mkdir -p ".pyodide-xbuildenv-${PYODIDE_VERSION}"
XBUILDENV_TARBALL="xbuildenv-${PYODIDE_VERSION}.tar.bz2"
XBUILDENV_URL="https://github.com/pyodide/pyodide/releases/download/${PYODIDE_VERSION}/${XBUILDENV_TARBALL}"
curl -fL --retry 3 -o "${XBUILDENV_TARBALL}" "${XBUILDENV_URL}"
tar -xjf "${XBUILDENV_TARBALL}" -C ".pyodide-xbuildenv-${PYODIDE_VERSION}"
rm -f "${XBUILDENV_TARBALL}"

# Derive PYODIDE_ROOT — the xbuildenv install prints its path,
# and `pyodide config` requires a full Pyodide checkout Makefile.
XBUILD_DIR="$(pwd)/.pyodide-xbuildenv-${PYODIDE_VERSION}/${PYODIDE_VERSION}/xbuildenv"
# Derive PYODIDE_ROOT — the xbuildenv tarball extracts to
# .pyodide-xbuildenv-<version>/xbuildenv/pyodide-root
XBUILD_DIR="$(pwd)/.pyodide-xbuildenv-${PYODIDE_VERSION}/xbuildenv"
if [ ! -d "$XBUILD_DIR/pyodide-root" ]; then
XBUILD_DIR="$HOME/.pyodide-xbuildenv-${PYODIDE_VERSION}/${PYODIDE_VERSION}/xbuildenv"
fi
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: true
lfs: true

- name: Setup Git
run: |
Expand Down Expand Up @@ -186,6 +186,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true

- name: Setup Node.js
uses: actions/setup-node@v6
Expand All @@ -210,7 +211,7 @@ jobs:
if: needs.release-check.outputs.needs_python == 'true'
uses: actions/setup-python@v5
with:
python-version: "3.13"
python-version: "3.12"

- name: Install uv
if: needs.release-check.outputs.needs_python == 'true'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-ducpy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
release_ducpy:
runs-on: ubuntu-latest
env:
UV_PYTHON: "3.13"
UV_PYTHON: "3.12"
PYODIDE_VERSION: "0.29.3"
concurrency:
group: release-ducpy
Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/release-ducrs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
fetch-depth: 0
ref: ${{ github.ref_name }}
persist-credentials: true
lfs: true
- name: Set Git User
run: |
git config user.name "GitHub Action"
Expand Down
63 changes: 63 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Contributing to `duc`

Thanks for your interest in contributing! We welcome all forms of contributions, from code to documentation, design, or community support.

## Getting Started

### Prerequisites

- [Bun](https://bun.sh/) `>=1.1.24` (package manager)
- [Node.js](https://nodejs.org/) `>=20`
- [Git LFS](https://git-lfs.com/) — **required** to clone this repository

### Git LFS

This repository tracks CAD, 3D, and engineering binary files (`.duc`, `.dxf`, `.dwg`, `.stl`, `.obj`, `.fbx`, etc.) through [Git LFS](https://git-lfs.com/). You must install and initialize it before cloning, otherwise those files will be checked out as pointer stubs instead of the actual content.

Install:

```sh
# macOS
brew install git-lfs

# Debian/Ubuntu
sudo apt install git-lfs

# Windows
winget install GitHub.GitLFS
```

Initialize once per machine:

```sh
git lfs install
```

If you already cloned the repo before installing LFS, run:

```sh
git lfs pull
```

The full list of tracked extensions lives in [`.gitattributes`](./.gitattributes).

### Setup

```sh
git clone https://github.com/ducflair/duc.git
cd duc
bun install
```

## Commit Message Guidelines

To assure semantic release works, follow [these guidelines](https://semantic-release.gitbook.io/semantic-release#how-does-it-work).

Notes:

- Package names are inferred from the configured semantic-release `paths` (for example, `packages/ducpy` -> `ducpy`).
- Use lowercase package names to keep it consistent.

## License

By contributing, you agree that your contributions will be licensed under the [MIT License](./LICENSE).
10 changes: 1 addition & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ This documentation aims to provide a comprehensive guide to the format's structu

## Contributing

We encourage contributions to the project! For guidelines on how to contribute, please refer to our [CONTRIBUTING.md](./CONTRIBUTING.md). We welcome all forms of contributions, from code to documentation, design, or community support.
We welcome contributions of all kinds. See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions (including the required Git LFS install) and commit message guidelines.

## License

Expand All @@ -55,14 +55,6 @@ The project is licensed under the MIT License. See the [LICENSE](./LICENSE) file

Join our growing community to discuss, collaborate, and share insights about the duc format. Connect with us on [Scopture Community](https://site.scopture.com/community) or follow our [Social Media](https://site.scopture.com/socials) for the latest updates. For support, feel free to open an issue or contact us at [Support](https://ducflair.com/support).

## Commit Message Guidelines
To assure semantic release works, follow [these guidelines](https://semantic-release.gitbook.io/semantic-release#how-does-it-work).

Notes:

- Package names are inferred from the configured semantic-release `paths` (for example, `packages/ducpy` -> `ducpy`).
- Use lowercase package names to keep it consistent.

---

> The duc format and libraries are constantly evolving, with the aim to set new standards in the 2D CAD industry. Be a part of this change and help shape the future of design technology!
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwf-files/FlyAshSystem.dwf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1014.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1015.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1018.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1021.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1024.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1027.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dwg-files/sample_AC1032.dwg
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/columns_R2007.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/hatches_2.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/mtext_complex_inline_codes.dxf
Git LFS file not shown
3 changes: 0 additions & 3 deletions assets/testing/dxf-files/test_linetypes.dxf

This file was deleted.

3 changes: 0 additions & 3 deletions assets/testing/dxf-files/test_text_styles.dxf

This file was deleted.

3 changes: 3 additions & 0 deletions assets/testing/dxf-files/text.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/text_fonts.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/text_mirror_shx_font.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/text_mirror_true_type_font.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/text_negative_extrusion.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/uncommon.dxf
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/dxf-files/wipeout_door.dxf
Git LFS file not shown
3 changes: 0 additions & 3 deletions assets/testing/dxf-files/xclip.dxf

This file was deleted.

3 changes: 3 additions & 0 deletions assets/testing/ifc-files/AC20-FZK-Haus.ifc
Git LFS file not shown
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/NBU_Duplex-Apt_Arch.ifc
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/NVW_DCR-LOD100_Arch.ifc
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/SGD_Munkerud_Arch-1.ifc
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/Tabel_Chairs.ifc
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/aisc_sculpture_brep.ifc
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/ifc-files/aisc_sculpture_param.ifc
Git LFS file not shown
Binary file not shown.
3 changes: 3 additions & 0 deletions assets/testing/step-files/123Block_Color.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/123Block_Dimension.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/123Block_Short_Note.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/1797609in.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/2827056.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/4pinplug.stp
Git LFS file not shown
3 changes: 3 additions & 0 deletions assets/testing/step-files/53711_74563f01_na.stp
Git LFS file not shown
Loading
Loading