@adatechnology/游戏地板规划结构
结构包 @adatechnology/game-floorplan:建筑系统、每个计划的载荷路径及其 DestructibleSpec。 。 。 .
import { engine } from '@adatechnology/game-floorplan'
import { register } from '@adatechnology/game-floorplan-structure'
register(engine)
const plan = engine.generate('townhouse', { seed: 7 })
plan.structure.parts // the parts that carry load, each with role, material, box, mass
plan.structure.supports // what each part rests on, down to 'ground'
独立墙: buildStructure(plan, { roof: false }) 将屋顶抛出,于是用一个外墙站起的图案如同一栋房屋墙一样(在脱衣地上,上面有保证梁). wallPiece 联 合 国 game-floorplan-three 建造并绘制出这样的一堵墙;一个场景或游戏的每堵墙都是用这种方式来制造的.
结构验证 : validateStructure(structure, { doors, wallDetail }) 检查一个结构,因为一个结构工程师会签字并返回输入的
违反《公约》行为{ code, part, message }代码 STRUCTURAL_VIOLATION: 装入路径 (FLOATING_PART, (中文(简体) ), PILLAR_NOT_GROUNDED钢筋混凝土
NBR 6118 (英语)CONCRETE_BELOW_MIN_SECTION:柱长为19厘米和360厘米2,梁宽为12厘米,点后支撑间为L/10深; UNREINFORCED_CONCRETE· ;
BEAM_ON_WEAK_MASONRY而在泥浆中,封闭的泥浆: MISSING_GROUND_BEAM, (中文(简体) ), WALL_END_WITHOUT_PILLAR, (中文(简体) ), CORNER_WITHOUT_PILLAR, (中文(简体) ),
WALL_JUNCTION_WITHOUT_PILLAR, (中文(简体) ), WALL_SPAN_WITHOUT_PILLAR (超过 MAX_PILLAR_SPACING(4米), PILLAR_DOES_NOT_REACH_BOND_BEAM, (中文(简体) ), MISSING_BOND_BEAM, (中文(简体) ),
OPENING_WITHOUT_LINTEL, (中文(简体) ), OPENING_WITHOUT_SILL, (中文(简体) ), UNBONDED_MASONRY, (中文(简体) ), MISSING_PLASTER。 。 。 . validateSpec(spec) 检查一个直立的光谱(塔,
用于载荷路径和路段的摩天大楼; countViolations 统计他们。 底图包的每个类型 都贯穿于其中
tests/construction.test.ts数字 :
const plan = engine.generate('townhouse', { seed: 7 })
validateStructure(plan.structure, { doors: plan.doors }) // [] : nothing a structural engineer would refuse
水泥屋立于钢筋混凝土地梁上(ground_beam_*维加·秃发, GROUND_BEAM_DEPTH 深埋入地 埋入地;
groundBeams: false 从地板上到接通梁的混凝土柱子,每开一开一开(h=L/10,宽门打开)
干扰柱)和一个斜梁(_sillbeam_, (中文(简体) ), SILL_BEAM_DEPTH每个窗口下.
高楼: buildTower() 建造有连续柱的框架,有楼梯和电梯轴的混凝土芯,有玻璃幕墙,平面
屋顶有薄膜和机械地板addCore, (中文(简体) ), addCurtainWall, (中文(简体) ), addFlatRoof, (中文(简体) ), addMechanicalFloor 将每个都添加到任意框架的光谱中.
风: buildTower({ wind: { speed, terrain }, damper: true }) 以风向表示塔的大小,并添加一个调制的质地坝(addTunedMassDamper, (中文(简体) ), DAMPER_DEFAULTS(中文(简体) )
在机械地板上,两者默认都关闭。 这个世界需要 createDestruction({ wind: {} })。 。 。 .
星际搜索器 : buildSkyscraper({ storeys, height, bay, facade, ... }, preset) 转出几个数字(SKYSCRAPER_DEFAULTS:40层,3.6米,12米海湾,幕墙,每20个植物地层,150米以上的坝地,城市风能,软粘土下堆入沙地)入塔:柱和梁由负载大小,核心由高(墙从不厚于三分之一的地层,高地上更相近),每层有接力厂地层(N层)mechanicalEvery),一扇幕墙或被打出"出"的"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"出"""""""""""""""""""""""""""""""facade: 'punched', (中文(简体) ), addPunchedFacade堆积而为重物和地pilesFor, (中文(简体) ), PILE_DEFAULTS) (中文(简体) ). skyscraperLayout 仅仅给出数字 towerPlate 编号 : towerFloors 编号 : exteriorWindows 同一布局的室级计划 game-floorplan-commercial (单位:千美元)office_tower和 game-floorplan-residential (单位:千美元)residential_tower填满房间。 每个数字都是预设的布局或字段的选择.
见 .claude/skills/game-floorplan-structure/SKILL.md 用于API和 MIGRATION.md visor de Casas 3D 所使用的名称.