You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
internal/survey/survey.go carries an unexported placeholder namer (its own comment: "T5 has no name generator, so this supplies a placeholder until one exists") producing strict CVCV names (Ropoze, Tibaki).
Scope
Promote to internal/worldname with an exported Generate(r *dice.Roller) string; survey draws from it.
Adopt ../traveller-worldgen/worldname/worldname.go's fragment tables: onset clusters (br, dr, ...), vowel digraphs (ae, ia, ou, ei), and a coda table (th, rn, ss, ld, ne) with their 2-3 syllable + final-coda structure — this is what turns Ropoze into Peimern/Draejapu.
Draw via t5's dice.Index(n), NOT their (d6-1)*6+(d6-1) mod len trick — that is unbiased only while every table length divides 36, and silently biases the day a fragment is added.
internal/survey/survey.gocarries an unexported placeholder namer (its own comment: "T5 has no name generator, so this supplies a placeholder until one exists") producing strict CVCV names (Ropoze,Tibaki).Scope
internal/worldnamewith an exportedGenerate(r *dice.Roller) string; survey draws from it.../traveller-worldgen/worldname/worldname.go's fragment tables: onset clusters (br,dr, ...), vowel digraphs (ae,ia,ou,ei), and a coda table (th,rn,ss,ld,ne) with their 2-3 syllable + final-coda structure — this is what turnsRopozeintoPeimern/Draejapu.dice.Index(n), NOT their(d6-1)*6+(d6-1) mod lentrick — that is unbiased only while every table length divides 36, and silently biases the day a fragment is added.Since names are invented content (no book table), no golden-from-worked-example applies; a determinism test + shape assertions suffice.