@dreadwood-types/types 0.1.194 → 0.1.196

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/areaTransitions.d.ts +1 -1
  2. package/dist/areaTransitions.d.ts.map +1 -1
  3. package/dist/areaTransitions.js +12 -0
  4. package/dist/areaTransitions.js.map +1 -1
  5. package/dist/capital.d.ts +1 -1
  6. package/dist/capital.d.ts.map +1 -1
  7. package/dist/capital.js +4 -0
  8. package/dist/capital.js.map +1 -1
  9. package/dist/constants.d.ts +6 -1
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +33 -1
  12. package/dist/constants.js.map +1 -1
  13. package/dist/dungeonCharts.d.ts.map +1 -1
  14. package/dist/dungeonCharts.js +3 -0
  15. package/dist/dungeonCharts.js.map +1 -1
  16. package/dist/dwarfHold.d.ts +161 -0
  17. package/dist/dwarfHold.d.ts.map +1 -0
  18. package/dist/dwarfHold.js +246 -0
  19. package/dist/dwarfHold.js.map +1 -0
  20. package/dist/expandedContracts.d.ts +0 -3
  21. package/dist/expandedContracts.d.ts.map +1 -1
  22. package/dist/expandedContracts.js +2 -1
  23. package/dist/expandedContracts.js.map +1 -1
  24. package/dist/forgeHalt.d.ts +129 -0
  25. package/dist/forgeHalt.d.ts.map +1 -0
  26. package/dist/forgeHalt.js +166 -0
  27. package/dist/forgeHalt.js.map +1 -0
  28. package/dist/forgeHaltLine.d.ts +27 -0
  29. package/dist/forgeHaltLine.d.ts.map +1 -0
  30. package/dist/forgeHaltLine.js +87 -0
  31. package/dist/forgeHaltLine.js.map +1 -0
  32. package/dist/index.d.ts +6 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +6 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/smugglersStrand.d.ts.map +1 -1
  37. package/dist/smugglersStrand.js +5 -0
  38. package/dist/smugglersStrand.js.map +1 -1
  39. package/dist/storyQuests.d.ts.map +1 -1
  40. package/dist/storyQuests.js +8 -0
  41. package/dist/storyQuests.js.map +1 -1
  42. package/dist/westernEntrance.d.ts +17 -0
  43. package/dist/westernEntrance.d.ts.map +1 -1
  44. package/dist/westernEntrance.js +11 -0
  45. package/dist/westernEntrance.js.map +1 -1
  46. package/dist/westernHalts.d.ts +128 -0
  47. package/dist/westernHalts.d.ts.map +1 -0
  48. package/dist/westernHalts.js +82 -0
  49. package/dist/westernHalts.js.map +1 -0
  50. package/dist/westernLineAnnounce.d.ts +15 -0
  51. package/dist/westernLineAnnounce.d.ts.map +1 -0
  52. package/dist/westernLineAnnounce.js +19 -0
  53. package/dist/westernLineAnnounce.js.map +1 -0
  54. package/dist/westernLineTexts.d.ts +31 -0
  55. package/dist/westernLineTexts.d.ts.map +1 -0
  56. package/dist/westernLineTexts.js +70 -0
  57. package/dist/westernLineTexts.js.map +1 -0
  58. package/dist/westernTrain.d.ts +113 -1
  59. package/dist/westernTrain.d.ts.map +1 -1
  60. package/dist/westernTrain.js +257 -4
  61. package/dist/westernTrain.js.map +1 -1
  62. package/package.json +2 -2
