MCPcopy
hub / github.com/furnishup/blueprint3d

github.com/furnishup/blueprint3d @main sqlite

repository ↗ · DeepWiki ↗
1,250 symbols 2,387 edges 65 files 364 documented · 29%
README

See it

This repository includes an example application built using blueprint3d:

http://furnishup.github.io/blueprint3d/example/

What is this?

This is a customizable application built on three.js that allows users to design an interior space such as a home or apartment. Below are screenshots from our Example App (link above).

1) Create 2D floorplan:

floorplan

2) Add items:

add_items

3) Design in 3D:

3d_design

Developing and Running Locally

To get started, clone the repository and ensure you npm >= 3 and grunt installed, then run:

npm install
grunt

The latter command generates example/js/blueprint3d.js from src.

The easiest way to run locally is to run a local server from the example directory. There are plenty of options. One uses Python's built in webserver:

cd example

# Python 2.x
python -m SimpleHTTPServer

# Python 3.x
python -m http.server

Then, visit http://localhost:8000 in your browser.

Contribute!

This project requires a lot more work. In general, it was rushed through various prototype stages, and never refactored as much as it probably should be. We need your help!

Please contact us if you are interested in contributing.

Todos

  • More complete documentation (based on the TypeDoc comments)
  • Test suite (e.g. jasmine)
  • Make it easier to build a complete application using blueprint3d (cleaner API, more inclusive base, easier integration with a backend)
  • Better serialization format for saving/loading "designs"
  • Remove the dependency on jquery from the core source!
  • Better use of npm conventions and packaging
  • Various bug fixes
  • refactor three/* - use of classes, lambdas
  • update to current threejs
  • introduce a more formal persistency format
  • put all relevant settings into Core.Configuration to make them read-/writeable, User settings?
  • complete type docs for all entities
  • there're a few TODO_Ekki's left, kill them all

Directory Structure

src/ Directory

The src directory contains the core of the project. Here is a description of the various sub-directories:

core - Basic utilities such as logging and generic functions

floorplanner - 2D view/controller for editing the floorplan

items - Various types of items that can go in rooms

model - Data model representing both the 2D floorplan and all of the items in it

three - 3D view/controller for viewing and modifying item placement

example/ Directory

The example directory contains an application built using the core blueprint3d javascript building blocks. It adds html, css, models, textures, and more javascript to tie everything together.

License

This project is open-source! See LICENSE.txt for more information.

Extension points exported contracts — how you extend this code

Vector (Interface)
(no doc) [3 implementers]
lib/three.d.ts
JQueryAjaxSettings (Interface)
* Interface for the AJAX setting that will configure the AJAX request
lib/jquery.d.ts
Options (Interface)
(no doc)
src/blueprint3d.ts
Metadata (Interface)
(no doc)
src/items/metadata.ts
Matrix (Interface)
(no doc) [2 implementers]
lib/three.d.ts
JQueryXHR (Interface)
* Interface for the jqXHR object
lib/jquery.d.ts
RendererPlugin (Interface)
(no doc) [2 implementers]
lib/three.d.ts
JQueryCallback (Interface)
* Interface for the JQuery callback
lib/jquery.d.ts

Core symbols most depended-on inside this repo

each
called by 75
lib/jquery.d.ts
add
called by 67
lib/three.d.ts
extend
called by 61
lib/jquery.d.ts
data
called by 55
lib/jquery.d.ts
trigger
called by 51
lib/jquery.d.ts
attr
called by 49
lib/jquery.d.ts
forEach
called by 48
src/core/utils.ts
jQuery
called by 47
example/js/jquery.js

Shape

Method 496
Class 393
Function 262
Interface 74
Enum 25

Languages

TypeScript100%

Modules by API surface

lib/three.d.ts521 symbols
lib/jquery.d.ts245 symbols
example/js/jquery.js86 symbols
src/model/floorplan.ts35 symbols
example/js/example.js32 symbols
src/model/corner.ts28 symbols
src/model/wall.ts25 symbols
src/core/utils.ts25 symbols
src/items/item.ts23 symbols
example/js/bootstrap.js22 symbols
src/model/half_edge.ts19 symbols
src/three/controller.ts18 symbols

Dependencies from manifests, versioned

bootstrap3.3.1 · 1×
bootstrap-tour0.10.1 · 1×
browserify8.0.2 · 1×
grunt1.0.1 · 1×
grunt-contrib-clean1.0.0 · 1×
grunt-contrib-concat1.0.1 · 1×
grunt-contrib-copy1.0.0 · 1×
grunt-contrib-uglify1.0.1 · 1×
grunt-string-replace1.2.1 · 1×
grunt-subgrunt1.2.0 · 1×
grunt-typedoc0.2.4 · 1×
grunt-typescript0.8.0 · 1×

For agents

$ claude mcp add blueprint3d \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact