proc-macro #[param] 전면 attribute 완성 — Feature DSL 성숙
#9
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
목적
ADR-002 D 와 ADR-004 D14 로드맵. 현재
cimery-macros에#[derive(ParamSummary)]만 있는 스캐폴딩 상태. 전면#[param(...)]attribute 로 완성.현재 상태
cimery-macros크레이트 신설 (Sprint 38) — proc-macro=true, syn/quote/proc-macro2#[derive(ParamSummary)]— struct named field 의 PARAM_COUNT + PARAM_NAMES 상수 생성작업 항목
Phase A:
#[param]attribute 파싱#[param(unit="mm", range=1000..=3000, default=1800)]파싱unit문자열rangeRustRangeInclusive리터럴default리터럴Phase B: 자동 생성 코드
fn validate(&self) -> Result<(), FeatureError>— range 체크fn builder() -> FeatureBuilder— 자동 builder 패턴fn param_metadata() -> &[ParamMeta]— UI 자동생성용fn from_csv_row(...)— CSV 라운드트립 (Sprint 7 확장)Phase C: 기존 IR 적용
PscISectionParams에#[param]적용 — 레퍼런스 구현GirderIR,DeckSlabIR,PierIR,BearingIR등 순차 적용Phase D: viewer UI 자동생성
param_metadata()기반 egui 슬라이더 자동 배치테스트
#[param]파싱 에러 케이스 (잘못된 range, 중복 default 등)참조
cimery/crates/macros/src/lib.rs— 현재#[derive(ParamSummary)]cimery/crates/dsl/src/— 수동 builder 레퍼런스