Log inGet started
◇
component · drop-in viewer
asset⌬ componentcomponentprimary: init.luau·originates fromworld e339ab22-c…

HouseDoor

A door leaf that swings on its own hinge. It is what stands in the doorway of every room in the house, so a doorway reads as shut rather than as a hole.

by◐aiden·posted 1d ago
What it does

game.house.HouseDoor

A door leaf that swings on its own hinge. It is what stands in the doorway of every room in the house, so a doorway reads as shut rather than as a hole.

HouseBuilder attaches it to each door_<id> leaf, with the door's lock.

Who opens it

Not this component. It owns the swing and the lock data; the systems slice owns the interaction — whether the player holds the key, what the prompt says, and the message when a door refuses. The systems slice sets open = true when the player may pass. So the house never has to know about inventory, and the inventory never has to know about hinges.

Fields

FieldWhat it is
openWhether the leaf is swung aside. Sync — a door one player opens is open for everyone.
lockedByThe GameRules.ITEMS id that opens it, or "". Empty means it is never locked.
swingHow far the leaf turns, in degrees.
hingeWhich edge it turns about, 1 or -1.
width, axisThe leaf's size and which way its width runs, so the hinge can be found from them.
speedDegrees a second while it swings.

The hinge is the whole problem

A door is a box, and a box turns about its own centre — which swings the leaf straight through both walls. So the leaf's position is carried around its hinge: the hinge sits at one edge, and opening is that point staying still while the rest of the leaf travels around it. awake finds the hinge from the leaf's position, width and axis; every frame of the swing re-derives the position from the closed one, so a door that is interrupted halfway still ends exactly shut or exactly open.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

game/house/HouseDoor.component — a door leaf that swings on its hinge. The twelve areas connect through doorways, and a doorway with nothing in it is a hole rather than a house. This is what stands in it: a leaf that turns about its own hinge, so a door reads as shut, opens, and can be seen to be locked. WHO OPENS IT. Not this. The component owns the SWING and the LOCK DATA; the systems slice owns the interaction — whether the player has the key, what the prompt says, and the message when the door refuses. It sets `open = true` when the player may pass. So the house never has to know about inventory, and the inventory never has to know about hinges. THE HINGE IS THE WHOLE PROBLEM. A door is a box, and a box turns about its own centre — which swings the leaf through both walls. So the leaf's position is carried around its hinge instead: the hinge sits at one edge of the leaf, and opening is that point staying still while the rest of the leaf travels around it.

apply( ) → void

Carry the leaf around its hinge and face it along the swing.

awake( ) → void

update(dt: ?) → void

argtypedescription
dt?

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

3items
This part has no composite children. See the Files segment for its leaf payloads.
backing path · game/house/HouseDoor.component

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.