{"id":5064,"date":"2026-01-10T18:18:50","date_gmt":"2026-01-10T18:18:50","guid":{"rendered":"https:\/\/mina.systems\/?page_id=5064"},"modified":"2026-01-11T03:59:42","modified_gmt":"2026-01-11T03:59:42","slug":"losing-my-marbles","status":"publish","type":"page","link":"https:\/\/mina.systems\/ja\/losing-my-marbles\/","title":{"rendered":"Losing My Marbles"},"content":{"rendered":"\n<video id=\"bgVideo\" autoplay loop muted playsinline>\n  <source src=\"https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Star-Field-Loop-1min.mp4\" type=\"video\/mp4\">\n<\/video>\n\n<div id=\"loading-modal\">\n  <div class=\"modal-content\">\n    <h1>LOSING MY MARBLES<\/h1>\n    <h2>A sensory starfield experiment<\/h2>\n    <button id=\"start-button\">ENTER SYSTEM<\/button>\n  <\/div>\n<\/div>\n\n<div id=\"three-canvas-container\"><\/div>\n\n<style>\n  html, body {\n  overflow: hidden; \/* Prevents the body from scrolling *\/\n  position: fixed;  \/* Keeps the viewport locked *\/\n  width: 100%;\n  height: 100%;\n  touch-action: none; \/* Critical: Tells Safari not to handle touch gestures *\/\n}\n  #three-canvas-container { \n    width: 100vw; height: 100vh; position: fixed; \n    top: 0; left: 0; z-index: 0; \n    background: transparent !important;\n    pointer-events: all; \n  }\n  #bgVideo {\n    position: fixed; top: 50%; left: 50%;\n    min-width: 100%; min-height: 100%;\n    width: auto; height: auto; z-index: -1;\n    transform: translate(-50%, -50%);\n    object-fit: cover;\n  }\n  #loading-modal {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0,0,0,0.95); z-index: 9999;\n    display: flex; justify-content: center; align-items: center;\n    color: white; font-family: sans-serif; text-align: center;\n    transition: opacity 0.8s ease;\n  }\n  .modal-content h1 { letter-spacing: 8px; font-weight: 200; }\n  #start-button {\n    background: transparent; border: 1px solid white; color: white;\n    padding: 15px 40px; cursor: pointer; font-size: 14px; letter-spacing: 2px;\n    margin-top: 20px;\n  }\n  #start-button:hover { background: white; color: black; }\n  .fade-out { opacity: 0; pointer-events: none; }\n  footer, .site-footer, .title { display: none !important; }\n\/* The default state (hovering over a grabbable object) *\/\n.grab-cursor {\n  cursor: grab !important;\n  cursor: -webkit-grab !important;\n}\n\n\/* The active state (while holding down) *\/\n.grabbing-cursor {\n  cursor: grabbing !important;\n  cursor: -webkit-grabbing !important;\n}\n<\/style>\n\n\n\n<script type=\"module\">\nimport * as THREE from 'https:\/\/cdn.skypack.dev\/three@0.136.0';\nimport { GLTFLoader } from 'https:\/\/cdn.skypack.dev\/three@0.136.0\/examples\/jsm\/loaders\/GLTFLoader.js';\n\nconst ChromaKeyShader = {\n  uniforms: {\n    \"tex\": { value: null },\n    \"color\": { value: new THREE.Color(0x00ff00) }, \n    \"similarity\": { value: 0.25 }, \n    \"smoothness\": { value: 0.5 }                  \n  },\n  vertexShader: `\n    varying vec2 vUv;\n    void main() {\n      vUv = uv;\n      gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n    }\n  `,\n  fragmentShader: `\n    uniform sampler2D tex;\n    uniform vec3 color;\n    uniform float similarity;\n    uniform float smoothness;\n    varying vec2 vUv;\n    void main() {\n      vec4 videoColor = texture2D(tex, vUv);\n      float dist = distance(videoColor.rgb, color);\n      float alpha = smoothstep(similarity, similarity + smoothness, dist);\n      gl_FragColor = vec4(videoColor.rgb, alpha);\n    }\n  `\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  const container = document.getElementById('three-canvas-container');\n  if (!container) return;\n\n  const aspect = window.innerWidth \/ window.innerHeight;\n  const frustumSize = 12; \n  const baseSize = (frustumSize * aspect) * 0.06;\n\n  const camera = new THREE.OrthographicCamera(frustumSize * aspect \/ -2, frustumSize * aspect \/ 2, frustumSize \/ 2, frustumSize \/ -2, 0.1, 1000);\n  camera.position.z = 10;\n\n  const bounds = { x: (frustumSize * aspect) \/ 2, y: frustumSize \/ 2 };\n  const scene = new THREE.Scene();\n  \n  scene.add(new THREE.AmbientLight(0xffffff, 0.6));\n  const topLight = new THREE.DirectionalLight(0xffffff, 2);\n  topLight.position.set(0, 10, 5);\n  scene.add(topLight);\n\n  const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });\n  renderer.setSize(window.innerWidth, window.innerHeight);\n  renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));\n  container.appendChild(renderer.domElement);\n\n  let listener, masterGain, delay, feedback, backgroundMusic;\n  let audioInitialized = false;\n  let gravity = new THREE.Vector2(0, 0); \n  const gravityScale = 0.0002;\n\n  const loader = new THREE.TextureLoader();\n  const glbLoader = new GLTFLoader(); \n  const raycaster = new THREE.Raycaster();\n  const mouse = new THREE.Vector2(-100, -100);\n\n  const gsVideo = document.createElement('video');\n  gsVideo.src = 'https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Planet-Array.mp4';\n  gsVideo.loop = true; gsVideo.muted = true; gsVideo.crossOrigin = 'anonymous';\n  gsVideo.setAttribute('playsinline', '');\n\n  const gsTex = new THREE.VideoTexture(gsVideo);\n  const gsMat = new THREE.ShaderMaterial({\n    uniforms: THREE.UniformsUtils.clone(ChromaKeyShader.uniforms),\n    vertexShader: ChromaKeyShader.vertexShader,\n    fragmentShader: ChromaKeyShader.fragmentShader,\n    transparent: true\n  });\n  gsMat.uniforms.tex.value = gsTex;\n\n  const gsPlane = new THREE.Mesh(new THREE.PlaneGeometry(25, 15), gsMat);\n  gsPlane.position.z = -5; \n  scene.add(gsPlane);\n\n  const audioLoader = new THREE.AudioLoader();\n  const loadedBuffers = [];\n  const soundFiles = [\n    'https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/69924__ayliffe__marbles-1.wav',\n    'https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/69923__ayliffe__marble-single-3.wav',\n    'https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/69922__ayliffe__marble-single-2.wav',\n    'https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/69921__ayliffe__marble-single-1.wav'\n  ];\n  soundFiles.forEach(url => audioLoader.load(url, buffer => loadedBuffers.push(buffer)));\n\n  async function initAudio() {\n    if (audioInitialized) return;\n    listener = new THREE.AudioListener();\n    camera.add(listener);\n\n    if (listener.context.state === 'suspended') await listener.context.resume();\n\n    masterGain = listener.context.createGain();\n    masterGain.gain.value = 2.5;\n    masterGain.connect(listener.context.destination);\n\n    backgroundMusic = new THREE.Audio(listener);\n    audioLoader.load('https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/ooaheeahooaheee.m4a', (buffer) => {\n      backgroundMusic.setBuffer(buffer);\n      backgroundMusic.setLoop(true);\n      backgroundMusic.setVolume(0.0001); \n      backgroundMusic.play();\n      backgroundMusic.gain.gain.exponentialRampToValueAtTime(0.04, listener.context.currentTime + 3);\n    });\n\n    delay = listener.context.createDelay();\n    delay.delayTime.value = 0.2;\n    feedback = listener.context.createGain();\n    feedback.gain.value = 0.15; \n    delay.connect(feedback); feedback.connect(delay); delay.connect(masterGain);\n    audioInitialized = true;\n  }\n\nfunction playCollisionSound(m1, m2, relVel) {\n  if (!audioInitialized) return;\n  if (loadedBuffers.length === 0) return;\n\n  const now = Date.now();\n  if (now - m1.lastHit < 100) return;\n  if (now - m2.lastHit < 100) return;\n\n  const totalMass = m1.radius + m2.radius;\n  const intensity = relVel * totalMass;\n\n  if (intensity < 0.15) return; \n\n  m1.lastHit = now;\n  m2.lastHit = now;\n\n  const sound = new THREE.Audio(listener);\n  sound.setBuffer(loadedBuffers[Math.floor(Math.random() * loadedBuffers.length)]);\n  const volume = Math.min(intensity * 5.0, 1.0);\n  sound.setVolume(volume);\n  sound.play();\n\n  if (intensity > 0.8) {\n    if (typeof navigator.vibrate === 'function') {\n      navigator.vibrate(15);\n    }\n  }\n}\n\n  function handleOrientation(event) {\n    gravity.x = event.gamma * gravityScale; \n    gravity.y = event.beta * -gravityScale; \n  }\n\n  function requestGravityPermission() {\n    if (typeof DeviceOrientationEvent !== 'undefined') {\n      if (typeof DeviceOrientationEvent.requestPermission === 'function') {\n        DeviceOrientationEvent.requestPermission().then(res => {\n          if (res === 'granted') window.addEventListener('deviceorientation', handleOrientation);\n        });\n        return;\n      }\n    }\n    window.addEventListener('deviceorientation', handleOrientation);\n  }\n\n  let brainModel = null;\n  let brainRotVel = new THREE.Vector2(0, 0);\n  let currentScale = 0.05; \n  let initialPinchDist = null;\n\n  glbLoader.load('https:\/\/mina.systems\/wp-content\/uploads\/2023\/02\/ImageToStl.com_mri-scene.glb', (gltf) => {\n    brainModel = gltf.scene;\n    brainModel.position.set(0, 0, -2);\n    brainModel.scale.set(currentScale, currentScale, currentScale);\n    scene.add(brainModel);\n  });\n\n  class Marble {\n    constructor(x, y, texUrl, videoUrl, sizeMult) {\n      this.radius = baseSize * sizeMult; \n      this.pos = new THREE.Vector3(x, y, 0);\n      this.vel = new THREE.Vector2((Math.random() - 0.5) * 0.1, (Math.random() - 0.5) * 0.1);\n      this.isDragging = false; \n      this.rotVel = new THREE.Vector2(0, 0); \n      this.rotTarget = new THREE.Vector2(Math.random()*Math.PI, Math.random()*Math.PI);\n      this.mass = sizeMult;\n      this.lastHit = 0;\n      \n      this.group = new THREE.Group();\n      const geom = new THREE.SphereGeometry(this.radius, 32, 32);\n      this.video = document.createElement('video');\n      this.video.src = videoUrl; this.video.loop = true; this.video.muted = true;\n      this.video.setAttribute('playsinline', ''); this.video.crossOrigin = 'anonymous';\n      \n      const vTex = new THREE.VideoTexture(this.video);\n      const sTex = loader.load(texUrl);\n      \n      this.under = new THREE.Mesh(geom, new THREE.MeshBasicMaterial({ map: sTex }));\n      this.over = new THREE.Mesh(geom, new THREE.MeshBasicMaterial({ map: vTex, transparent: true, blending: THREE.AdditiveBlending, opacity: 0.5 }));\n      this.over.scale.set(1.01, 1.01, 1.01); \n      this.over.userData.parentMarble = this; \n      \n      this.group.add(this.under, this.over); scene.add(this.group);\n    }\n    update() {\n      if (this.isDragging) {\n        const targetX = mouse.x * bounds.x;\n        const targetY = mouse.y * bounds.y;\n        this.vel.x = (targetX - this.pos.x) * 0.2;\n        this.vel.y = (targetY - this.pos.y) * 0.2;\n        this.pos.x += this.vel.x; \n        this.pos.y += this.vel.y;\n      } else {\n        this.vel.x += gravity.x; \n        this.vel.y += gravity.y;\n        this.pos.x += this.vel.x; \n        this.pos.y += this.vel.y; \n        this.vel.multiplyScalar(0.98); \n      }\n\n      if (Math.abs(this.pos.x) > bounds.x - this.radius) { \n        this.vel.x *= -0.6; this.pos.x = Math.sign(this.pos.x) * (bounds.x - this.radius); \n      }\n      if (Math.abs(this.pos.y) > bounds.y - this.radius) { \n        this.vel.y *= -0.6; this.pos.y = Math.sign(this.pos.y) * (bounds.y - this.radius); \n      }\n      this.group.position.copy(this.pos);\n      this.rotVel.multiplyScalar(0.92); \n      this.rotTarget.x += 0.005 + this.rotVel.y; \n      this.rotTarget.y += 0.005 + this.rotVel.x;\n      this.over.rotation.set(this.rotTarget.x, this.rotTarget.y, 0); \n      this.under.rotation.set(-this.rotTarget.x, -this.rotTarget.y, 0);\n    }\n  }\n\n  const textureFiles = ['https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8009.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8015-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8017-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8013-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8011-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8010-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8007-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8006-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8005-rotated.jpg','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/IMG_8004-rotated.jpg'];\n  const videoFiles = ['https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Broom-Attack-HB-Crop-Small.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Broom-Start-HB-Small.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Julia_Set_IG.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/Fractal_Explorer_IG.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-1.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-2.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-3.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-4.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-5.mp4','https:\/\/mina.systems\/wp-content\/uploads\/2026\/01\/fantasia_dinosaur_extinction_small-copy.mp4'];\n\n  const marbles = [];\n  for (let i = 0; i < 10; i++) {\n    marbles.push(new Marble((Math.random()-0.5)*bounds.x, (Math.random()-0.5)*bounds.y, textureFiles[i % 10], videoFiles[i % 10], 0.8 + Math.random()));\n  }\n\n  let activeMarble = null; let isDraggingBrain = false; let lastPos = new THREE.Vector2(); let mVel = new THREE.Vector2();\n\n  document.getElementById('start-button').addEventListener('click', () => {\n    initAudio(); \n    requestGravityPermission();\n    gsVideo.play();\n    marbles.forEach(m => m.video.play());\n    document.getElementById('loading-modal').classList.add('fade-out');\n  });\n\n  container.addEventListener('wheel', (e) => {\n    if (brainModel) {\n      e.preventDefault();\n      const zoomFactor = e.deltaY * -0.0001; \n      currentScale = Math.max(0.02, Math.min(0.12, currentScale + zoomFactor));\n      brainModel.scale.set(currentScale, currentScale, currentScale);\n    }\n  }, { passive: false });\n\n  container.addEventListener('touchstart', (e) => {\n    if (e.touches.length === 2) {\n      initialPinchDist = Math.hypot(e.touches[0].pageX - e.touches[1].pageX, e.touches[0].pageY - e.touches[1].pageY);\n    }\n  }, { passive: false });\n\n  container.addEventListener('touchmove', (e) => {\n    e.preventDefault(); \n    if (e.touches.length === 2) {\n      if (brainModel) {\n        const dist = Math.hypot(e.touches[0].pageX - e.touches[1].pageX, e.touches[0].pageY - e.touches[1].pageY);\n        if (initialPinchDist) {\n          const delta = (dist - initialPinchDist) * 0.00005;\n          currentScale = Math.max(0.02, Math.min(0.12, currentScale + delta));\n          brainModel.scale.set(currentScale, currentScale, currentScale);\n        }\n      }\n    }\n  }, { passive: false });\n\n  container.addEventListener('pointerdown', (e) => {\n    const rect = container.getBoundingClientRect();\n    mouse.x = ((e.clientX - rect.left) \/ rect.width) * 2 - 1;\n    mouse.y = -((e.clientY - rect.top) \/ rect.height) * 2 + 1;\n    raycaster.setFromCamera(mouse, camera);\n    const intersects = raycaster.intersectObjects(scene.children, true);\n    if (intersects.length > 0) {\n      const hit = intersects[0].object;\n      if (hit.userData.parentMarble) { \n        activeMarble = hit.userData.parentMarble; \n        activeMarble.isDragging = true; \n      } else { \n        isDraggingBrain = true; \n      }\n    }\n    lastPos.set(e.clientX, e.clientY);\n  });\n\n  window.addEventListener('pointermove', (e) => {\n    const rect = container.getBoundingClientRect();\n    mouse.x = ((e.clientX - rect.left) \/ rect.width) * 2 - 1; \n    mouse.y = -((e.clientY - rect.top) \/ rect.height) * 2 + 1;\n    mVel.set(e.clientX - lastPos.x, e.clientY - lastPos.y);\n\n    if (activeMarble) {\n      container.className = 'grabbing-cursor';\n    } else {\n      if (isDraggingBrain) {\n        container.className = 'grabbing-cursor';\n      } else {\n        raycaster.setFromCamera(mouse, camera);\n        const intersects = raycaster.intersectObjects(scene.children, true);\n        if (intersects.length > 0) {\n          container.className = 'grab-cursor';\n        } else {\n          container.className = '';\n        }\n      }\n    }\n\n    if (!activeMarble) {\n      if (isDraggingBrain) {\n        if (brainModel) {\n          brainRotVel.x += mVel.x * 0.002; \n          brainRotVel.y += mVel.y * 0.002;\n        }\n      }\n    }\n    lastPos.set(e.clientX, e.clientY);\n  });\n\n  window.addEventListener('pointerup', () => {\n    container.className = '';\n    if (activeMarble) {\n      activeMarble.isDragging = false;\n      activeMarble.vel.x = mVel.x * 0.01; \n      activeMarble.vel.y = -mVel.y * 0.01;\n    }\n    activeMarble = null; \n    isDraggingBrain = false;\n  });\n\n  function animate() {\n    requestAnimationFrame(animate);\n\n    if (brainModel) {\n      brainModel.rotation.y += 0.002 + brainRotVel.x; \n      brainModel.rotation.x += brainRotVel.y;\n      brainRotVel.multiplyScalar(0.98); \n      const hue = (Date.now() * 0.0001) % 1;\n      brainModel.traverse((child) => { \n        if (child.isMesh) { \n          child.material.color.setHSL(hue, 0.7, 0.5); \n          child.material.emissive.setHSL(hue, 0.7, 0.5); \n        } \n      });\n    }\n\n    for (let i = 0; i < marbles.length; i++) {\n      const m1 = marbles[i];\n      for (let j = i + 1; j < marbles.length; j++) {\n        const m2 = marbles[j];\n        const dist = m1.pos.distanceTo(m2.pos);\n        const minDist = m1.radius + m2.radius;\n\n        if (dist < minDist) {\n          if (dist > 0) {\n            const dir = new THREE.Vector3().subVectors(m2.pos, m1.pos).normalize();\n            dir.z = 0;\n            const overlap = minDist - dist;\n            const totalMass = m1.mass + m2.mass;\n            const m1Ratio = m2.mass \/ totalMass;\n            const m2Ratio = m1.mass \/ totalMass;\n\n            m1.pos.add(dir.clone().multiplyScalar(-overlap * m1Ratio)); \n            m2.pos.add(dir.clone().multiplyScalar(overlap * m2Ratio));\n\n            const relativeVelocity = new THREE.Vector2().subVectors(m1.vel, m2.vel);\n            const dot = relativeVelocity.x * dir.x + relativeVelocity.y * dir.y;\n\n            if (dot > 0) {\n              const elasticity = 1.99; \n              const collisionImpulse = (elasticity * dot) \/ totalMass;\n              m1.vel.x -= collisionImpulse * m2.mass * dir.x;\n              m1.vel.y -= collisionImpulse * m2.mass * dir.y;\n              m2.vel.x += collisionImpulse * m1.mass * dir.x;\n              m2.vel.y += collisionImpulse * m1.mass * dir.y;\n              playCollisionSound(m1, m2, dot);\n            }\n          }\n        }\n      }\n      m1.update();\n    }\n    renderer.render(scene, camera);\n  }\n\n  animate();\n\n  window.addEventListener('resize', () => {\n    const nA = window.innerWidth \/ window.innerHeight;\n    camera.left = -frustumSize * nA \/ 2; camera.right = frustumSize * nA \/ 2;\n    camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight);\n    bounds.x = (frustumSize * nA) \/ 2; bounds.y = frustumSize \/ 2;\n  });\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>LOSING MY MARBLES A sensory starfield experiment ENTER SYSTEM<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-5064","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Losing My Marbles - Mina Systems<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mina.systems\/ja\/losing-my-marbles\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Losing My Marbles - Mina Systems\" \/>\n<meta property=\"og:description\" content=\"LOSING MY MARBLES A sensory starfield experiment ENTER SYSTEM\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mina.systems\/ja\/losing-my-marbles\/\" \/>\n<meta property=\"og:site_name\" content=\"Mina Systems\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-11T03:59:42+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mina.systems\\\/losing-my-marbles\\\/\",\"url\":\"https:\\\/\\\/mina.systems\\\/losing-my-marbles\\\/\",\"name\":\"Losing My Marbles - Mina Systems\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mina.systems\\\/#website\"},\"datePublished\":\"2026-01-10T18:18:50+00:00\",\"dateModified\":\"2026-01-11T03:59:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mina.systems\\\/losing-my-marbles\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mina.systems\\\/losing-my-marbles\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mina.systems\\\/losing-my-marbles\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mina.systems\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Losing My Marbles\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mina.systems\\\/#website\",\"url\":\"https:\\\/\\\/mina.systems\\\/\",\"name\":\"Mina Systems\",\"description\":\"Artist\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mina.systems\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Losing My Marbles - Mina Systems","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mina.systems\/ja\/losing-my-marbles\/","og_locale":"ja_JP","og_type":"article","og_title":"Losing My Marbles - Mina Systems","og_description":"LOSING MY MARBLES A sensory starfield experiment ENTER SYSTEM","og_url":"https:\/\/mina.systems\/ja\/losing-my-marbles\/","og_site_name":"Mina Systems","article_modified_time":"2026-01-11T03:59:42+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"1\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mina.systems\/losing-my-marbles\/","url":"https:\/\/mina.systems\/losing-my-marbles\/","name":"Losing My Marbles - Mina Systems","isPartOf":{"@id":"https:\/\/mina.systems\/#website"},"datePublished":"2026-01-10T18:18:50+00:00","dateModified":"2026-01-11T03:59:42+00:00","breadcrumb":{"@id":"https:\/\/mina.systems\/losing-my-marbles\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mina.systems\/losing-my-marbles\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mina.systems\/losing-my-marbles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mina.systems\/"},{"@type":"ListItem","position":2,"name":"Losing My Marbles"}]},{"@type":"WebSite","@id":"https:\/\/mina.systems\/#website","url":"https:\/\/mina.systems\/","name":"Mina Systems","description":"Artist","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mina.systems\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/pages\/5064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/comments?post=5064"}],"version-history":[{"count":20,"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/pages\/5064\/revisions"}],"predecessor-version":[{"id":5240,"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/pages\/5064\/revisions\/5240"}],"wp:attachment":[{"href":"https:\/\/mina.systems\/ja\/wp-json\/wp\/v2\/media?parent=5064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}