Remove debug logs
This commit is contained in:
parent
bfcad7a7c7
commit
9089fee899
4
build.js
4
build.js
|
@ -4,13 +4,13 @@ import { sassPlugin } from 'esbuild-sass-plugin'
|
||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
|
|
||||||
const serve = process.env.ESBUILD_SERVE === '1'
|
const serve = process.env.ESBUILD_SERVE === '1'
|
||||||
const baseurl = process.env.ESBUILD_BASEURL
|
const baseurl = process.env.ESBUILD_BASEURL || '/'
|
||||||
|
|
||||||
console.log(`Building with baseurl ${baseurl}`)
|
console.log(`Building with baseurl ${baseurl}`)
|
||||||
|
|
||||||
const ctx = await esbuild.context({
|
const ctx = await esbuild.context({
|
||||||
entryPoints: ['src/index.ts'],
|
entryPoints: ['src/index.ts'],
|
||||||
minify: !serve,
|
minify: true,
|
||||||
bundle: true,
|
bundle: true,
|
||||||
metafile: true,
|
metafile: true,
|
||||||
splitting: true,
|
splitting: true,
|
||||||
|
|
|
@ -1,23 +1,22 @@
|
||||||
/**
|
/**
|
||||||
* In case the guys who look at my projet open the console -_-
|
* In case the people who look at my projet open the console -_-
|
||||||
*/
|
*/
|
||||||
export const logWelcome = () => {
|
export const logWelcome = () => {
|
||||||
const commonStyles = 'padding: 3px'
|
const commonStyles = 'padding: 3px'
|
||||||
const titleStyles = `font-size: 3em;`
|
const titleStyles = `font-size: 3em;`
|
||||||
|
|
||||||
// console.log('%c Hello!',` `${titleStyles})
|
console.log(
|
||||||
console.log(
|
`%c Hello
|
||||||
`%c Hello
|
|
||||||
%c I don't know if you see this,
|
%c I don't know if you see this,
|
||||||
but if you do than you are probably wondering...
|
but if you do than you are probably wondering...
|
||||||
Why did I include this? The answer is - I don't know.
|
Why did I include this? The answer is - I don't know.
|
||||||
At first, it seemed like a good idea to include a welcome message in the console
|
At first, it seemed like a good idea to include a welcome message in the console
|
||||||
(in case someone randomly openes it), but now i don't even know what i'm doing :)
|
(in case someone randomly openes it), but now i don't even know what i'm doing :)
|
||||||
Anyways, I hope you are having a good time in my simulator!!!`
|
Anyways, I hope you are having a good time in my simulator!!!`
|
||||||
.split('\n')
|
.split('\n')
|
||||||
.map(s => s.trim())
|
.map((s) => s.trim())
|
||||||
.join(' '),
|
.join(' '),
|
||||||
`${titleStyles}`,
|
`${titleStyles}`,
|
||||||
`${commonStyles}`
|
`${commonStyles}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,31 +10,29 @@ import LogicGate from './LogicGate'
|
||||||
* The component containing the info / actions about all logic gates
|
* The component containing the info / actions about all logic gates
|
||||||
*/
|
*/
|
||||||
const LogicGatePage = () => {
|
const LogicGatePage = () => {
|
||||||
const gates = useObservable(() => LogicGateList, [])
|
const gates = useObservable(() => LogicGateList, [])
|
||||||
const renderer = getRendererSafely()
|
const renderer = getRendererSafely()
|
||||||
console.log('got this far')
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main>
|
<main>
|
||||||
<div className="page" id="gates-page">
|
<div className="page" id="gates-page">
|
||||||
<div className="gate-grid">
|
<div className="gate-grid">
|
||||||
{gates
|
{gates
|
||||||
.map(getTemplateSafely)
|
.map(getTemplateSafely)
|
||||||
.sort((a, b) => a.category - b.category)
|
.sort((a, b) => a.category - b.category)
|
||||||
.filter((template) => {
|
.filter((template) => {
|
||||||
return (
|
return (
|
||||||
renderer.simulation.mode === 'project' ||
|
renderer.simulation.mode === 'project' ||
|
||||||
template.metadata.name !==
|
template.metadata.name !== renderer.simulation.name
|
||||||
renderer.simulation.name
|
)
|
||||||
)
|
})
|
||||||
})
|
.map((template, index) => {
|
||||||
.map((template, index) => {
|
return <LogicGate key={index} template={template} />
|
||||||
return <LogicGate key={index} template={template} />
|
})}
|
||||||
})}
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</main>
|
||||||
</main>
|
)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default LogicGatePage
|
export default LogicGatePage
|
||||||
|
|
|
@ -3,35 +3,30 @@ import { PinWrapper } from './Gate'
|
||||||
import { SimulationError } from '../../errors/classes/SimulationError'
|
import { SimulationError } from '../../errors/classes/SimulationError'
|
||||||
|
|
||||||
export class Wire {
|
export class Wire {
|
||||||
public id: number
|
public id: number
|
||||||
public active = true
|
public active = true
|
||||||
|
|
||||||
public constructor(
|
public constructor(
|
||||||
public start: PinWrapper,
|
public start: PinWrapper,
|
||||||
public end: PinWrapper,
|
public end: PinWrapper,
|
||||||
ic: boolean = false,
|
ic: boolean = false,
|
||||||
id?: number
|
id?: number
|
||||||
) {
|
) {
|
||||||
if (!ic && end.value.pairs.size !== 0) {
|
if (!ic && end.value.pairs.size !== 0) {
|
||||||
throw new SimulationError('An input pin can only have 1 pair')
|
throw new SimulationError('An input pin can only have 1 pair')
|
||||||
}
|
|
||||||
|
|
||||||
end.value.addPair(start.value, true, !ic)
|
|
||||||
start.value.addPair(end.value, false, !ic)
|
|
||||||
|
|
||||||
// if (ic) {
|
|
||||||
// start.value.state.subscribe(console.log)
|
|
||||||
// end.value.state.subscribe(console.log)
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.id = id !== undefined ? id : idStore.generate()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public dispose() {
|
end.value.addPair(start.value, true, !ic)
|
||||||
this.end.value.removePair(this.start.value)
|
start.value.addPair(end.value, false, !ic)
|
||||||
this.start.value.removePair(this.end.value)
|
|
||||||
this.end.value.state.next("0")
|
|
||||||
|
|
||||||
this.active = false
|
this.id = id !== undefined ? id : idStore.generate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public dispose() {
|
||||||
|
this.end.value.removePair(this.start.value)
|
||||||
|
this.start.value.removePair(this.end.value)
|
||||||
|
this.end.value.state.next('0')
|
||||||
|
|
||||||
|
this.active = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,28 +3,26 @@ import { SimulationRenderer } from '../classes/SimulationRenderer'
|
||||||
import { fromHexColorString, fromChunks } from '../../colors/helpers/fromHex'
|
import { fromHexColorString, fromChunks } from '../../colors/helpers/fromHex'
|
||||||
|
|
||||||
export const pinFill = (renderer: SimulationRenderer, pin: Pin) => {
|
export const pinFill = (renderer: SimulationRenderer, pin: Pin) => {
|
||||||
let color = 'rgba(0,0,0,0)'
|
let color = 'rgba(0,0,0,0)'
|
||||||
|
|
||||||
if (pin.pairs.size) {
|
if (pin.pairs.size) {
|
||||||
const { open, closed } = renderer.options.gates.pinFill
|
const { open, closed } = renderer.options.gates.pinFill
|
||||||
const digits = Array.from(pin.state.value).map(Number)
|
const digits = Array.from(pin.state.value).map(Number)
|
||||||
|
|
||||||
const colors = digits.map(digit => (digit ? open : closed))
|
const colors = digits.map((digit) => (digit ? open : closed))
|
||||||
const chunked = colors.map(fromHexColorString)
|
const chunked = colors.map(fromHexColorString)
|
||||||
|
|
||||||
const summed = [0, 1, 2]
|
const summed = [0, 1, 2]
|
||||||
.map(key =>
|
.map((key) =>
|
||||||
chunked
|
chunked
|
||||||
.flat()
|
.flat()
|
||||||
.filter((v, index) => index % 3 === key)
|
.filter((v, index) => index % 3 === key)
|
||||||
.reduce((acc, curr) => acc + curr, 0)
|
.reduce((acc, curr) => acc + curr, 0)
|
||||||
)
|
)
|
||||||
.map(value => Math.floor(value / digits.length))
|
.map((value) => Math.floor(value / digits.length))
|
||||||
|
|
||||||
color = fromChunks(summed)
|
color = fromChunks(summed)
|
||||||
|
}
|
||||||
|
|
||||||
// console.log(color)
|
return color
|
||||||
}
|
|
||||||
|
|
||||||
return color
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,28 +20,29 @@ b * (a - x0) = a - x1
|
||||||
x1 = a - b * (a - x0)
|
x1 = a - b * (a - x0)
|
||||||
*/
|
*/
|
||||||
export const handleScroll = (e: WheelEvent, camera: Camera) => {
|
export const handleScroll = (e: WheelEvent, camera: Camera) => {
|
||||||
const sign = -e.deltaY / Math.abs(e.deltaY)
|
console.log('got here')
|
||||||
const zoom = scrollStep ** sign
|
const sign = -e.deltaY / Math.abs(e.deltaY)
|
||||||
|
const zoom = scrollStep ** sign
|
||||||
|
|
||||||
if (!e.deltaY) {
|
if (!e.deltaY) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const { position, scale } = camera.transform
|
const { position, scale } = camera.transform
|
||||||
|
|
||||||
const mousePosition = [e.clientX, e.clientY]
|
const mousePosition = [e.clientX, e.clientY]
|
||||||
const oldPosition = [...mousePosition] as vector2
|
const oldPosition = [...mousePosition] as vector2
|
||||||
|
|
||||||
const oldScale = scale[0]
|
const oldScale = scale[0]
|
||||||
const newScale = clamp(zoomLimits[0], zoomLimits[1], oldScale * zoom)
|
const newScale = clamp(zoomLimits[0], zoomLimits[1], oldScale * zoom)
|
||||||
|
|
||||||
camera.transform.scale = repeat(newScale, 2) as vector2
|
camera.transform.scale = repeat(newScale, 2) as vector2
|
||||||
|
|
||||||
const scaleFraction = newScale / oldScale
|
const scaleFraction = newScale / oldScale
|
||||||
const newPosition = substract(
|
const newPosition = substract(
|
||||||
oldPosition,
|
oldPosition,
|
||||||
multiply(substract(oldPosition, position), scaleFraction)
|
multiply(substract(oldPosition, position), scaleFraction)
|
||||||
)
|
)
|
||||||
|
|
||||||
camera.transform.position = newPosition
|
camera.transform.position = newPosition
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue