#[param]
ADR-002 D 와 ADR-004 D14 로드맵. 현재 cimery-macros 에 #[derive(ParamSummary)] 만 있는 스캐폴딩 상태. 전면 #[param(...)] attribute 로 완성.
cimery-macros
#[derive(ParamSummary)]
#[param(...)]
#[param(unit="mm", range=1000..=3000, default=1800)]
unit
range
RangeInclusive
default
fn validate(&self) -> Result<(), FeatureError>
fn builder() -> FeatureBuilder
fn param_metadata() -> &[ParamMeta]
fn from_csv_row(...)
PscISectionParams
GirderIR
DeckSlabIR
PierIR
BearingIR
param_metadata()
cimery/crates/macros/src/lib.rs
cimery/crates/dsl/src/
No dependencies set.
The note is not visible to the blocked user.
목적
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 레퍼런스