package/dist/constants.js CHANGED
@@ -1939,6 +1939,30 @@ export const CAPITAL_BUILDING_MODELS = {
1939
1939
  wlcontrolbox: { across: 1, deep: 1, mouth: 0, solid: true },
1940
1940
  wlsignalpost: { across: 1, deep: 1, mouth: 0, solid: true },
1941
1941
  fhcoalcrate: { across: 1, deep: 1, mouth: 0, solid: true },
1942
+ // The Western Line's phase 2 kit, batch K2 (2026-10-11, quest-workshop dhlib.py on westlib and wlhaltlib;
1943
+ // `.cursor/task-plans/2026-10-11-western-k2-kit.md`, the circuit plan's section 3): the Dwarf Hold's pieces. The sealed
1944
+ // Great Stair, 9 x 3 solid: a portal clicked ("sealed for now"), never entered, its door on -y.
1945
+ dhgreatgate: { across: 9, deep: 3, mouth: 0, solid: true },
1946
+ // The dwarf king on his plinth, 3 x 3 solid, facing -y; the forge alcove, 5 x 3 solid (decor, open on -y).
1947
+ dhkingstatue: { across: 3, deep: 3, mouth: 0, solid: true },
1948
+ dhforgealcove: { across: 5, deep: 3, mouth: 0, solid: true },
1949
+ // The long table with its two benches, 5 x 2 solid (an even depth: the extra row at the back, local -z).
1950
+ dhlongtable: { across: 5, deep: 2, mouth: 0, solid: true, blockedOffsets: [0, -1].flatMap((z) => [-2, -1, 0, 1, 2].map((x) => [x, z])) },
1951
+ // THE DWARF HOLD nameboard and the carved doorway, 3 x 1: the posts' or jambs' tiles block, the middle tile is open
1952
+ // (walked under the board, walked through the doorway).
1953
+ dhstationsign: { across: 3, deep: 1, mouth: 0, open: true, blockedOffsets: [[-1, 0], [1, 0]] },
1954
+ dhcarvedarch: { across: 3, deep: 1, mouth: 0, open: true, blockedOffsets: [[-1, 0], [1, 0]] },
1955
+ // The brazier post, the ore cart (its rails along local z) and the supply stack, 1 x 1 solid.
1956
+ dhbrazier: { across: 1, deep: 1, mouth: 0, solid: true },
1957
+ dhorecart: { across: 1, deep: 1, mouth: 0, solid: true },
1958
+ dhsupplystack: { across: 1, deep: 1, mouth: 0, solid: true },
1959
+ // The rock wall run (laid in runs, its face on -y) and the sealed side door, 3 x 1 solid.
1960
+ dhrockwall: { across: 3, deep: 1, mouth: 0, solid: true },
1961
+ dhsidedoor: { across: 3, deep: 1, mouth: 0, solid: true },
1962
+ // The rock column, 2 x 2 solid (even both ways, like the hall pillar).
1963
+ dhrockcolumn: { across: 2, deep: 2, mouth: 0, solid: true, blockedOffsets: [[0, 0], [1, 0], [0, -1], [1, -1]] },
1964
+ // The trade stall, 3 x 2 solid (an even depth: the counter on the front row, the shelves on the row behind).
1965
+ dhtradestall: { across: 3, deep: 2, mouth: 0, solid: true, blockedOffsets: [0, -1].flatMap((z) => [-1, 0, 1].map((x) => [x, z])) },
1942
1966
  };
1943
1967
  /** The model id in a `capitalbuilding` style (its first dash token), when it names one. */
1944
1968
  export function capitalBuildingModelId(style) {
@@ -2367,6 +2391,12 @@ function caveEntranceFacing(style) {
2367
2391
  return { fx: -1, fz: 0, sx: 0, sz: 1 };
2368
2392
  if (isGoblinCaveStyle(style))
2369
2393
  return { fx: 1, fz: 0, sx: 0, sz: 1 };
2394
+ // The Forge Halt's doors (forgeHalt.ts) face by their style's last letter, as a dreadmodel does.
2395
+ const halt = style?.match(/^(?:fhstairhouse|wlhaltstair)-([nsew])$/);
2396
+ if (halt) {
2397
+ const f = halt[1];
2398
+ return f === 'n' ? { fx: 0, fz: -1, sx: 1, sz: 0 } : f === 'e' ? { fx: 1, fz: 0, sx: 0, sz: 1 } : f === 'w' ? { fx: -1, fz: 0, sx: 0, sz: 1 } : { fx: 0, fz: 1, sx: 1, sz: 0 };
2399
+ }
2370
2400
  const dir = style?.includes('west')
2371
2401
  ? 'west'
2372
2402
  : style?.includes('east')
@@ -2731,7 +2761,9 @@ export function visitBlockedWalkOffsets(kind, style, scale, visit, doorFacing =
2731
2761
  // pellsgap, seacave; smugglersStrand.ts caveEntranceModel): their whole footprint is rock.
2732
2762
  // So is the Western Entrance's tunnel mouth (westernEntrance.ts WESTERN_TUNNEL_MOUTH_MODEL: the mine portal
2733
2763
  // stand-in today, the Blender westportal when it lands); spelled out here because this file is imported by both.
2734
- if (typeof style === 'string' && (style.startsWith('pellsgap') || style.startsWith('seacave') || style.startsWith('evmineentrance') || style.startsWith('westportal'))) {
2764
+ if (typeof style === 'string' && (style.startsWith('pellsgap') || style.startsWith('seacave') || style.startsWith('evmineentrance') || style.startsWith('westportal') ||
2765
+ // The Forge Halt's two doors (forgeHalt.ts): the stairhouse in the Capital, the stair up in the hall (slice 2-2).
2766
+ style.startsWith('fhstairhouse') || style.startsWith('wlhaltstair'))) {
2735
2767
  visitBlockedWalkOffsets('dreadmodel', style, scale, visit);
2736
2768
  return;
2737
2769
  }