RelGeo Language Spec
Status dokumen: Informative Index
Version target: 0.5
Spec aktif untuk implementasi saat ini: RelGeo DSL v0.5
1. Tujuan
Folder ini adalah rumah utama untuk dokumentasi language spec RelGeo.
Tujuannya:
- mengumpulkan seluruh kontrak DSL dalam satu area yang jelas
- memisahkan spec normatif dari catatan implementasi dan dokumen pendukung
- memberi jalur baca yang lebih stabil untuk author, implementor, reviewer, dan LLM
- menjaga agar pohon ini tetap layak dibaca langsung di IDE dan tetap layak dirender di website resmi
Pohon ini adalah lokasi utama dan target final untuk dokumentasi language spec RelGeo.
Status versioning:
id/adalah spec lengkap yang aktif untuk implementasi saat ini- versi aktif yang direpresentasikan pohon ini adalah
RelGeo DSL v0.5 - delta yang belum diserap ke pohon ini belum menjadi bagian dari source of truth implementasi
- field dokumen
version, jika dihilangkan, boleh diasumsikan sebagai versi spec aktif yang diimplementasikan runtime saat itu
2. Cara Membaca
Gunakan urutan berikut:
core/syntax/geometry/presentation/appendix/
Urutan ini mengikuti cara memahami DSL:
- fondasi bahasa
- nilai, tipe, dan ekspresi
- model object dan geometri
- lapisan presentasi
- material pendukung
Catatan:
- nomor file sekarang mengikuti urutan baca utama spec
- beberapa topik tetap digabung dalam satu file bila kontraknya lebih mudah dibaca bersama
3. Struktur Folder
core/
Untuk fondasi normatif DSL:
- overview
- document structure
- scene dan coordinate model
- evaluation order
- semantic guarantees
- error model
syntax/
Untuk kontrak nilai dan ekspresi:
- type system
- parameters
- constants
- derived values
- profiles
- expressions
geometry/
Untuk object model dan perilaku geometri:
- object model
- geometry objects
- composition objects
- collection objects
- placement
- anchors
- collections
- geometry queries
- constraints
presentation/
Untuk lapisan presentasi gambar:
- dimension objects
- annotation objects
- drawing roles
- views dan sheets
- presentation-related metadata
Catatan konseptual:
- seluruh pohon ini tetap bagian dari kontrak aktif
RelGeo DSL v0.5 - tetapi tidak semua bab di spec aktif otomatis mewakili kapabilitas inti bahasa RelGeo
- khusus area
presentation/, beberapa kontrak lebih tepat dibaca sebagaicapability layerataudomain layer, terutama untuk surface yang berat ke technical drawing
appendix/
Untuk material pendukung:
- summary
- glossary
- examples
- migration notes
- cross-reference index
4. Status Dokumen
Setiap dokumen di pohon ini sebaiknya memakai salah satu label berikut:
Normative
Dokumen yang mendefinisikan kontrak DSL dan wajib diikuti implementasi.
Informative
Dokumen penjelas yang membantu memahami spec tanpa menambah kontrak baru.
Implementation Note
Dokumen yang menjelaskan strategi runtime, renderer, atau detail implementasi tertentu.
5. Provenance
Bab-bab di pohon ini lahir dari proses restrukturisasi dokumentasi dan penyerapan kontrak aktif ke satu rumah normatif yang konsisten.
Untuk tujuan pemeliharaan source aktif:
- pohon ini diperlakukan sebagai artefak mandiri
- konteks sejarah, audit, dan restrukturisasi boleh ada di luar pohon ini, tetapi tidak menjadi ketergantungan link dari source spec aktif
- source of truth aktif tetap berada di pohon ini
6. Daftar Bab
core
01-overview.md02-document-structure.md03-scene.md04-evaluation-order.md05-semantic-guarantees.md06-error-model.md
syntax
07-type-system.md08-parameters.md09-constants.md10-derived.md11-profiles.md12-expressions.md
geometry
13-object-model.md14-geometry-objects.md15-composition-objects.md16-collection-objects.md17-placement.md18-anchors.md19-collections.md20-geometry-queries.md21-constraints.md
presentation
22-dimension.md23-annotation.md24-drawing-roles.md25-views-sheets.md26-metadata.md
appendix
Status saat ini:
27-summary.md
Bab appendix lain seperti glossary, examples, migration notes, dan cross-reference index adalah target struktur, tetapi belum dipisah menjadi file tersendiri.
7. Aturan Pemeliharaan
- gunakan folder ini sebagai tujuan penataan language spec
- jangan campur restrukturisasi dengan revisi semantik besar dalam langkah yang sama
- jika ada konflik isi antar dokumen lama, catat dan audit terhadap pohon ini
- dokumen di luar pohon ini tidak boleh dianggap source of truth untuk kontrak DSL
- perlakukan delta versi sebagai material di luar pohon ini, bukan sebagai pengganti spec lengkap
- jika delta sudah diadopsi implementasi, serap isinya ke
id/ - rawat seluruh pohon ini sebagai dokumen dua-permukaan:
- tetap nyaman dibaca langsung di IDE
- tetap rapi dan layak saat dirender di website
- jangan mengandalkan kurasi ad-hoc di website untuk “membersihkan” dokumen yang buruk
- jika satu file terasa buruk di website, benahi dokumen sumbernya, bukan hanya presenter-nya
- jangan membuat link keluar dari pohon spec kecuali nanti sudah ada target repo final yang stabil dan memang sengaja dipakai
Panduan editorial:
8. Langkah Lanjut
Langkah kerja yang disarankan:
- rapikan cross-link internal di dalam pohon ini
- jaga agar index, section, dan chapter tetap linear
- pindahkan atau serap materi yang memang perlu menjadi kontrak aktif
- hindari ketergantungan link keluar-repo dari source spec aktif
- saat menyiapkan versi berikutnya, serap hanya kontrak yang benar-benar sudah matang ke pohon ini